Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Variable beim Programmstart definieren (https://www.delphipraxis.net/16735-variable-beim-programmstart-definieren.html)

herges 22. Feb 2004 16:54


Variable beim Programmstart definieren
 
Hallo ihr Hilfreichen Geister,
ich hab in meinem Programm folgende Zeile:
Delphi-Quellcode:
if (Richtung<>1) and (Richtung<>3) and (Richtung<>4) and (Richtung<>2) and (Richtung<>6) then
Ich hab diesen Scheißdreck, weil die Variable beim Programmstart ja nicht definiert ist.
Und mit dem kann ich nichts anfagen.
Die Variable wird direkt danach gesetzt, außer eine der Bedingungen trifft zu, dann wird die bestehende Variable einmal übernommen und bei dem nächsten Schleifendurchlauf erst wieder gesetzt.

Ich fage mich ob man die Variable irgendwo beim Programmstart setzen kann, z.B. auf 0.
Die Frage ist nur WO?

Danke im Vorraus
herges

Matze 22. Feb 2004 16:56

Re: Variable beim Programmstart definieren
 
Delphi-Quellcode:
var
  Form1: TForm1;
  Richtung: integer = 2;

implementation

{$R *.dfm}
NAchtrag: oder halt im OnCreate der Form.

Synonym 22. Feb 2004 16:57

Re: Variable beim Programmstart definieren
 
du kannst alle globalen variablen direkt bei der initialisierung durch z.B.

Delphi-Quellcode:
var
str : string = 'test';
i : intger = 0;
setzen

Synonym 22. Feb 2004 16:58

Re: Variable beim Programmstart definieren
 
da war wohl jemand schneller

Sharky 22. Feb 2004 17:01

Re: Variable beim Programmstart definieren
 
Hai herges,

ich schreibe mit für solche Sachen immer eine Procedure.

Delphi-Quellcode:
procedure TMyForm.VarInit;
begin
 var1 := 1;
 var2 := 'Hallo';
 .
 .
end;
In dem Form.Create Ereigniss rufe ich dann als erstes diese Procedure auf.

Synonym 22. Feb 2004 17:42

Re: Variable beim Programmstart definieren
 
aber wieso? du musst die variablen doch sowieso global deklarieren, wieso dann den umweg über die procedure?


synonym

Sharky 22. Feb 2004 17:45

Re: Variable beim Programmstart definieren
 
Zitat:

Zitat von Synonym
aber wieso?...

Weil ich, wenn es für das Programm notwendig ist, mit einem einzigen Aufruf alle Variablen auf die "Startwerte" setzen kann ohne das Programm neu zu starten.

Zugegeben; es ist am anfang etwas mehr tipparbeit. Aber später kann es sich gelohnt haben.

Zitat:

Zitat von Synonym
...du musst die variablen doch sowieso global deklarieren,..

Warum das denn? Ich habe in meinem Programmen so wenig globale Variablen wie möglich.

herges 23. Feb 2004 08:35

Re: Variable beim Programmstart definieren
 
Danke, werde ich gleich mal ausprobieren.

schwa226 11. Mär 2011 08:56

AW: Variable beim Programmstart definieren
 
Geht das für lokale Vars auch irgendwie?
Oder muss ich in der Prozedur dann erst den Wert zuweisen?

Bei C/C++ geht das ja recht einfach...

himitsu 11. Mär 2011 09:28

AW: Variable beim Programmstart definieren
 
Nein, für Lokal gibt es keine "vordefinierten Variablen".

Viele lokale Variablen werden nichtmal initialisiert. (Globale sind standardmäßig immer 0/nil)

PS: Es gibt auch noch den initialization-Abschnitt der Units, wo man Dinge initialisieren könnte ... wer hätt's gedacht :stupid:

PPS:
Zitat:

Delphi-Quellcode:
if (Richtung<>1) and (Richtung<>3) and (Richtung<>4) and (Richtung<>2) and (Richtung<>6) then

Delphi-Quellcode:
if ((Richtung < 1) or (Richtung > 4)) and (Richtung<>6) then
// oder
if not (Richtung in [1, 3, 4, 2, 6]) then
// oder einfach nur
if Richtung = 0 then


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:08 Uhr.
Seite 1 von 2  1 2      

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