Delphi-PRAXiS
Seite 5 von 7   « Erste     345 67      

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 21:25

Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
 
Flink studiert und gefunden, ist sehr sehr sehr sehr sehr.... weit weg,aber nette Stadt-Page.
Werde nun die Änderungsfunktion probieren. Habe nochmals recht vielen lieben Dank!!! :wink:

jeany06 20. Feb 2006 21:59

Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
 
Kleine Verständnisfrage, bei der Änderungsfunktion, lasse ich doch die Listbox nur nach einer selektierten Zeile suchen, die ich dann in das Editfeld legen lasse um Änderungen vornehmen zu lassen oder muss sie wieder komplett durchsucht werden?

leddl 20. Feb 2006 22:12

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

Zitat von jeany06
Kleine Verständnisfrage, bei der Änderungsfunktion, lasse ich doch die Listbox nur nach einer selektierten Zeile suchen, die ich dann in das Editfeld legen lasse um Änderungen vornehmen zu lassen oder muss sie wieder komplett durchsucht werden?

Hast du denn inzwischen MultiSelect deaktiviert? Dann kannst du direkt per ListBoxText.ItemIndex auf das markierte Item zugreifen (ListBoxText.Items[ListBoxText.ItemIndex]).
Sollte MultiSelect noch aktiviert sein, mußt du tatsächlich die Items in der ListBox durchgehen und mit ListBoxText.Selected[index] prüfen, ob das entsprechende Item ausgewählt ist. Allerdings dürfte für eine Änderungsfunktion wie du sie hast MultiSelect relativ unsinnig sein, da du ja nie wissen kannst, welches Element als letztes markiert wurde (und damit in deinen Editfeldern angezeigt wird)

Aber wie gesagt: Ich würde dir für die Darstellung sehr zur ListView raten, damit kannst du sehr einfach die einzelnen Datenkomponenten trennen (mußt also nicht diese Stringfrimeleien machen) und damit auch eine effektivere Suche (zB nach einzelnen Kriterien) realisieren.

jeany06 21. Feb 2006 20:27

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

also MultiSelected habe ich deaktiviert. Deinen Ratschlag bereits gestern umgesetzt. Über ListView konnte ich mich noch nicht schlau lesen, in der Schule hatte ich es nicht. Ist daher völlig neu, und das 'Stringfrimeleien' hat uns unsere Lehrerin beigebracht. Zudem habe ich diese göttliche Programmiersprache weder ordentlich beigebracht noch studiert, daher werden noch eine Lücken zu füllen sein. Werde mal sehen wei weit ich heute komme, evt. hast du mich dann morgen wieder an der Backe...sorry.... lg jeany

leddl 21. Feb 2006 20:36

Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
 
Kein Problem, stell deine Fragen, wenn du welche hast. Dafür is das Forum ja da. :lol:

jeany06 21. Feb 2006 22:16

Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
 
Also ich habe jetzt erstmal die procedure bereinigt, Schleife entfernt und nebenbei versucht ListView zu erlesen. Zudem deinen Befehl eingefügt und Programm ausgeführt : Button kann betätigt werden führt aber nicht den Effekt aus, dass die markierte Zeile im Editfeld landet. Muss ich etwas weiteres beachten?

leddl 21. Feb 2006 22:24

Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
 
Na gut, das mußt du natürlich selber erledigen. Woher sollen deine Editfelder denn wissen, daß sie gefüllt werden sollen, geschweige denn mit was. :zwinker:
Das war es, was ich mit "Stringfrimeleien" meinte, du mußt nämlich jetzt das markierte Element der ListBox auseinandernehmen und die Einzelteile in die entsprechenden Editfelder einfügen.
Dafür solltest du dir Delphi-Referenz durchsuchenPos, Delphi-Referenz durchsuchenCopy und evtl. Delphi-Referenz durchsuchenDelete genauer anschauen.

jeany06 21. Feb 2006 22:30

Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
 
Danke, das mit den Editfeldern ist mir bewusst, bin ja nicht ganz b...,
was ich gestern von dir gelernt hatte konnte ich heute gleich einem Mitschüler vermitteln, der hatte das gleiche Problem und ist nun glücklich....
Also, ich werde nun tüffteln.
Besten Dank :thumb:

jeany06 23. Feb 2006 16:23

Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
 
Hallo leddl, ich bin fast fertig. Bräuchte aber für eine Kleinigkeit deine Hilfe. Die Änderungsfunktion habe ich so abgeändert, dass wenn der Benutzer eine gewünschte Zeile in der ListBox anklickt, diese zurück in die obigen Editfelder gelegt wird. Dann können Änderungen vorgenommen werden. Wenn man danach den Änderungsbutton drückt gehen die Daten zurück in die Listbox. Jetzt meine Frage: beim zurückschreiben wird anstelle die markierte Zeile zu überschreiben eine neue eingefügt. Was müsste geändert werden, damit die geänderten Daten die alten überschreibt, sprich in der Zeile landet welche zuvor angeklicht wurde? Lg jeany

leddl 23. Feb 2006 16:27

Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
 
Na du darfst natürlich nicht den selben Button benutzen. ;) Denn hinter dem steht ja Code, der eben ein neues Element einfügt. Um ein vorhandenes zu aktualisieren, mußt du ihm einfach deinen String zuweisen.
Delphi-Quellcode:
ListBox1.Items[IrgendeinIndex] := IrgendeinString;


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:41 Uhr.
Seite 5 von 7   « Erste     345 67      

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