Seite 1 von 1
Globale Variabeln im Makro
Verfasst: Fr, 05.06.2015 11:30
von sschultewolter
Hallo,
ich habe ein paar Parameter, die bei mir einmal eingestellt werden müssen. Die möchte ich aber ungern im nachfolgenden Code machen. Sondern das ganze global in die ersten Zeilen schreiben.
Wie mache ich das am besten? Es wird ein Int-Wert sowie 3 Strings benötigt.
Code: Alles auswählen
Public maxSizeList = 200
Public pathRoot = "A:/"
Public pathDocuments = "/"
Public pathVnc = "/xy/test.vnc"
Sub func1
// ruft einmalig func2 und func3 auf
func2
func3
End Sub
Sub func2
// mach was
End Sub
Sub func3
// mach was anderes
End Sub
Re: Globale Variabeln im Makro
Verfasst: Fr, 05.06.2015 15:31
von komma4
Na... so, wie du es machst
F1 Hilfe zu PUBLIC hat geschrieben:Dimensioniert eine Variable oder ein Array auf Modulebene (also nicht innerhalb eine Subroutine oder Funktion), sodass die Variable bzw. das Array in allen Bibliotheken und Modulen gültig ist.
Ich denke aber, Du willst eher eine Konstante
CONST definieren.
Re: Globale Variabeln im Makro
Verfasst: Fr, 05.06.2015 16:00
von sschultewolter
Ja komma4,
es soll sowas wie const rauskommen.
Habe mit der Makro Programmierung sonst nichts am hut. In C hätte ich da nun einfach const int, .. oder #defines genutzt.
Re: Globale Variabeln im Makro
Verfasst: Fr, 05.06.2015 16:08
von sschultewolter
Hab das ganze nun so ersteinmal gelöst. Bei CONST meckert er nicht

Danke
Code: Alles auswählen
' Parameter, nur Änderungen hier vornehmen
CONST maxSizeList = 200 ' Anzahl Datensätze die geladen werden sollen
CONST pathRoot = "X:/" ' Pfad der Datensätze (Windows: "X:/" Linux: "file:///mnt/Kunden/)
CONST pathDocuments = "/" ' Pfad Dokumente
CONST pathVnc = "/5.IT/bhkw.vnc" ' Pfad VNC-Verknüpfung
SUB formLoaded
' Nur zur Laufzeit, nicht im Desginer
if not thiscomponent.currentcontroller.isFormDesignMode then
oForm = thisComponent.drawpage.forms.MainForm
oForm.fetchSize = maxSizeList
end if
' Einmalig ausführen beim Laden der Maske
openDir
openVnc
END SUB
' Öffnet den Dokumenten Ordner
SUB openDir
oDoc = thisComponent
oDrawpage = oDoc.drawpage
oForm = oDrawpage.forms.getByName("MainForm")
oFeld1 = oForm.getByName("fmtID") ' Anlagen ID auslesen
stText = oFeld1.Text
stURL = pathRoot & stText & pathDocuments
oFeld2 = oForm.getByName("Unterlagen")
oFeld2.TargetURL = stURL
END SUB
' Startet VNC-Verknüpfung
SUB openVnc
oDoc = thisComponent
oDrawpage = oDoc.drawpage
oForm = oDrawpage.forms.getByName("MainForm")
oFeld1 = oForm.getByName("fmtID") ' Anlagen ID auslesen
stText = oFeld1.Text
stURL = pathRoot & stText & pathVnc
oFeld2 = oForm.getByName("VNC")
oFeld2.TargetURL = stURL
END SUB