AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ComboBoxen Einträgen Daten zuweisen
Thema durchsuchen
Ansicht
Themen-Optionen

ComboBoxen Einträgen Daten zuweisen

Ein Thema von Jack23 · begonnen am 19. Okt 2007 · letzter Beitrag vom 19. Okt 2007
Antwort Antwort
Jack23

Registriert seit: 20. Sep 2007
215 Beiträge
 
#1

ComboBoxen Einträgen Daten zuweisen

  Alt 19. Okt 2007, 15:21
Datenbank: Access • Zugriff über: ADO
Hallo

ich mal wieder.

Muss ich wirklich für jede Frage ein eigenes Thema öffnen? Auch wenn es mit dem anderen zu tun hat?

Naja wenn es sein muss.

Also ich habe die Daten jetzt in drei ComboBoxen. Mit folgenden Code:

Delphi-Quellcode:
procedure TForm1.CB(Sender: TObject);
begin
ComboBox.Items.Clear;
ADOQuery.First;
while not ADOQuery.EOF do
  begin
    ComboBox.Items.Add(ADOQuery.FieldByName('Test').AsString);
    ADOQuery.Next;
  end;
end;
Das klappt auch wunder bar.

Wie gesagt habe ich jetzt drei Boxen können aber noch mehr werden.

Nun möchte das jedem Box Eintrag ein Wert zugewiesen wird.

Beispiel:

name|wert
Test1|2 B B, 54 Häuser mit Fenstern, 80 CD Rohlinge, 66M Kabel
Test2|....

Dabei sind die Werte durch ein Komma getrennt. Ich möchte wie gesagt später mal mit den Werten rechnen.

Wie bekomme ich das in der ComboBox zugewiesen?

Das der Name2 der ComboBox den wert1 hat u.s.w.

Damit ich später damit gut rechnen kann.
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#2

Re: ComboBoxen Einträgen Daten zuweisen

  Alt 19. Okt 2007, 15:37
dann würde ich "wert" in eine TStringList schreiben, deren Eigenschat Delimiter auf "," eingestellt ist.
Als Resultat hast du dann alle einzelnen Dinge in ein einzelnen Strings, die du über StringList[0] usw. abfragen kannst.
Und diese Einzelstrings kannst du ja dann in ComboBoxen packen.
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: ComboBoxen Einträgen Daten zuweisen

  Alt 19. Okt 2007, 15:39
Zitat von Jack23:
Dabei sind die Werte durch ein Komma getrennt.
Bist Du sicher, dass das so sinnvoll ist? Anscheinend ist Deine Datenbank nicht in der 3. Normalform, daher wirst Du wahrscheinlich irgendwann auf massive Probleme stoßen (kann aber auch sein, dass ich das mal wieder völlig falsch verstanden habe).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Jack23

Registriert seit: 20. Sep 2007
215 Beiträge
 
#4

Re: ComboBoxen Einträgen Daten zuweisen

  Alt 19. Okt 2007, 15:53
@Progman

Wie mache ich das ganz genau mit der Stringlist? Bin da schon mal dran gescheitert.

@Deddy

Ist kein Problem. Da das Komma für nichts anderes gebraucht wird.
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#5

Re: ComboBoxen Einträgen Daten zuweisen

  Alt 19. Okt 2007, 16:02
das sollte recht einfach sein:
Delphi-Quellcode:
//irgendwo am Anfang
  Liste:=TStringList.Create;

//dann das Feld "wert" in einen String (s) einlesen
//dann:
  Liste.Delimiter:=',';
  Liste.Text:=s;
//jetzt müsste Liste soviele Einträge enthaltem, wie Komma-getrennte Daten in "wert" standen
//dann evtl. prüfen, wie viele Einträge da sind und
  ComboBox1.Items.Add(Liste[0]);
  ComboBox2.Items.Add(Liste[1]);
  ComboBox3.Items.Add(Liste[2]);
//aber immer überprüfen, ob Liste.Count ausreichend ist, wenn es keine feste Anzahl ist.
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Jack23

Registriert seit: 20. Sep 2007
215 Beiträge
 
#6

Re: ComboBoxen Einträgen Daten zuweisen

  Alt 19. Okt 2007, 16:09
Ok aber die Stringlist muss dynamisch sein.

Und die Einträge der CheckBox sollen den Namen der Spalte "Name" haben und nur den wert von der Spalte "wert".
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

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

Re: ComboBoxen Einträgen Daten zuweisen

  Alt 19. Okt 2007, 16:19
Hai Jack23,

wie DaddyH schon geschrieben hat würde ich an deiner Stelle das Tabellenlayout der Datenbank überdenken. Mache dir lieber jetzt die Arbeit das "ordentlich" zu entwickeln als später, wegen dem schlechten layout, im Code zu frickeln.

Aber zu Deiner Frage:

Schaue Dir doch mal die Eingenschaft Objects von TStringList (und damit auch der Items einer Combobox) an.

Eine Beispiel steht unter anderem hier in der DP.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Jack23

Registriert seit: 20. Sep 2007
215 Beiträge
 
#8

Re: ComboBoxen Einträgen Daten zuweisen

  Alt 19. Okt 2007, 17:00
Sorry verstehe ich immer noch nicht. Wie ich beide Werte da rein bekomme aber der "Namen" angezeigt wird.
  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 12:48 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