ComboBox

Alles, was den Programmierer beschäftigt

Moderator: SYNERPY

Antworten
Gast

ComboBox

Beitrag von Gast » Di Aug 30, 2005 2:36 pm

Hallo,
ich lese mit der Anweisung
medium := AsString(frmData.Universal.FieldByName('Maskenkey'));
Datensätze aus einer Tabelle. Die Werte aus dem Feld Maskenkey will ich mit der Komponente 'ComboBox' sichtbar machen. Leider funktioniert die Zuweisung mit folgender Syntax nicht.
ComboBox_1.Items.Add(medium);
Wenn ich Einträge in der Eigenschaft 'Items' manuell vornehme, kann ich diese dann auch sehen.
Wie ist mein Problem zu lösen?

Vielen Dank im voraus.

admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin » Do Sep 01, 2005 3:20 pm

Um den Designer schlank zu halten, sind nicht alle Eigenschaften, Methoden etc der einzelnen Objekte veröffentlicht. Da wir noch niemals mit ComboBoxen gearbeitet haben, lässt sich auch diese Eigenschaft nicht verändern.

do5tj
Beiträge: 14
Registriert: Mi Jul 25, 2012 6:45 am

Re: ComboBox

Beitrag von do5tj » Do Mai 08, 2014 9:59 am

Gibt es eine Möglichkeit die Combobox dynamisch zu füllen?

UliS
Beiträge: 395
Registriert: Fr Mai 26, 2006 3:44 pm
Wohnort: Velbert-Langenberg

Widerspruch: Verwendung von ComboBoxen

Beitrag von UliS » Di Mai 13, 2014 9:51 am

admin hat geschrieben:Um den Designer schlank zu halten, sind nicht alle Eigenschaften, Methoden etc der einzelnen Objekte veröffentlicht. Da wir noch niemals mit ComboBoxen gearbeitet haben, lässt sich auch diese Eigenschaft nicht verändern.
Hier muß ich dem verehrten "admin" widersprechen:
Bin in FRDBZAHL_DTAUS über eine ComboBox zur Auswahl des Bank-Kontos gestolpert, wie ich das DTAUS-Verfahren nach SEPA umgestellt habe.
Dort findet man eine ComboBox:

Code: Alles auswählen

object CBO_BANKEN: TComboBox [34]
    Left = 136
    Top = 64
    Width = 300
    Height = 22
    ItemHeight = 0
    TabOrder = 12
    Text = 'CBO_BANKEN'
    OnChange = IB_EditChange
    Items.Strings = (
      'Bank1 - 1'
      'Bank2 - 3'
      'Bank4 - 5')
  end
Füllen in OnFormShow:

Code: Alles auswählen

    CBO_BANKEN.Text := '';
    ...
    sWo := 'FormShow';		 
    // Bank auswählen
    nBMAND_ID := AsInteger(frmdata.q_V_BMAND.FieldByName('ID'));
    MyQuery.Sql.Text := 'SELECT COUNT(ID) AS "ZAHL" ' + 
                        'FROM BFIRMAKTO ' + 
                        'WHERE (BMAND_ID = :BMAND_ID OR BMAND_ID IS NULL) AND ' + 
								        'BSBANK_ID IS NOT NULL AND ' + 
								        'KTONR IS NOT NULL';
    MyQuery.ParamByName('BMAND_ID', nBMAND_ID);									        
		MyQuery.Open();
		nZahl := AsInteger(MyQuery.FieldByName('ZAHL'));
    MyQuery.Close();
		if nZahl > 1 then
		begin
			CBO_BANKEN.Enabled := true;
      INCLUDE(PROC0003);
		end	
		else
      CBO_BANKEN.Enabled := false;	
...
Proc0003:

Code: Alles auswählen

 sWo := 'FormShow';		 
    // Bank auswählen
    nBMAND_ID := AsInteger(frmdata.q_V_BMAND.FieldByName('ID'));
    MyQuery.Sql.Text := 'SELECT COUNT(ID) AS "ZAHL" ' + 
                        'FROM BFIRMAKTO ' + 
                        'WHERE (BMAND_ID = :BMAND_ID OR BMAND_ID IS NULL) AND ' + 
								        'BSBANK_ID IS NOT NULL AND ' + 
								        'KTONR IS NOT NULL';
    MyQuery.ParamByName('BMAND_ID', nBMAND_ID);									        
		MyQuery.Open();
		nZahl := AsInteger(MyQuery.FieldByName('ZAHL'));
    MyQuery.Close();
		if nZahl > 1 then
		begin
			CBO_BANKEN.Enabled := true;
      INCLUDE(PROC0003);
		end	
		else
      CBO_BANKEN.Enabled := false;	
CBO_BankenOnChange:

Code: Alles auswählen

Begin
  // Letzter Stand: 01.12.2009 GK 
  EDT_FIRMENKONTO.Text := '';
  EDT_BANKNAME.Text := '';
  LB_MERK_FIRMENKONTO_ID.Caption := '';
  N1 := CBO_BANKEN.ITEMINDEX;
  S1 := CBO_BANKEN.VALUEOFINDEX(N1);
  if N1 >= 0 then
  begin
	  MyQuery := FrmData.universal;
	  MyQuery.Sql.Text := 'SELECT * FROM V_BFIRMAKTO WHERE ID = :ID';
	  MyQuery.ParamByName('ID', StrToInt(S1));
	  MyQuery.Open();
	  EDT_FIRMENKONTO.Text := AsString(MyQuery.FieldByName('KTONR'));
	  EDT_BANKNAME.Text := AsString(MyQuery.FieldByName('BSBANK_BANKNAME'));
	  LB_MERK_FIRMENKONTO_ID.Caption := AsString(MyQuery.FieldByName('ID'));
	  MyQuery.Close();
  end;
End;
Gruß U.Schmidt
http://averpen4dummies.blogspot.de/

Wenn ich weiß, wo ich suchen muß ist OpenSource besser als jede Dokumentation

aktuelle Erkenntnisse mit:
Software-Version 6.9.2
FDB 2020.02

Antworten