OK,
aber ich muss meiner Procedure doch noch übergeben in welche TComboBox oder TTAbControl die Strings übergeben werden. Die Strings werden auch erst in der Procedure ausgelesen. Hier mal die komplette Procedure:
Delphi-Quellcode:
//ComboBox aus DB füllen
procedure ComboBox_fuellen (Box:TComboBox;
Query:TQuery; Spalten:
String; Anzahl:Integer;
SQL:
String);
var
I: Integer;
S: Integer;
E: Integer;
Z: Integer;
AktuelleSpalte:
String;
CBText:
String;
MyInt: Integer;
begin
I:= 1;
//Zähler für Anzahl der Spalten
S:= 1;
//Ende von aktueller Spalte
E:= 1;
//Ende von vorheriger Spalte
Z:= 0;
//Das kein Bindestrich mehr angefügt wird
Box.Clear;
Query.Close;
If SQL <> '
'
then Query.SQL[1] :=
SQL;
//SQL optional
Query.open;
while Query.Eof <> true
do
begin
for I := 1
to Anzahl
do
begin
Z := Z + 1;
for S:= E
to length(Spalten)
do
begin
//Trennen der Spalten
if copy(Spalten,S,1) = '
;'
then
begin
AktuelleSpalte := copy(Spalten,E,S - E);
break;
end;
end;
//Prüfen auf Nummerische oder String - Spalte
if TryStrToInt(
Query[AktuelleSpalte], MyInt) = false
then
begin
CBText := CBText +
Query[AktuelleSpalte];
end
else
begin
CBText := CBText + inttostr(
Query[AktuelleSpalte]);
end;
//Trennzeichen einfügen
if (Anzahl > 1)
and (Anzahl <> Z)
then CBText := CBText + '
- ';
E := S + 1;
end;
I:= 1;
//Text in ComboBox schreiben
Box.items.Add(CBText);
CBText := '
';
Z:= 0;
E:= 1;
S:= 1;
Query.next;
end;
end;
Gruss
Holger