Das vorgestellte Projekt demonstriert den Einsatz der Klasse Application (gb) und verwendet fast alle Eigenschaften – bis auf Application.Daemon und die beiden Spezial-Event-Handler – in unterschiedlichen Zusammenhängen.
Abbildung 20.11.1.1: GUI für das Demonstrationsprogramm 'DApplication'
Keine Überraschungen birgt der Quelltext, in dem relevante Abschnitte rot hervorgehoben sind:
[1] ' Gambas class file [2] [3] Public Sub Form_Open() [4] FMain.Center [5] FMain.Resizable = False [6] FMain.Title = "Einsatz der Klasse Application (gb)" [7] Application.Priority = 10 [8] End ' Form_Open() [9] [10] Public Sub btnShowInformationsApplication_Click() [11] Dim vValue As Variant [12] Dim cInformations As New Collection [13] [14] cInformations["PID = "] = Application.Id [15] cInformations["Start-Klasse = "] = Application.Startup.Name [16] cInformations["Titel = "] = Application.Title [17] cInformations["Projekt-Pfad = "] = Application.Path [18] cInformations["Verzeichnis = "] = Application.Dir [19] cInformations["Version = "] = Application.Version [20] cInformations["Priorität [-20 (max) ... +19 (min)] = "] = Application.Priority [21] cInformations["Argumente (Anzahl) = "] = Application.Args.Count [22] [23] txaOutput.Clear [24] txaOutput.Insert(gb.NewLine) [25] ' Ausgabe Informationen [26] For Each vValue In cInformations [27] txaOutput.Insert(cInformations.Key & cInformations[cInformations.Key] & gb.NewLine) [28] Next ' vValue [29] [30] End ' btnShowInformationsApplication_Click() [31] [32] Public Sub btnShowInformationsEnviroment_Click() [33] Dim vEnvName As Variant [34] Dim i As Integer = 1 [35] [36] txaOutput.Clear [37] txaOutput.Insert(gb.NewLine) [38] ' Ausgabe Umgebungsvariablen [39] txaOutput.Insert("Es existieren " & Application.Env.Count & " Umgebungsvariablen.") [40] txaOutput.Insert(gb.NewLine & gb.NewLine) [41] For Each vEnvName In Application.Env [42] txaOutput.Insert(Str(i) & ": " & vEnvName & " = " & Application.Env[vEnvName] & gb.NewLine) [43] Inc i [44] Next ' vEnvName [45] [46] End ' btnShowInformationsEnviroment_Click() [47] [48] Public Sub btnEnvRead_Click() [49] Dim sCurrentDesktop As String [50] [51] txaOutput.Clear [52] txaOutput.Insert(gb.NewLine) [53] sCurrentDesktop = Application.Env["XDG_CURRENT_DESKTOP"] [54] txaOutput.Insert("sCurrentDesktop = Application.Env[\"XDG_CURRENT_DESKTOP\"]") [55] txaOutput.Insert(gb.NewLine & gb.NewLine) [56] txaOutput.Insert("Aktueller Desktop: " & sCurrentDesktop) [57] [58] End ' btnEnvRead_Click() [59] [60] Public Sub btnEnvWrite_Click() [61] [62] Application.Env["GB_JIT"] = "y" [63] [64] txaOutput.Clear [65] txaOutput.Insert(gb.NewLine) [66] txaOutput.Insert("Die Umgebungsvariable \"GB_JIT\" wurde mit ") [67] txaOutput.Insert("Application.Env[\"GB_JIT\"] = \"y\"" & " auf den Wert '") [68] txaOutput.Insert(Application.Env["GB_JIT"] & "' gesetzt!") [69] [70] End ' btnEnvWrite_Click()
Wenn Sie die Umgebungsvariable GB_JIT gesetzt haben (Button rechts unten) und sich dann erneut die Übersicht der Umgebungsvariablen ausgeben lassen, so finden Sie als letzten Eintrag in der Liste zum Beispiel: 40: GB_JIT = y.