Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Variablen in Prozeduren (https://www.delphipraxis.net/31225-variablen-prozeduren.html)

LoL 6. Okt 2004 10:16


Variablen in Prozeduren
 
Hallo zusammen

Variablen die in eriner Prozedure deklariert sind werden und dann zb. geändert werden, sind beim nächsten aufruf der prozedur ja wieder weg. Aber kann ich diese auch irgendwie speichern oder muss ich die Variable dann Global machen?

alcaeus 6. Okt 2004 10:19

Re: Variablen in Prozeduren
 
Hi LOL,

du hast drei möglichkeiten:
1. globale Variablen
2. Variablenparameter
3. Rückgabewert der Funktion (aber nur evtl.)
Falls du aber globale Variablen brauchst, dann stimmt an deinem Programmkonzept was nicht. Membervariablen in der Formklasse sind ok, aber globale Variablen :-?

Greetz
alcaeus

LoL 6. Okt 2004 10:23

Re: Variablen in Prozeduren
 
Beispiel:

Delphi-Quellcode:
procedure bla;
var i : byte;
begin
  inc(i);
end;
Nehmen wir an i würde in der procedure einmal irgendwo auf 0 initialisiert so ist i immer wieder 1. ich will das der wert aber gespeichert wird.

Treffnix 6. Okt 2004 10:28

Re: Variablen in Prozeduren
 
dann solltest du wirklich mit einem Objekt arbeiten und dort i z.B. als private variable deklarieren.

LoL 6. Okt 2004 10:30

Re: Variablen in Prozeduren
 
also lässt sich in der procedure selbst nichts daran drehen das zu speichern?

toms 6. Okt 2004 10:44

Re: Variablen in Prozeduren
 
Hi,

Wenn du auf globale Variabeln verzichtest möchtest, könntest du auch Zuweisbare typisierte Konstanten
nehmen.

Bsp: Bei jedem klick auf den Button wird x um 1 erhöht.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
 {$j+}
const
  x : Integer = 0;
 {$j-}
begin
  Caption := Inttostr(x);
  Inc(x);
end;

Bem: Diese Option dient der Abwärtskompatibilität zu Delphi 1.0.

| Die Direktive $J legt fest, ob typisierte Konstanten geändert werden
| können. Im Status {$J+} ist diese Änderung möglich. Typisierte
| Konstanten sind in diesem Fall mit initialisierten Variablen
| vergleichbar. Im Status {$J-} sind typisierte Konstanten tatsächlich
| konstant. Jeder Versuch, sie zu ändern, führt zu einer Fehlermeldung
| durch den Compiler. In früheren Versionen von Delphi und Borland
| Pascal konnten typisierte Konstanten immer geändert werden (wie im
| Status {$J+}). Deshalb muß älterer Quelltext, der änderbare
| typisierte Konstanten enthält, im Status {$J+} compiliert
| werden. Bei neuen Anwendungen sollten Sie aber initialisierte
| Variablen und den Status {$J-} verwenden.

LoL 6. Okt 2004 11:00

Re: Variablen in Prozeduren
 
ok danke so werde ichs machen :hello:


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz