Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi While-Schleife für Auswahl (https://www.delphipraxis.net/65063-while-schleife-fuer-auswahl.html)

arest 11. Mär 2006 19:27


While-Schleife für Auswahl
 
Sers ihr da draussen und so,

ich hab n kleines Problem. Ich hab n Prog geschrieben, was soweit gut funktioniert. Derzeit wähle ich in einem Listview meine Einträge mit einer "for-Schleife" aus, das sieht wie folgt aus:

Delphi-Quellcode:
lauf:=anfang;
for i:=0 to Listview1.ItemIndex do
begin
   lauf:=lauf.nachfolger;
end;
Soweit so gut, wenn ich jetzt aber über ein Edit nach Einträgen suche, kommt es zu dem Problem, dass er zwar nur noch die gewünschten Einträge anzeigt, aber wenn ich einen Eintrag auswähle und ihn dann editieren möchte, dann kommt es zu dem Problem, dass er einen falschen Eintrag nimmt, da der lauf (bei mir heisst er so) eine andere Stelle auswählt, als die, die im Listview angezeigt wird. Siehe dazu das Bild:
Hier klicken!
Ich habe mich deswegen entschieden das ganze über eine While-Schleife zu lösen. Das sieht für eine ListBOX wie folgt aus:

Delphi-Quellcode:
while (lauf.Daten.n+', '+lauf.Daten.v <> listbox1.Items.Strings[listbox1.ItemIndex]) and
      (lauf.Daten.v+', '+lauf.Daten.n <> Listbox1.Items.Strings[listbox1.ItemIndex]) do
begin
   lauf:=lauf.Nachfolger;
end;
Ich weiss, dass es mit dieser While-Schleife funktioniert, aber wenn ich dies nun auf einen ListVIEW anwenden will, weiss ich nicht genau wie es geht.....

Any help?

arest 11. Mär 2006 20:12

Re: While-Schleife für Auswahl
 
wo sind die ganzen profi's, die schon 13000 beiträge haben, aber hierzu nichts wissen? :D

Sharky 11. Mär 2006 20:15

Re: While-Schleife für Auswahl
 
Hai arest,

abgesehen davon das es Samstag abend ist und nicht jeder auf deine Frage wartet....

In der Delphi-PRAXiS sind "pushings" in weniger als 24 Stunden nicht erwünscht.
Danke.

marabu 12. Mär 2006 07:18

Re: While-Schleife für Auswahl
 
Hallo arest,

auf dem Bild sehe ich keine ListView und in deinem gezeigten Code wird dein Problem nicht deutlich. Also muss ich raten: Du verwaltest deine Daten in einer verketteten Liste und greifst über die Position auf deren Einträge zu. Nach dem Filtern verwendest du die Position des Treffers für den Zugriff auf die ungefilterte Liste, was natürlich nicht funktionieren kann. Für den Zugriff musst du ein eindeutiges Merkmal verwenden. Eine fortlaufend vergebene Nummer, die sich nie ändert, wäre so ein Merkmal. Du musst diese Nummer nicht im Grid anzeigen, da sie ja nur für die Zugriffe gebraucht wird.

Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:18 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