globale Variable in mehreren Formularen verwenden
lima-city → Forum → Programmiersprachen → Delphi & Pascal
aktualisiert setzen
angemeldeten bediener
anmelden
bediener
code
date
datei
deklaration
fehlen
fehlenden teile
folgenden quellcode
formular
global zugreifen
hilfe
implementation
kopfzeile
quellcode
sender
string
zweites fenster
-
Hallo,
ich komme grad nicht so richtig weiter, wie ich richtig eine globale Variable in mehreren Formularen übergebe.
Ich habe ein Formular, in dem ein Frame angezeigt wird. Der Frame ist also mein zweites Fenster, in dem ich arbeite.
Im Frame kann man sich anmelden und der Wert vom Kürzel soll an das Hauptformular übergeben werden, damit man sieht, wer sich angemeldet hat.
Habe also folgenden Quellcode:
public { Public-Deklarationen } Bediener : String; end; var F_Anmelden: TF_Anmelden; implementation uses Konfiguration, Unit1; {$R *.dfm} procedure TF_Anmelden.FormCreate(Sender: TObject); begin L_datum.Caption := DateToStr(date()); Timer1.Enabled := true; end; procedure TF_Anmelden.Timer1Timer(Sender: TObject); begin L_uhrzeit.Caption := TimeToStr(Time); Label2.Caption := Bediener; end; end.
(das mit Time ist einfach, mit einem Timer so geregelt, dass auf dem Formular auch die Uhrzeit angezeigt wird)
im Quellcode des Frames sieht es dann so aus:
public { Public-Deklarationen } Bediener : String; end; implementation {$R *.dfm} function Bediener_bestimmen(BedienerKRZ : String) : String; begin result := BedienerKRZ end; procedure TFrame_Anmelden.B_AnmeldenClick(Sender: TObject); var TempS : string; begin Table1.Open; TempS := Table1.FieldByName('Vorname').AsString; TempS := TempS + ' ' + Table1.FieldByName('Name').AsString; Label2.Caption := TempS; Bediener := Bediener_bestimmen(Table1.FieldByName('Kürzel').AsString); end; end.
Was genau mach ich hier falsch?
Label2 im Hauptformular müsste den angemeldeten Bediener ja erhalten und dann aktualisiert setzen.
Tut es aber nicht, wenn man sich anmeldet.
Freue mich über Hilfe :) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hm also irgendwie scheint da im zweiten Source was zu fehlen, denn ich sehe überhaupt nciht, wo da eine Table1 deklariert wird aber verwendet wird sie fleißig. Kannst du mal bitte die fehlenden Teile noch posten?
-
Wie wäre es denn, wenn du die Variable in einer Datei abspeicherst, dann kannst du auf sie Global zugreifen. Eventuell kannst du sie ja noch verschlüsseln
-
schreib eine neue UNIT z.B. "zentral", welche in der Kopfzeile von beiden Formularen eingetragen ist.
Deklariere in dieser Unit eine Variable, welche dann automatisch in beiden Formularen benutzt werden kann.
Unit zentral;
var zentral;
implementation
end;
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage