AGB  ·  Datenschutz  ·  Impressum  







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

combobox füllen und auslesen

Ein Thema von khh · begonnen am 28. Nov 2008 · letzter Beitrag vom 28. Nov 2008
Antwort Antwort
Seite 1 von 3  1 23      
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#1

combobox füllen und auslesen

  Alt 28. Nov 2008, 18:22
hallo zusammen,
ich bestücke in der proc create eines form eine combobox mit den werten aus einem dyn. array of record.
dh. ich habe im array eine id und eine bezeichnung.( zb: id: 1 ,bezeichnung: kunde,id 2, bezeichnung.Lieferant )

Beim speichern möchte ich die die id des gewählten string aus der box speichern.
Gibts ne einfache möglichkeit die id auszulesen?

danke gruss KH
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

Re: combobox füllen und auslesen

  Alt 28. Nov 2008, 18:36
Du kannst in den Items einer ComboBox auch Objektreferenzen ablegen. Das sind Zeiger, welche wiederum Integers sind. Mit einem einfachen Cast bekommst Du also auch eine Integer hinein.
ComboBox.Items.AddObject('Mustermann',TObject(12));
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
BullsEye

Registriert seit: 8. Sep 2007
Ort: Werlte
872 Beiträge
 
Delphi 7 Personal
 
#3

Re: combobox füllen und auslesen

  Alt 28. Nov 2008, 18:39
Hier im Forum suchenINI File

Das könnte ggf helfen
  Mit Zitat antworten Zitat
quendolineDD

Registriert seit: 19. Apr 2007
Ort: Dresden
781 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: combobox füllen und auslesen

  Alt 28. Nov 2008, 18:41
Oder wenn du bei der Befüllung der ComboBox das Array der Reihe nach durchläufst, kannst du wiederum durch den ItemIndex der ComboBox (ComboBox.ItemIndex) den Wert aus deinem Array lesen.

Hab mal einen kleinen Beispielcode geschrieben:
Deklarierung der Variablen:
Delphi-Quellcode:
type
  TMyRecord = record
    ID : integer;
    Bezeichnung : String;
  end;

  TRecordArr = array of TMyRecord;

[...]
  public
    aArr : TRecordArr;
Zum befüllen:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var i : integer;
begin
setlength(aArr, 2);
aArr[0].ID := 0;
aArr[0].Bezeichnung := 'foo';

aArr[1].ID := 1;
aArr[1].Bezeichnung := 'bar';

for i:= 0 to High(aArr) do
  begin
    ComboBox1.Items.Add(aArr[i].Bezeichnung);
  end;
end;
zum auslesen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
if ComboBox1.ItemIndex <> -1 then
  begin
    ShowMessage(format('Die gwählte ID ist %d und die Bezeichnung ist %s', [aArr[ComboBox1.ItemIndex].ID, ComboBox1.Items.Strings[ComboBox1.ItemIndex]]))
  end;
end;
Jedoch finde ich die Referenzierung durch ein Objekt und das Nutzen der Procedur AddObject auch vernünftiger. Vielleicht kannst du ja auch dein Record durch eine Klasse ersetzen.
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#5

Re: combobox füllen und auslesen

  Alt 28. Nov 2008, 18:41
Zitat von DeddyH:
Du kannst in den Items einer ComboBox auch Objektreferenzen ablegen. Das sind Zeiger, welche wiederum Integers sind. Mit einem einfachen Cast bekommst Du also auch eine Integer hinein.
ComboBox.Items.AddObject('Mustermann',TObject(12));
dann werd ich das mal so probieren

Danke schön, gruss Kh
Karl-Heinz
  Mit Zitat antworten Zitat
quendolineDD

Registriert seit: 19. Apr 2007
Ort: Dresden
781 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: combobox füllen und auslesen

  Alt 28. Nov 2008, 19:12
Sicher, mal auf dein Problem zugeschnitten
ComboBox.Items.AddObject(RecordArray[i].Bezeichnung, TObject(RecordArray[i].ID));
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#7

Re: combobox füllen und auslesen

  Alt 28. Nov 2008, 19:19
Zitat von quendolineDD:
Sicher, mal auf dein Problem zugeschnitten
ComboBox.Items.AddObject(RecordArray[i].Bezeichnung, TObject(RecordArray[i].ID));

ich danke euch vielmals



Gruss KH
Karl-Heinz
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#8

Re: combobox füllen und auslesen

  Alt 28. Nov 2008, 19:32
mh steh doch noch aufm schlauch .-(

wie lese ich den integerwert dann aus??



Gruss KH
Karl-Heinz
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: combobox füllen und auslesen

  Alt 28. Nov 2008, 19:37
Wo welchen Wert?
Markus Kinzler
  Mit Zitat antworten Zitat
martin_

Registriert seit: 19. Mai 2008
Ort: Österreich
89 Beiträge
 
#10

Re: combobox füllen und auslesen

  Alt 28. Nov 2008, 19:37
Zitat von khh:
wie lese ich den integerwert dann aus??
mit
ComboBox.Items.Objects[index];
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 20:12 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