AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi ListBox Eingabe mit Bezug auf vorheriges ListBox
Thema durchsuchen
Ansicht
Themen-Optionen

ListBox Eingabe mit Bezug auf vorheriges ListBox

Ein Thema von Sanni13 · begonnen am 25. Dez 2015 · letzter Beitrag vom 30. Dez 2015
Antwort Antwort
Sanni13
(Gast)

n/a Beiträge
 
#1

AW: ListBox Eingabe mit Bezug auf vorheriges ListBox

  Alt 27. Dez 2015, 12:23
Vielen Dank für die Antworten!
Die Fehlermeldung out of bound konnte ich beheben =)

Leider kann ich in meinem Projekt die TreeView-Komponente nicht nutzen, wegen der späteren Verarbeitung. Deshalb benötige ich diese Listboxen. Mittlerweile sehe ich auch warum es nicht funktioniert, da ich die Abfrage auf das Ereignis onklick beziehe, wird immer die Abfrage gemacht, ich kann aber nicht die eingetragenen Werte auswählen. Gibt es dafür einen Befehl?

PS: Den Tipp mit dem Delphihelm ist gemerkt!
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

AW: ListBox Eingabe mit Bezug auf vorheriges ListBox

  Alt 27. Dez 2015, 13:15
Sorry, ich hab keinen blassen Schimmer, wovon du hier schreibst
  Mit Zitat antworten Zitat
Sanni13
(Gast)

n/a Beiträge
 
#3

AW: ListBox Eingabe mit Bezug auf vorheriges ListBox

  Alt 27. Dez 2015, 14:22
Naja sobald ich auf meine Listbox2 klicke, wird geschaut, was in der Listbox1 angeklickt wurde und dementsprechend in die Listbox2 die Auswahlmöglichkeiten geschrieben. Jetzt müsste ich diese anklicken können, das geht aber nicht, da es dann wieder die eben beschriebene Abfrage macht.

Habe aber eben die Lösung dafür gefunden, anstelle von dem Ereignis OnClick muss ich OnEnd nutzen. Jetzt läufts wie es soll

Vielen Dank für die Hilfe!
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#4

AW: ListBox Eingabe mit Bezug auf vorheriges ListBox

  Alt 27. Dez 2015, 14:47
TListBox.OnEnd ist mir noch nicht über den Weg gelaufen, ich kenne lediglich TListBox.OnEndDrag und TListBox.OnEndDock. Hat aber mit deinem Problem nichts zu tun.

Wieso reagierst du nicht einfach auf eine Änderung des Eingrags in Listbox1 mit dem Einlesen in Listbox2? Und um unnötiges Einlesen zu vermeiden (es gibt kein OnChange in TListBox, ein Klick muß nicht zangsläufig den ItemIndex ändern), fragst du vor dem Einlesen in Listbox2, also im OnClick von Listbox1 ab, ob sich der ItemIndex geändert hat:

Delphi-Quellcode:
...
Private
  Var
    Idx_ListBox1,
    Idx_ListBox2 : Integer;
...
Implementation

Procedure TForm1.ListBox1Click(Sender: TObject);
begin
  If ListBox1.ItemIndex = Idx_ListBox1 Then Exit;
  Idx_ListBox1 := ListBox1.ItemIndex;
  Einlesen_ListBox2;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: ListBox Eingabe mit Bezug auf vorheriges ListBox

  Alt 27. Dez 2015, 14:50
Ich würde beim Klicken in ListBox1 die Werte in der ListBox2 setzen, denn ab dem Zeitpunkt ist klar, was in ListBox2 stehen muss.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.432 Beiträge
 
Delphi 12 Athens
 
#6

AW: ListBox Eingabe mit Bezug auf vorheriges ListBox

  Alt 27. Dez 2015, 17:48
Moin...
Zitat:
Leider kann ich in meinem Projekt die TreeView-Komponente nicht nutzen, wegen der späteren Verarbeitung.
...das riecht ganz stark nach Datenhaltung in den Controls. Der Anzeige sollte es egal sein wie die Daten vorgehalten werden...und umgekehrt.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#7

AW: ListBox Eingabe mit Bezug auf vorheriges ListBox

  Alt 28. Dez 2015, 07:17
Meiner Ansicht nach lässt sich das Problem dadurch lösen, indem Listbox2 genau dann gefüllt wird, wenn ein Eintrag in Listbox1 ausgewählt wurde. Du kannst LB2 auch disabled, *bis* etwas in LB1 gewählt wurde usw.

Als Alternative zur Treeview würde ich statt Listboxen eventuell Comboboxen verwenden. Der imho einzige Grund, eine TV nicht zu verwenden, ist der Platzbedarf (so eine TV verbrät ja doch Platz im Formular). Und hier sind 2 Comboboxen einfach das kompakteste.

Ja ja, eine dropdown-TV-Combo wäre noch besser. Aber die gibt es in der VCLFMX-Welt ja nicht.
  Mit Zitat antworten Zitat
Sanni13
(Gast)

n/a Beiträge
 
#8

AW: ListBox Eingabe mit Bezug auf vorheriges ListBox

  Alt 30. Dez 2015, 15:11
Vielen Dank für die Antworten, ihr habt mir echt weitergeholfen =)
Rutscht gut ins neue Jahr!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.874 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: ListBox Eingabe mit Bezug auf vorheriges ListBox

  Alt 30. Dez 2015, 15:14
Ja ja, eine dropdown-TV-Combo wäre noch besser. Aber die gibt es in der VCLFMX-Welt ja nicht.
Wenn man sich 3rd-Party-Kompos nicht verschliesst, schon.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 18:11 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