kostenloser Webspace werbefrei: lima-city


globale Variable in mehreren Formularen verwenden

lima-cityForumProgrammiersprachenDelphi & Pascal

  1. Autor dieses Themas

    karikato

    Kostenloser Webspace von karikato

    karikato hat kostenlosen Webspace.

    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 :)
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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?
  4. 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
  5. 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;
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!