Gelöst: Formulartitel in Formulareigenschaften speichren ?

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

WSO
*****
Beiträge: 233
Registriert: Di, 22.04.2014 13:03

Gelöst: Formulartitel in Formulareigenschaften speichren ?

Beitrag von WSO »

Hallo Zusammen,
in meiner Datenbank erfordert die hohe Anzahl der Formulare eine Orientierungshilfe für den Anwender.
Hierzu wird jedem Formular ein Titel "verpasst".
Den Formulartitel als Bezeichnungsfeld in die Forms einzutragen habe ich verworfen (verschwendet zu viel Platz auf den Formularen).
Da ich keine Möglichkeit gefunden habe, den Formulartitel über die IDE einzugeben, sind diese in einer Tabelle unter dem Formularnamen abgelegt und werden bei Formularaufruf eingetragen.

Code: Alles auswählen

ThisComponent.CurrentController.Frame.Title = stFormulartitel
Ich möchte aber gerne die daraus resultierenden Datenbankzugriffe bei jedem Formularaufruf vermeiden.

Kennt jemand einen Weg, den Formulartitel in den Formulareigenschaften zu speichern ?

Alternativ müsste ich die Zuordnung über ein als Global definiertes Array vornehmen, was auch nicht optimal ist.
Gruss,
WSO
Zuletzt geändert von WSO am Mo, 18.08.2014 14:46, insgesamt 1-mal geändert.
Benutzeravatar
Rasakul
**
Beiträge: 32
Registriert: Di, 29.07.2014 15:26
Wohnort: Wien

Re: Formulartitel in Formulareigenschaften speichren ?

Beitrag von Rasakul »

Hallo!

Du könntest den Formulartitel in einem Tag ("Zusatzinformation") z.B. in der Überschrift hinterlegen und so dann benutzen:

Code: Alles auswählen

    oElem = ThisComponent.DrawPage.Forms.getByName(Formname).getByName(Element)
    ThisComponent.CurrentController.Frame.Title = oElem.Tag
 
LG
Rasakul

PS: wenn du in jedem Formular z.B. eine Überschrift hast und diese mit z.B. "Head" betitelst, kannst du das ganze dann zentral in nur einem Makro lösen
Wenn du dir die Anwender deiner Programme als Idioten vorstellst, werden auch nur Idioten deine Programme verwenden - Linus Torvalds
WSO
*****
Beiträge: 233
Registriert: Di, 22.04.2014 13:03

Re: Formulartitel in Formulareigenschaften speichren ?

Beitrag von WSO »

Hi Rasakul,
das ist ein guter workaround.
Danke für den Tip.
Gruss,
WSO
WSO
*****
Beiträge: 233
Registriert: Di, 22.04.2014 13:03

Re: Formulartitel in Formulareigenschaften speichren ?

Beitrag von WSO »

Funktioniert super,
habe mir nur den Formularnamen im zentralen Makro "Formular_oeffnen" als Global gemerkt und lese die Formularnamen beim Formularereignis "beim Laden" aus einem in allen Formularen gleich benannten Texfeld mit Standardinhalt=Formulartitel aus.
Formularaufruf:

Code: Alles auswählen

oFormDocs = ThisDatabaseDocument.FormDocuments.getByName(iForm).open
	If glbExpertenmodus = FALSE THEN
			oForm = oFormDocs.Drawpage.Forms.getByName(iForm)
			oFeld=oForm.getByName("Head")
			glbFormularname = oFeld.getCurrentValue()
	END IF
Beim Laden jedes Formulars:

Code: Alles auswählen

Sub Formulartitel 
	If glbExpertenmodus = FALSE THEN
		ThisComponent.CurrentController.Frame.Title =  "Systembezeichnug  -  "  & Formularname
	END IF
End SUB
Gruss,
WSO
Karolus
********
Beiträge: 7533
Registriert: Mo, 02.01.2006 19:48

Re: Gelöst: Formulartitel in Formulareigenschaften speichren

Beitrag von Karolus »

Hallo
Untersuche mal mit Xray oder Mri dein Formularereignis "beim laden" - das heisst binde das Ereignis an so etwas wie:

Code: Alles auswählen

sub eventinspector( event )
     xray event
     ' oder
     'mri( event )
end sub
daraus ergeben sich manchmal ungeahnte Möglichkeiten, für die eigenen Routinen.
siehe:
http://www.libreoffice-forum.de/viewtop ... t=0#p30235

Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Antworten