AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Variablenübergabe bei ComboBoxes
Thema durchsuchen
Ansicht
Themen-Optionen

Variablenübergabe bei ComboBoxes

Ein Thema von FlatG · begonnen am 7. Feb 2003 · letzter Beitrag vom 12. Feb 2003
Antwort Antwort
FlatG

Registriert seit: 31. Jan 2003
21 Beiträge
 
Delphi 5 Professional
 
#1

Variablenübergabe bei ComboBoxes

  Alt 7. Feb 2003, 09:22
ich will ja nicht nerven, aber wo ihr mir doch so schnell und gut geholfen habt, probier ichs gleich nochmal, schauts a mal was ich hier hab:

Code:
Query1.SQL.Clear;
    Query1.SQL.Add('SELECT * FROM T_Text WHERE (ID_Text_Typ=' + IntToStr(ID_Text_Typ) + ')');
    Query1.Open;
        ComboBox2.Items.Clear;

        while not Query1.Eof do
        begin
            ID_Text := StrToInt(Query1.FieldByName('ID_Text').AsString);
            ID_User := StrToInt(Query1.FieldByName('ID_User').AsString);
            ComboBox2.Items.AddObject(Query1.FieldByName('Name').AsString, TObject(ID_Text));
            Query1.Next;
        end;
    Query1.Close;
ich hab also ne sql abfrage und schreibe dann immer schön alle einträge aus T_Text, wo ID_Text_Typ=ID_Text_Typ ist, in meine ComboBox

da ich noch im anschluss eine weitere funktion ComboBoxchange (onChange-Funktion) habe in der ich ID_Text benötige hab ich das schonmal SELBSTSTÄNDIG mit dem addobject hingekriegt

darüberhinaus bräuchte ich in der folgenden funktion allerdings noch ID_User, die Variable hab ich oben schonmal definiert, weiss nur leider nicht wie ich die auch noch übergeben und dann in der nächsten funktion abfragen könnte :/

gibts vielleicht ne andere möglichkeit unbegrenzt viele variablen mit ner combobox zu übergeben, ohne die direkt in die items zu integrieren?

  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#2
  Alt 8. Feb 2003, 17:18
Hallo FlatG,

du nervst doch nicht .

Also wenn ich dich richtig verstehe, willst du mehrere Einträge in eine ComboBox eintragen. Items ist ein Objekt der Klasse TStrings. Diese kann pro Eintrag genau einen String und ein beliebiges von TObject abgeleitetes Objekt übernehmen. Wenn du also mehrere Werte übernehmen willst, kannst du eine von 2 möglichen Lösungen wählen:

1. Zu baust den String so zusammen, dass du ihn hinterher wieder auseinander dividieren kannst. (Z.B. durch CommaSeparatedValues [eine Liste von Einträgen, die durch ein Trennzeichen z.B. ";" getrennt wird). Jeder String sieht dann eventuell so aus:
Eintrag1;Eintrag2;Eintrag3

2. Du definierst eine neue Klasse: TMyObjects:
Code:
TMyObjects = class(TObject)
  Eintrag1 : String;
  Eintrag2 : Integer;
  Eintrag3 : String;
  Eintrag4 : Boolean;
end;
Wenn du durch die Query läufst erzeugst du ein neues Objekt dieser Klasse:

Delphi-Quellcode:
NextEntry := TMyObjects.Create(Self);
NextEntry.Eintrag1 := ...
...
NextEntry.Eintrag4 := ...

{ jetzt in die Combobox packen }
ComboBox2.Items.AddObject(Query1.FieldByName('Name').AsString, NextEntry);
Übrigens: bei der ersten Lösung sind alle Ergebnisse sofort in der ComboBox sichtbar, bei der zweiten sind ist das Objekt unsichtbar.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
FlatG

Registriert seit: 31. Jan 2003
21 Beiträge
 
Delphi 5 Professional
 
#3
  Alt 12. Feb 2003, 10:40
jo danke tschön, habs dank deiner hilfe jetzt tiptop hingekriegt
  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 02:03 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