Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Globale Variable in Schleife (https://www.delphipraxis.net/179802-globale-variable-schleife.html)

Horst0815 2. Apr 2014 20:19

Delphi-Version: XE

Globale Variable in Schleife
 
Ich übersetze grad einen sehr umfangreichen C-Code der Globale Variablen verwendet die unter anderen auch in Schleifen vorkommen und verändert werden. Das funktioniert in Delphi nicht. was kann ich tun ? Eine Lokale Variable erstellen und immer wieder nach Veränderung in die Globale kopieren? oder gibt es vielleicht einen Compiler-Switch der mir weiter hilft?

Sir Rufo 2. Apr 2014 20:30

AW: Globale Variable in Schleife
 
Und warum nicht gleich richtig und auf globale Variablen verzichten? :gruebel:

Horst0815 2. Apr 2014 20:38

AW: Globale Variable in Schleife
 
26907 Zeilen Code in 121 Dateien, wollte den Aufwand so gering wie möglich halten

p80286 2. Apr 2014 20:51

AW: Globale Variable in Schleife
 
wenn es so aussieht
Delphi-Quellcode:
...
for i:=1 to i+x do
...
for i:=i to i+y do
..
würde ich das so abändern
Delphi-Quellcode:
procedure aa(var gv:integer,..);
var
  i : integer;
begin
  for i:=gv to gv+x do ...
  gv:=gv+x;
end;

procedure bb(var gv:integer,..);
var
  i : integer;
begin
  for i:=gv to gv+x do ...
  gv:=gv+x;
end;


...
aa(i,..);
bb(i,..);
...
Unter Umständen wären Funktionen übersichtlicher...

Zitat:

Zitat von Horst0815 (Beitrag 1254476)
26907 Zeilen Code in 121 Dateien, wollte den Aufwand so gering wie möglich halten

Dann nutz
Delphi-Quellcode:
 repeat..until
oder
Delphi-Quellcode:
while
.
Ist aber nur ein Notnagel.

Gruß
K-H

Horst0815 2. Apr 2014 20:59

AW: Globale Variable in Schleife
 
dann muss es wohl sein, hatte auf nen Compiler Schalter gehofft. Danke trotzdem

Dejan Vu 3. Apr 2014 07:28

AW: Globale Variable in Schleife
 
Das ist -genau genommen- keine for-Schleife. In C sind diese for-Konstrukte einfach nur Makros für eine While-Schleife. Also:
Delphi-Quellcode:
//For (A; B; C)
// { 
//   D;
// }
// ist identisch mit
A;
While B do begin
  D;
  C;
End;
Imho ist das kein Notnagel. Du kannst aus einem For-C (:stupid:) nur manchmal eine schicke Delphi-For-Schleife machen (wenn nämlich eine lokale Variable verwendet wird).

himitsu 3. Apr 2014 07:38

AW: Globale Variable in Schleife
 
Zitat:

Zitat von Dejan Vu (Beitrag 1254510)
(wenn nämlich eine lokale Variable verwendet wird).

Und das C ein C+1 ist.
Und sich natürlich A, B und C auf die eine selbe Variable beziehen.

Dejan Vu 3. Apr 2014 07:45

AW: Globale Variable in Schleife
 
Zitat:

Zitat von himitsu (Beitrag 1254511)
Zitat:

Zitat von Dejan Vu (Beitrag 1254510)
(wenn nämlich eine lokale Variable verwendet wird).

Und das C ein C+1 ist.

:thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:11 Uhr.

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