![]() |
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: |
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?
|
Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
Zitat:
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. |
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 |
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:
|
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?
|
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 ![]() ![]() ![]() |
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: |
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
|
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;
|
Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
Verstehe nicht ganz,ich fordere den Benutzer auf per Klick auf eine Zeile in der Listbox für das Ändern zu markieren. Ist das passiert, wird über die procedure Listbox, die Zeile in die Editfelder gelegt. Dann wird vom Benutzer geändert und erst dann wird der Button Ändern benutzt. Der die Zeile dann in die Listbox zurück führt. Jedoch als neue Zeile und nicht die alte markierte überschreibt.
|
Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
Moin, nur ein kleiner ergänzender Tipp, mhr verrate ich nicht, denn man lernt am besten durch Herumprobieren. :stupid:
Du fügst ja per Items.Add beim Ändern ein Item hinzu, das darfst du natürlich dann nicht machen, da du keinen neuen Eintrag hinzufügen, sondern einen bestehenden ändern möchtest. Merke dir den ItemIndex (evtl. ändert er sich auch nicht) und überschreibe diesen beim Ändern wieder, wie es Axel geschrieben hat:
Delphi-Quellcode:
ListBox.Items[IndexVar] := 'Geänderter Text';
|
Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
So die Herren, Programm ist fertig. :dance: + :party: Ging aber einfacher, ohne eure Vorschläge über das Löschen der markierten Zeile nach Einlagerung in die Editfelder.
Möchte mich jetzt nochmals recht herzlich bei euch bedanken. Macht weiter so!!!! :thumb: Lg jeany Bye :hi: |
Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
:lol: Das ist aber mit Kanonen auf Spatzen geschossen. ;) Stell dir vor, der User markiert nur eine Zeile, um sich den Inhalt anzuschauen und beschließt danach, einen neuen Eintrag hinzuzufügen. Er ändert also die Daten entsprechend und will sie hinzuügen und *schwuppdi* ist der alte Eintrag weg. Und so viel komplizierter ist der Weg über einen 2. Button auch nicht. ;)
|
Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
Ok, du hast gewonnen. Nicht überlegt, aber nach deiner Schilderung und erfolgter Probe logisch und einsichtlich. Bin aber mit meinem 'Delphi-Latein' echt am Ende. Zudem ist ja jeztt auch durch die OnKlick-Eigenschaft ein Hindernis für das Löschen einer Zeile aufgetreten, weil jetzt springen ja alle Elemente in die Editfelder sobald nur eine Zeile in der Listbox markiert ist.
Da war wohl die Freude ein wenig zu früh, ärgerlich.... nun gut, gebe nicht auf!!! |
Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
Zitat:
|
Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
Mir fehlt echt das Verständnis, weil, vielleicht beschreibe ich es auch zu blöd...
Ich habe die Listbox auf OnClick gestellt, beim anklicken gehen alle Elemente aus der Zeile in die oberen Editfelder, dann kann der User ändern, ohne bis hierher einen Button gedrückt zu haben. Erst wenn er alle Korrekturen vorgenommen hat drückt er den Button um die Elemente der Zeile zurück in die Listbox zu bringen. Was soll der zweite Button nun????? :wall: Daher dachte ich und es klappte ja auch, dass im gleichen Atemzug wo der Button gedrückt wird die alte markierte Zeile gelöscht wird. Deshalb 'am Ende'. |
Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
Aber der User soll doch gleichzeitig auch die Möglichkeit haben, neue Elemente hinzuzufügen, oder? Daher mußt du eben beide Fälle (markiertes Element ändern, neues Element hinzufügen) gesondert betrachten.
Wenn du jetzt also einfach in deinem OnClick das Löschen des markierten Elements auschaltest, sollte doch alles funktionieren. Ein Klick auf ein Item -> Editfelder werden gefüllt Klick auf Ändern -> Übernahme der Daten in das markierte ListBox-Item Klick auf Hinzufügen -> Neues Element mit den Daten aus den Editfeldern. Das Problem beim Arbeiten mit nur einem Button für Ändern/Hinzufügen besteht darin, daß du ja eigentlich nur über ein markiertes Item erkennst, ob geändert oder hinzugefügt werden soll. Aber wer sagt denn, daß ein User nicht ein Element markiert hat, aber trotzdem ein neues hinzufügen will? :zwinker: Sollte ich dein Programm falsch verstanden haben, korrigiere mich, aber so wie ich es gesehen habe, soll das ganze so eine Art Adressverwaltung sein, oder? Daher braucht der User eben beide Funktionalitäten. Wenn du eine einfachere Lösung findest, die auch narrensicher ist, verrate es mir, das könnte ich auch immer gut gebrauchen :mrgreen: |
Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
Aber der Hinzufügen-Button existiert und funktioniert allein sowie im Programm. Der Änderungsbutton, räumt doch auch gleich, wenn die Zeile zurück aus den Editfeldern in die Listbox geht die Editfelder, so dass der Benutzer dann sofort wieder neue Daten eingeben kann, also hinzufügt. Der einzige Nachteil ist, das blöde onklick der Listbox, weil so keine separate Zeile mehr gelöscht werden kann, da bei jedem klick, die Zeile in die Editfelder nach oben wandert, ohne die Möglichkeit einer sinnlichen Betrachtung.
Und dich zu toppen ist schier unmöglich!!!!! Glaube solch geniales Meisterstück gelingt mir nicht.... |
Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
Zitat:
Zitat:
|
Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
DU BIST GENIAL !!!!!!!!!
Die Lösung war so EASY!!!!!!!! Ich setze die Listbox auf Doppelklick, damit kann ich zuvor einzelne Zeilen per OneKlick löschen. Klar, den Benutzer werde ich noch per Caption warnen, aber so ist es jetzt echt schick und super toll!!!!! Könnte vor Freude in die Luft springen!!!!!!!! DDDDDDDDDDDDDDDDDAAAAAAAAAAAAAAAAAAAAAANNNNNNNNNNN NNNNNNNNNNNNNNKKKKKKKKKKKKKKKKKKKKKEEEEEEEEEEEEEEE EEEE :-D |
Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
Dir ist aber schon klar, daß du so, wie du es jetzt beschrieben hast, wieder vor einem Problem stehen wirst? ;)
Aber vielleicht hast du dich ja nur verschrieben. Deeeeenn: Bei jedem Doppelklick wird auch automatisch das onClick-Ereignis ausgelöst. ;) Das heißt für dich: Wenn du weiterhin im onClick die Items löschst, bist du genauso schlau wie zuvor :zwinker: |
Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
Diess Mal nicht. Denn der User bekommt per Label die Aufforderung zum Ändern beschrieben, d. h. 'zum ändern entsprechende Zeile per Doppelklick markieren', dann läuft erst die Listboxprocedure, der Transport der markieten Zeile in die Editfelder. Benutzer ändert, drückt dann den Button ändern, alte Zeile wird gelöscht neue Zeile springt in die Listbox, Editfelder werden zugleich geräumt und Daten werden im Verzeichnis gespeichert. Jetzt kann Benutzer sofort wieder Daten hinzufügen oder per OneKlick, ebenso per Label erklärt, eine Zeile löschen ohne das die Listboxprocedure anspringt und die Zeile in die Editfelder bringt. Daher TOLL bleibt, und dickes dickes Danke und hoffentlich kein ABER mehr, ich bin so froh fertig zu sein. Alle Ehre für deine Geduld und Hilfeleistungen. :dancer:
lg jeany |
Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
Um deine Erklärung zusammenzufassen (ich habs nich so recht verstanden):
Bei einem einfachen Klick löschst du eine Zeile, bei einem Doppelklick gibst du dem User die Möglichkeit, die Zeile zu ändern? :gruebel: |
Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
LANGSAM:
Die Listbox wird geladen per Button. Dann kann, wenn der Benutzer mag eine Zeile per Klick markieren, drückt Button 'Zeile löschen' = Zeile gelöscht. Will Benutzer Daten ändern, dann soll Benutzer einen Doppelklick auf die entsprechende Zeile ausführen, Elemente springen in dei Editfelder, er ändert, drückt Button 'Einträge ändern', Zeile springt zurück in LIstbox, Editfelder werden gelöscht, neues Verzeichnis wird gespeichert. Möchte Benutzer weitere Daten in das Verzeichnis bringen, füllt er die Eidtfelder oben aus, drückt dann Button 'HInzufügen' und Elemente springen in die Liste, Editfelder leeren sich. Alles prima!!! Eins wäre noch, wenn bei der Suchfunktion das Element was eingegeben wurde nicht in der Listbox ist, werde ich noch per ShowMessage oder auf einem Label ausgeben lassen, Element im Verzeichnis nicht vorhanden. So hoffe alle Unklarheiten beseitigt zu haben. Bin manchmal echt ein Chaot, sorry für dies.... lg jeany |
Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
Zitat:
Zitat:
|
Re: In einer ListBox einen Eintrag suchen bzw. Eintrag änder
Mir fehlen die Worte um auszudrücken, wie glücklich ich gerade bin! Sofort umgesetzt, funktioniert. HAPPY hoch 10. .... gibt nicht mal Smileys welche gerade platzen, daher :firejump:
Einfach supi, irre...... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:34 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