Delphi-PRAXiS
Seite 1 von 7  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   In einer ListBox einen Eintrag suchen bzw. Eintrag ändern (https://www.delphipraxis.net/63563-einer-listbox-einen-eintrag-suchen-bzw-eintrag-aendern.html)

jeany06 20. Feb 2006 16:35


In einer ListBox einen Eintrag suchen bzw. Eintrag ändern
 
Hallo,
wir haben ein riesiges Problem, d. h. wir sollen in der Schule ein Televonverzeichnis erstellen, mit diversen Funktionen, uns fehlen nun noch zwei, speziell


das Suchen eines Eintrages in der Listbox,

dies sollte so sein, das nach Eingabe des Suchbegriffs in einem Editfeld dieser mit der Listbox verglichen wird und anschließend, bei gefunden, in der Listbox markiert wird

und


das Ändern eines bereits vorhandenen Eintrages,

ähnlich wie oben, d.h. nur hier soll ein Eintrag in der Listbox vom Benutzer markieret werden, welcher dann in einem Editfeld ausgegeben wird um diesen zu ändern, anschließend wieder abgespeichert und in die Listbox zurück.....

Wir sind Delphi-bezogen sehr unbefleckt, sitzen nun schon mehrere Wochen, Tage an dem Projekt und haben diverse Bücher gelesen, jedoch ohne Erfolg. Wenn es irgendjemanden da draußen gibt der uns diesbezüglich helfen kann BITTE BITTE BITTE meldet euch....

mfg jeany06

Ps: Alles in Delphi6 Enterprise zu programmieren.
Besondere Probleme sind die ständigen Fehlermeldungen, das String und Integer nicht miteinander
funktionieren.

Matze 20. Feb 2006 16:39

Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
 
Hallo, herzlich willkommen!

Suchen kannst du einen Eintrag über Delphi-Referenz durchsuchenIndexOf:

Delphi-Quellcode:
Index := ListBox.IndexOf('Suchwort');
Einen Eintrag bekommst du do ein ein Edit:

Delphi-Quellcode:
Edit.Text := ListBox.Items[ListBox.ItemIndex];
Und das Zurückschreiben geht dementsprechend so:


Delphi-Quellcode:
ListBox.Items[ListBox.ItemIndex] := Edit.Text;

Alles ungetestet.

jeany06 20. Feb 2006 16:46

Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
 
Hallo Matze,
sehr nett von dir, dass du so schnell geantwortet hast. Jedoch, wie haben wir das mit IndexOf zu verstehen? Uns fehlen jegliche Grundkenntnisse, wir wurden in das kalte Wasser geschmissen und sollen nun lernen zu überleben...

jeany06 20. Feb 2006 16:52

Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
 
Noch eine weitere Frage: Die Suchworteingabe erfolgt in einem Editfeld vom Benutzer, die Listbox wird per Schleife durchlaufen, können doch dann schlecht ('Suchwort') eingeben, es müsste doch eigentlich das Editfeld angesprochen werden, sprich ein Vergleich (Eingabe Editfeld und ListBox) stattfinden????

leddl 20. Feb 2006 16:56

Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
 
Zitat:

Zitat von jeany06
Hallo Matze,
sehr nett von dir, dass du so schnell geantwortet hast. Jedoch, wie haben wir das mit IndexOf zu verstehen? Uns fehlen jegliche Grundkenntnisse, wir wurden in das kalte Wasser geschmissen und sollen nun lernen zu überleben...

Na übersetz doch IndexOf mal ins Deutsche. :stupid: Dan wird schnell klar, daß dir dadurch der Index des übergebenen Strings in der ListBox zurückgegeben wird. Ist der String nicht gefunden worden, bekommst du als Rückgabewert -1.
Desweiteren kannst du dir genauere Informationen dazu auch aus der Delphi-Referenz durchsuchenOnlinehilfe von Delphi holen. Einfach "IndexOf" tippen, F1 drücken und lesen. ;)

//Edit: :shock: Huch, wo kommt das denn her? :lol:
Zitat:

Zitat von jeany06
Noch eine weitere Frage: Die Suchworteingabe erfolgt in einem Editfeld vom Benutzer, die Listbox wird per Schleife durchlaufen, können doch dann schlecht ('Suchwort') eingeben, es müsste doch eigentlich das Editfeld angesprochen werden, sprich ein Vergleich (Eingabe Editfeld und ListBox) stattfinden????

Na dann setz doch einfach das ein, was da rein soll :lol:

Matze 20. Feb 2006 16:56

Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
 
Also, das ist so:

Delphi-Referenz durchsuchenIndexOf liefert dir den Index des ListBoxeintrages mit der Übereinstimmung des Suchtextes. Beachte, dass der erste Eintrag den Index 0 besitzt.

Natürlich sollst du das nicht hardcoden, sondern beispielsweise so lösen:

Delphi-Quellcode:
MyIndex := ListBox.IndexOf(Edit.Text);
Wenn sich das Suchwort in einem Edit befindet.

Du kannst den Eintrag auch direkt markieren lassen:

Delphi-Quellcode:
ListBox1.ItemIndex := ListBox.IndexOf(Edit.Text);


Ich würde dir empfehlen, ein paar Einsteigertutorials auf www.dsdt.info durchzuarbeiten.

jeany06 20. Feb 2006 17:06

Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
 
Hallo leddl, danke für die Erläuterung. Klappt aber trotzdem nicht, IndexOf wird nicht erkannt (Undefinierter Bezeichner). Sorry, dass wir uns so blöd :wall: anstellen ist halt nicht einfach für uns....

Hallo Matze, danke dir ebenso. Werden den Link berücksichtigen... klappt aber wie gesagt nicht...

Matze 20. Feb 2006 17:12

Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
 
Hi, sorry, hatte mich vertan. Es muss

Delphi-Quellcode:
ListBox.Items.IndexOf
lauten, steht aber alles in der OH.

jeany06 20. Feb 2006 17:17

Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
 
Echt lieb von dir, was ist OH?

DP-Maintenance 20. Feb 2006 17:21

DP-Maintenance
 
Dieses Thema wurde von "Daniel" von "Projekte" nach "VCL / WinForms / Controls" verschoben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:57 Uhr.
Seite 1 von 7  1 23     Letzte »    

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