Online
Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.058 Beiträge
Delphi 12 Athens
|
Re: Freeware - Hilfsprogramm "Schleifentest"
7. Mai 2010, 17:13
Delphi-Quellcode:
Procedure TForm1.FormCreate(Sender: TObject);
Var i: Integer;
Begin
For i in TStepper.Create(1, 20, 3) do
Memo1.Lines.Add(IntToStr(i));
End;
1 4 7 10 13 16 19
Ich weiß jetzt nur nicht genau ab welcher Delphiversion Enumeratoren eingeführt wurden.
Delphi-Quellcode:
Type TStepper = Class
Private
FIndex: Integer;
FStep: Integer;
FMax: Integer;
Public
Constructor Create(Min, Max, Step: Integer);
Function GetEnumerator: TStepper;
Function MoveNext: Boolean;
Function GetCurrent: Integer;
Property Current: Integer Read GetCurrent;
End;
Function TStepper.GetEnumerator: TStepper;
Begin
Result := Self;
End;
Constructor TStepper.Create(Min, Max, Step: Integer);
Begin
FIndex := Min - Step;
FStep := Step;
FMax := Max;
End;
Function TStepper.MoveNext: Boolean;
Begin
Inc(FIndex, FStep);
Result := FIndex <= FMax;
End;
Function TStepper.GetCurrent: Integer;
Begin
Result := FIndex;
End;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
|