AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Erzeugen von Namens-Wertepaaren in Listbox

Ein Thema von Christian123 · begonnen am 13. Jan 2005 · letzter Beitrag vom 13. Jan 2005
Antwort Antwort
Christian123

Registriert seit: 13. Jan 2005
18 Beiträge
 
#1

Erzeugen von Namens-Wertepaaren in Listbox

  Alt 13. Jan 2005, 13:52
Hallo!
Ich habe ein kleines aber feines Problem, bei dem die Hilfe in Delphi 7 leider nicht weiterhilft.
Folgendes soll realisiert werden:
Beispiel:

Sichtbarer Eintrag in der Liste z. B. "Meier"
Daraus ergibt sich für den Ersten Eintrag der Index 0.
Jetzt möchte ich aber für den 1. Eintrag eine Value Eigenschaft hinterlegen, so dass nach Klick auf die Listbox z.B. der Beruf aus der Value Eigenschaft ausgelesen wird, z.B. "Programmierer".

Das Eintragen von Werten in eine Listbox ist nicht das Problem, sondern die Frage, wie ich den "maskierten" Wert "Programmierer" wieder auslesen kann. Wie erzeuge ich also das Wertepaar "Meier / Programmierer" und lese es über die Eigenschaften wieder aus(wahrscheinlich irgendwie mit TStrings).
Die Methoden wie Klick auf Listbox und evtl. Messageboxen für die Ausgabe von Daten sind hier nicht(!!) von Interesse, sondern wirklich, wahrscheinlich die 2-3 Zeilen, wie man für diese Fragestellung vorghehen muss.

NameValueSeparator war ein Hinweis in der Hilfe, der mich aber auch nicht weiter brachte.
Vielen Dank für die Hilfe!!!!!!
  Mit Zitat antworten Zitat
Benutzerbild von BluesKid
BluesKid

Registriert seit: 2. Sep 2003
Ort: NRW
133 Beiträge
 
Delphi 2005 Professional
 
#2

Re: Erzeugen von Namens-Wertepaaren in Listbox

  Alt 13. Jan 2005, 14:21
Moin moin

Mal angenommen, dass du die Werte in die Listbox selber einfügst:

Erstelle dir eine Variable vom Typ TStringList.

Delphi-Quellcode:
...
var verborgenenText : TStringList;
.
.
  verborgenenerText := TStringList.create;
Beim Hinzufügen von Einträgen in die Listbox, (z.B. Meier) fügst du dann einfach den "verborgenen Text" (in diesem Fall dann wohl "Programmierer") an deine StringList an.

Somit haben dann alle Einträge in der Listbox, den selben Index wie die Einträge in der StringList.

Sprich über:

  verborgenerText.items[listbox1.itemindex] erhälst du den "verborgenen text" zu dem Eintrag der Listbox.



schönen Gruß
Sam

[edit] Herzlich Willkommen in der Delphi-Praxis [/edit]
A clear conscience is usually the sign of a bad memory.
  Mit Zitat antworten Zitat
Christian123

Registriert seit: 13. Jan 2005
18 Beiträge
 
#3

Re: Erzeugen von Namens-Wertepaaren in Listbox

  Alt 13. Jan 2005, 14:36
Danke für die Antwort.

Aber was ich möchte ist, dass ich die Listbox auf Sorted stelle um mir eine Sortierung der Einträge von Hand zu sparen.
Deine Lösung ist einfach wie einleuchtend, aber dann würden die Indizes nicht mehr übereinstimmen.
Deswegen schwebt mir irgendwas wie:

Listbox.Items[listbox.itemindex].Value := "Programmierer";
Listbox.Items[listbox1.itemindex] ="Meier";

vor.

Dieser Code ist natürlich falsch, soll aber in etwa andeuten,wohin die Reise gehen soll..
  Mit Zitat antworten Zitat
Benutzerbild von BluesKid
BluesKid

Registriert seit: 2. Sep 2003
Ort: NRW
133 Beiträge
 
Delphi 2005 Professional
 
#4

Re: Erzeugen von Namens-Wertepaaren in Listbox

  Alt 13. Jan 2005, 14:54
ahso

Wenn du in der Variable "verborgenerText" (s.o.) den Text in der Form

"Meier=Programmierer" anfügst, (ohne Gänsefüsschen) kannst du über

  verborgenerText.items.values['Meier'] an den Text "Programmierer" kommen.


Also so in der Form:

  verborgenerText.items.values[listbox1.items[listbox1.itemindex]]

nich getestet



schönen Gruß
Sam

Nachtrag:

Das funktioniert dann aber imho nur noch für eindeutige Werte in der Listbox. Alternativ kannst du dann ja auch die StrinList sortieren lassen und wie oben beschrieben mithilfe des itemindex sowie Delphi-Referenz durchsuchencopy() und Delphi-Referenz durchsuchenpos() "von Hand" and den Text hinter dem "=" kommen.
A clear conscience is usually the sign of a bad memory.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Erzeugen von Namens-Wertepaaren in Listbox

  Alt 13. Jan 2005, 18:38
Hai Christian123,

das würde ich mit einem Object lösen. Das ist die sauberste Methode. Im Anhang mal ein Demo.
Angehängte Dateien
Dateityp: zip listbox_519.zip (6,4 KB, 15x aufgerufen)
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  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 22:40 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