Autor Beitrag
Nilsener
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26


D4
BeitragVerfasst: Do 18.09.03 10:48 
Hallo,

wie definiert man statische Variablen innerhalb einer function ?
Die Werte der Variablen sollen nach verlassen der function erhalten bleiben und beim erneuten functionaufruf wieder verfügbar sein, statisch eben.

Dank für Eure Hilfe, Gruss Nils
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 18.09.03 11:56 
Hallo und herzlich Willkommen im Forum!

Die Variablen innerhalb einer Funktion sind danach wieder verschwunden. Variablen, welche Du weiterhin verwenden willst, musst Du global (also außerhalb der Funktion) definieren.

MfG
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Do 18.09.03 12:33 
Nilsener hat folgendes geschrieben:
Die Werte der Variablen sollen nach verlassen der function erhalten bleiben und beim erneuten functionaufruf wieder verfügbar sein, statisch eben.

Bis Delphi 5 (einschl.) kann man das so machen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
function IncrementValue: Integer;
const
  MyStaticVar: Integer = 0;
begin
  Inc(MyStaticVar);
  Result := MyStaticVar;
end;

ShowMessage(IntToStr(IncrementValue)); // 1
ShowMessage(IntToStr(IncrementValue)); // 2
ShowMessage(IntToStr(IncrementValue)); // 3


Ab Delphi 6 muss dazu ein Compiler-Schalter umgelegt werden:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
{$IFDEF MSWINDOWS} // Delphi 6+
 {$WRITEABLECONST ON}
{$ENDIF}
{$IFDEF LINUX} // Delphi 6+ und Kylix 1+
 {$WRITEABLECONST ON}
{$ENDIF}

_________________
Ist Zeit wirklich Geld?
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 18.09.03 13:19 
Variable Konstanten, man lernt doch nie aus ...

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Do 18.09.03 14:31 
Das waren die vorgänger von "Vorinitialisierten Variablen" ala
ausblenden Delphi-Quelltext
1:
2:
3:
4:
var x: Integer = 10;
begin
  ShowMessage(IntToStr(x)); // 10
end;

_________________
Ist Zeit wirklich Geld?
Nilsener Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26


D4
BeitragVerfasst: Mo 22.09.03 15:39 
Titel: Danke, problem gelöst.
Danke Jungs für Eure Hilfe, ich verwende das Beispiel von AndyB und es funktioniert prima.
Gruss Nils