Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi mehrere variablen gleichzeitig initialisieren (https://www.delphipraxis.net/143273-mehrere-variablen-gleichzeitig-initialisieren.html)

rob60 12. Nov 2009 20:21


mehrere variablen gleichzeitig initialisieren
 
hi weiss jamand von euch wie ich mehrere Variablen gleichzeitig initialisieren kann?

zb

variable1,variable2,variable3,variable4 := 0;

aber das funzt nicht.

muss ich wirklich

variable1 := 0;
variable2 := 0;
variable3 := 0;
variable4 := 0;

oder geht das ringer?

rollstuhlfahrer 12. Nov 2009 20:27

Re: mehrere variablen gleichzeitig initialisieren
 
HI,

nein, du kannst nicht mehr als 1 Variable gleichzeitig beschreiben. Dies geht auch nicht, wenn du globale Variablen initialisierst. Da gibts auch keinen Umweg/Ausweg außer du machst dir ne Funktion, welche dann etwa so aussieht:

Delphi-Quellcode:
Procedure Init(Vars: array of var);
var i: Integer;
begin
  for I := Low(Vars) to High(Vars) do
    Pointer(Vars[i]) := 0;
end;
Ob das aber geht, oder wie es geht, wirst du uns dann mitteilen dürfen.

Bernhard

himitsu 12. Nov 2009 20:41

Re: mehrere variablen gleichzeitig initialisieren
 
wenn diese Variablen in einem gemeinsamen Speicherbereich (z.B. in einem Array oder Record gekapselt),
dann ginge es schon

ZeroMemory, FillChar oder was einem sonst noch Beliebt.

rollstuhlfahrer 12. Nov 2009 20:45

Re: mehrere variablen gleichzeitig initialisieren
 
das mit dem gemeinsamen Speicherbereich hatte ich auch im Kopf, aber das ist so unwahrscheinlich, dass mehr als 2 Variablen direkt hintereinander im Speicher liegen. Wie sieht das mit meiner Prozedur aus? Hab grad kein Delphi zur Hand

Bernhard

himitsu 12. Nov 2009 20:54

Re: mehrere variablen gleichzeitig initialisieren
 
Zitat:

Zitat von rollstuhlfahrer
aber das ist so unwahrscheinlich, dass mehr als 2 Variablen direkt hintereinander im Speicher liegen.

Falls Delphi nicht sogar ein/zwei Variablen wegoptimiert, da sie nie lange benötigt werden und daher nur mal kurz in den Registern existieren.

rob60 12. Nov 2009 21:31

Re: mehrere variablen gleichzeitig initialisieren
 
danke für die superschnelle Antwort der code von rollstuhlfahrer code funktioniert leider nicht.

hab in etwas umgebaut, funzt auch bis auf : pointer(s) := 0; setzt s=''
ich würde aber gerne den variablenname der in der variable s (string) steht auf 0 setzen.

ps :var geht nicht und :vars auchnicht. :pale:

Neutral General 12. Nov 2009 21:47

Re: mehrere variablen gleichzeitig initialisieren
 
Zitat:

Zitat von rob60
ich würde aber gerne den variablenname der in der variable s (string) steht auf 0 setzen.

ps :var geht nicht und :vars auchnicht. :pale:

Das geht nicht.

himitsu 12. Nov 2009 21:51

Re: mehrere variablen gleichzeitig initialisieren
 
Man kann höchstens einige Eiganarten von Delphi ausnutzen, also wenn die Variablen "zufällig" an einer passenden Position liegen.
http://www.delphipraxis.net/internal...063919#1063919

mkinzler 13. Nov 2009 06:41

Re: mehrere variablen gleichzeitig initialisieren
 
Obwohl, die Benutzeung von Implemnetierungsdetails gefährlich sein kann, wie man bei der Unicode-Umstellung bei D2009 gesehen hat.

himitsu 13. Nov 2009 07:30

Re: mehrere variablen gleichzeitig initialisieren
 
Wenn man sowas ordentlich genutzt hat, dann gab es keine Probleme.
Also, wenn man kein String/Char/PChar/PString mit AnsiString/AnsiChar/PAnsiChar/PAnsiString vermischt hatte.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:49 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