Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - sowas wie static
Janus - Sa 08.03.03 19:32
Titel: sowas wie static
Hallo zusammen, gibt es Delphi sowas wie statische Variablendeklarationen ?
Eine lokale Variable, die jedoch beim Verlassen des aktuelle Scope nicht zerstört wird...
Bsp: c - code
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| int inc(void){ static int i = 0; return i++; }
int a = inc(); // a ist jetzt 0 a = inc(); // a ist jetzt 1 a = inc(); // a ist jetzt 2 a = inc(); // a ist jetzt 3
usw... |
Gruss Janus
Moderiert von
Klabautermann: Code-Tags hizugefügt.
MSCH - Sa 08.03.03 19:37
Titel: logisch
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| program test;
var I: Integer; // Globale Variable
procedure Blub; var I:Integer; // lokale Variable begin I:=9; end;
procedure Blab; begin I:=8; end;
end. |
Grüße
MSCH
toms - Sa 08.03.03 19:38
Mit der $J+ Direktive (Siehe OH) geht's:
Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Timer1Timer(Sender: TObject); const {$J+} Test : Integer = 7; {$J-} begin Inc(Test); Caption := Inttostr(Test) end; |
Moderiert von
Klabautermann: Code-Tags hinzugefügt.
AndyB - Sa 08.03.03 19:46
Frägt sich nur, wie lange es noch mit {$J+}...{$J-} geht.
Andreas Pfau - Do 13.03.03 22:26
Ich kenne mich damit nicht aus, daher: Wozu konstanten, die variabel sind? Etwa, um sie z uinitialisieren? Das kann man auch mit 'ner Variable, wenn sie keiner Klasse angehört. Oder welchen Hintergrund hat das?
AndyB - Fr 14.03.03 01:02
| Andreas Pfau hat folgendes geschrieben: |
| Das kann man auch mit 'ner Variable |
Aber erst ab Delphi 6.
var MyVar: Integer = 10;musste man in den Vorgängerversionen so schreiben.
Quelltext
1:
| const MyVar: Integer = 10; |
Andreas Pfau - Fr 14.03.03 13:56
Ah... so ist das.
dann würde ich 'ne bedingte Kompilierung vorschlagen: Bis D5 mit const, ab D6 mit var.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!