Das hier
Delphi-Quellcode:
...
I := 0;
while I <= WC.ControlCount - 1 do
begin
SC := WC.Controls[I];
if SC is TWinControl then
begin
SWC := (SC as TWinControl);
SubOdInfo(SWC, ExcludeWC, CtrlOd, Deep); // hier rekursiver Aufruf
end;
Inc(I);
end;
geht auch so:
Delphi-Quellcode:
for i=0 to WC.ControlCount -1 do
if WC.Controls[I] is TWinControl then
SubOdInfo(TWinControl(WC.Controls[I]), ExcludeWC, CtrlOd, Deep);
Und dieser Code hier:
Delphi-Quellcode:
var
I, I2, I3, I4: Integer;
npw: String;
begin
I4 := 0; //zum Test
repeat
I4 := I4 + 1;
npw := IntToStr(I4); //als Ersatz
If I4 = 11 then
begin
I3 := I3+1 ;
I4 := 1 ;
end;
If I3 = 27 then
begin
I2 := I2+1;
I3 := 1;
end;
If I2 = 11 then
begin
I := I+1;
I2 := 1;
end;
//showmessage (npw);
until I = 27;
showmessage ('Ende');
end;
Lässt sich doch einfach so schreiben:
Delphi-Quellcode:
var
I, I2, I3, I4: Integer;
npw: String;
begin
for i4 := 1 to 10 do
begin
npw := IntToStr(I4); //als Ersatz
for i3 := 1 to 26 do
for i2 := 1 to 10 do
begin
I := I + 1;
if i = 27 then
goto DasEnde;
end
end;
DasEnde:
showmessage ('Ende');
end;
Aber Sinn ergibt das nicht, vor allen Dingen nicht die innerste Schleife. Ich glaube, hier sind einfach 4 verschachtelte For-Schleifen erwünscht
Delphi-Quellcode:
var
I, I2, I3, I4: Integer;
npw: String;
begin
for i4 := 1 to 10 do
begin
npw := IntToStr(I4); //als Ersatz
for i3 := 1 to 26 do
for i2 := 1 to 10 do
for i:=1 to 26 do
begin
// Hier sollte etwas mit i,i2,i3 und i4 passieren
end;
end;
showmessage ('Ende');
end;