Einzelnen Beitrag anzeigen

Benutzerbild von cruiser
cruiser

Registriert seit: 23. Dez 2003
Ort: Königsbrück/Sachsen
455 Beiträge
 
Delphi 7 Enterprise
 
#23

Re: FOR-Schleifen-Start während Durchlauf +1 zählen

  Alt 19. Apr 2007, 17: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
  Mit Zitat antworten Zitat