![]() |
Liste abarbeiten
hi @ all
ich habe in einer listbox ungefäir 20 verschiedene einträge drinne und möchte das wenn ich auf weiter klicke immer der jeweils näste eintrag in ein edit feld geschrieben wird . könnte mir jemand sagen wie ich das möglich machen kann? ( sorry ich weiß das das ne dumme frage ist bin halt noch ein anfänger ) |
Re: Liste abarbeiten
Du machst dir einfach eine Zählvariable und wenn du auf "Weiter" klickst wir diese um 1 erhöht falls der neue Wert nicht über der Anzahl der Einträge in der Listbox ist. Dann brauchst du nur noch das Element mit dem Index der Zählvariable ins Edit schreiben...
|
Re: Liste abarbeiten
kannste mir bitte nen beispiel machen ( bin total neu :-D )
|
Re: Liste abarbeiten
hi,
Delphi-Quellcode:
habs nicht getestet, sollte aber laufen
if (listbox1.itemindex <> -1) and (listbox1.itemindex < listbox1.items.count) then
edit1.text := listbox1.items.strings[listbox1.itemindex+1] else edit1.text := ''; gruss urbanbruhin |
Re: Liste abarbeiten
danke erstma .
ich habe das teil nu mit ner Listbox ausgestattet und meine daten darin aufgelistet dann hab ich deinen code in die onKlick funktion von einem button integriert dat funst aber net |
Re: Liste abarbeiten
Zitat:
|
Re: Liste abarbeiten
Das was urbanbruhin geschrieben hat könnte dein Problem vielleicht etwas einfacher lösen: Er lässt das makierte Elemet anzeigen.
Wobei Zitat:
So wie du es beschrieben hast könnte man es vielleicht so umsetzen:
Delphi-Quellcode:
Das sollte so funktionieren wie du willst... Außerdem kannst du mittels GibAus auch beliebig weit vor oder zurückspringen.
...
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; P.S.: ... ungetestet ... |
Re: Liste abarbeiten
ich hab jetzt mein code noch etwas geändert, so funktionierts:
Delphi-Quellcode:
if (listbox1.itemindex <> -1) and (listbox1.itemindex < listbox1.items.count) then
begin listbox1.ItemIndex := listbox1.itemindex+1; edit1.text := listbox1.items.strings[listbox1.itemindex] ; end else edit1.text := ''; Zitat:
|
Re: Liste abarbeiten
Und wenn sie leer ist krachts:
Delphi-Quellcode:
if ((Zaehler + Sprung) < ListBox.Count) and ((Zaehler + Sprung) > -1) then
|
Re: Liste abarbeiten
so alles hinbekommen danke
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz