Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Listbox Auslesen und Verarbeiten (https://www.delphipraxis.net/126557-listbox-auslesen-und-verarbeiten.html)

Tobiax 28. Dez 2008 09:25


Listbox Auslesen und Verarbeiten
 
Hi also ich hab ein kleines Problem und komm ich nicht weiter. Ich habe 2 Listboxen die 1. stehen namen drin die variieren so jetzt so zu mein Problem.
Ich möchte alle namen aus der Listbox1 testen ob sie in einer datei sind und wenn sie drin sind dann sollen sie in der listbox2 ausgegeben werden.
Also ich denke da an eine Schleife oder ähnliches das 2. Problem ich möchte gern das zwischen jeder abfrage 5-8 sek zeit dazwischen ist. Wie kann ich sowas
realisieren? Und wenn ich es mit einem timer machen würde woher würde ich wissen welcher item index schon geprüft wurde und wann es keine items mehr gibt?



mfg TobiaX

Klaus01 28. Dez 2008 09:33

Re: Listbox Auslesen und Verarbeiten
 
Guten Morgen,

Zitat:

Zitat von Tobiax
Hi also ich hab ein kleines Problem und komm ich nicht weiter. Ich habe 2 Listboxen die 1. stehen namen drin die variieren so jetzt so zu mein Problem.
Ich möchte alle namen aus der Listbox1 testen ob sie in einer datei sind und wenn sie drin sind dann sollen sie in der listbox2 ausgegeben werden.

lade Dir doch die Datei in eine StringList.
Dann kannst Du nun die Items der ListBox mit den Einträgen der StringList vergleichen,
sind sie identisch fügst Du den Namen in die Listbox2 ein.

Zitat:

Zitat von Tobiax
Also ich denke da an eine Schleife oder ähnliches das 2. Problem ich möchte gern das zwischen jeder abfrage 5-8 sek zeit dazwischen ist. Wie kann ich sowas
realisieren? Und wenn ich es mit einem timer machen würde woher würde ich wissen welcher item index schon geprüft wurde und wann es keine items mehr gibt?

Ich denke, Timer ist schon der richtige Ansatz.
Um doppelte Einträge zu verhindern, kannst Du ja den gefundenen Namen aus der Listbox1 entfernen.
Oder du schaust nach ob der Name in der Listbox2 schon existiert.

Grüße
Klaus

mkinzler 28. Dez 2008 09:35

Re: Listbox Auslesen und Verarbeiten
 
Ich würde die Datei zuerst in eine Stringliste einlesen. Dann könnte man mit Hilfe von IndexOf schnell feststellen ob der Eintrag (bei vollständiger Übereinstimmung) vorhanden ist. Die Verzögerung könnte man mit Hilfe von Delay()Delay() bewerkstelligen

Teekeks 28. Dez 2008 09:42

Re: Listbox Auslesen und Verarbeiten
 
Hi!
Ich bin jetz zwar nicht alzu erfaren aber ich versuchs mal:
Delphi-Quellcode:
procerure TFormx.irgentwas;
var F:TextFile; //ich geh jetzt einfach davon aus das die "Datei" eine Textdatei ist
    line:string;
    i:integer;
begin
  AssignFile(F,{path});
  Reset(F);
  while not EOF(F) do
  begin
    readln(F,Line);
    For i:=1 to legth(ListBox1) do
    begin
      if ListBox1.items[i]=line then
       Listbox2.items.add(line);
    end;
  end;
  closefile(F);
end;
und die verzögerung machst du am besten durch
Delphi-Quellcode:
delay({time});
oder so...
gruß Teekeks
Edit: Closefile hinzugefügt

mkinzler 28. Dez 2008 09:47

Re: Listbox Auslesen und Verarbeiten
 
Es wäre besser, wie schon geschrieben die Datei zuerst in den Speicher zu laden ( Stringliste) und dann in dieser zu suchen.

Tobiax 28. Dez 2008 10:56

Re: Listbox Auslesen und Verarbeiten
 
Hi danke für die Tipps ,hab es soweit hinbekommen nur noch eine Frage wie kann ich denn letzten eintrag einer Listbox löschen?


mfg TobiaX

DeddyH 28. Dez 2008 11:05

Re: Listbox Auslesen und Verarbeiten
 
Delphi-Quellcode:
ListBox.Items.Delete(Pred(ListBox.Items.Count));


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz