Das was urbanbruhin geschrieben hat könnte dein Problem vielleicht etwas einfacher lösen: Er lässt das makierte Elemet anzeigen.
Wobei
Zitat:
and (listbox1.itemindex < listbox1.items.count)
hätte man doch auch weglassen können, oder?
So wie du es beschrieben hast könnte man es vielleicht so umsetzen:
Delphi-Quellcode:
...
type
TForm1 = class(TForm)
ListBox: TListBox;
ButtonWeiter: TButton;
Edit: TEdit;
procedure FormCreate(Sender: TObject);
procedure ButtonWeiterClick(Sender: TObject);
private
{ Private-Deklarationen }
Zaehler: Integer;
procedure GibAus(Sprung: Integer);
public
{ Public-Deklarationen }
end;
...
procedure TForm1.GibAus(Sprung: Integer);
begin
if ((Zaehler + Sprung) < ListBox.Count) and ((Zaehler + Sprung) > -1) then
begin
Zaehler := Zaehler + Sprung;
Edit.Text := ListBox.Items[Zaehler];
end
else
beep;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Zaehler := 0;
end;
procedure TForm1.ButtonWeiterClick(Sender: TObject);
begin
GibAus(1);
end;
Das sollte so funktionieren wie du willst... Außerdem kannst du mittels GibAus auch beliebig weit vor oder zurückspringen.
P.S.: ... ungetestet ...