Registriert seit: 23. Dez 2003
Ort: Königsbrück/Sachsen
455 Beiträge
Delphi 7 Enterprise
|
Re: FOR-Schleifen-Start während Durchlauf +1 zählen
19. Apr 2007, 18:22
Wie wäre folgendes:
Delphi-Quellcode:
type
TLoopProc = procedure(const counter: Int64);
{ ... }
procedure ForDo(const start, stop, step: Int64; LoopProc: TLoopProc);
var
counter: Int64;
begin
counter := start;
if start <= stop then while counter <= stop do begin
LoopProc(counter);
counter := counter + step;
end else while stop <= counter do begin
LoopProc(counter);
counter := counter - step;
end;
end;
Beispiel:
Delphi-Quellcode:
procedure aLoop(const counter: Int64);
begin
Form1.lst1.Items.Add(IntToStr(counter));
end;
procedure TForm1.btn1Click(Sender: TObject);
begin
lst1.Items.Clear;
ForDo(
StrToInt64(edt1.Text),
StrToInt64(edt2.Text),
StrToInt64(edt3.Text),
aLoop
);
end;
zum rückwärtszählen dann einfach start grösser stop einstellen
|