AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls In einer ListBox einen Eintrag suchen bzw. Eintrag ändern
Thema durchsuchen
Ansicht
Themen-Optionen

In einer ListBox einen Eintrag suchen bzw. Eintrag ändern

Ein Thema von jeany06 · begonnen am 20. Feb 2006 · letzter Beitrag vom 23. Feb 2006
Antwort Antwort
Seite 6 von 7   « Erste     456 7      
jeany06

Registriert seit: 20. Feb 2006
34 Beiträge
 
Delphi 6 Enterprise
 
#51

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

  Alt 23. Feb 2006, 17:36
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.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#52

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

  Alt 23. Feb 2006, 17:37
Moin, nur ein kleiner ergänzender Tipp, mhr verrate ich nicht, denn man lernt am besten durch Herumprobieren.

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:

ListBox.Items[IndexVar] := 'Geänderter Text';
  Mit Zitat antworten Zitat
jeany06

Registriert seit: 20. Feb 2006
34 Beiträge
 
Delphi 6 Enterprise
 
#53

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

  Alt 23. Feb 2006, 19:03
So die Herren, Programm ist fertig. + 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!!!! Lg jeany
Bye
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#54

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

  Alt 23. Feb 2006, 19:09
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.
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
jeany06

Registriert seit: 20. Feb 2006
34 Beiträge
 
Delphi 6 Enterprise
 
#55

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

  Alt 23. Feb 2006, 19:18
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!!!
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#56

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

  Alt 23. Feb 2006, 19:23
Zitat von jeany06:
Bin aber mit meinem 'Delphi-Latein' echt am Ende.
Warum? Du mußt doch einfach nur einen 2. Button einfügen, der dann eben ein bereits vorhandenes Item updatet.
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
jeany06

Registriert seit: 20. Feb 2006
34 Beiträge
 
Delphi 6 Enterprise
 
#57

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

  Alt 23. Feb 2006, 19:39
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????? 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'.
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#58

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

  Alt 23. Feb 2006, 19:48
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?

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
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
jeany06

Registriert seit: 20. Feb 2006
34 Beiträge
 
Delphi 6 Enterprise
 
#59

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

  Alt 23. Feb 2006, 19:54
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....
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#60

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

  Alt 23. Feb 2006, 20:03
Zitat von jeany06:
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.
Du könntest natürlich auch über onDblClick (also bei einem Doppelklick) lösen. Allerdings finde ich es dem User ggü nicht richtig, schon alleine durch Klick oder Doppelklick ein Element zu löschen. Sowas passiert auch mal aus Versehen.
Zitat von jeany06:
Und dich zu toppen ist schier unmöglich!!!!! Glaube solch geniales Meisterstück gelingt mir nicht....
Glaub mir, so gut bin ich nun auch wieder nicht
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 6 von 7   « Erste     456 7      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:45 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