Hallo DeddyH
Danke für den Hinweis!!!
Ich habe meine neue Erkenntnis - ich lerne von Euch ja schließlich sehr viel und das ist ernst gemeint - genutzt, um die Prozedur noch zu vereinfachen:
Delphi-Quellcode:
Procedure Beschriftung (Maske:
string; TheComp:TComponent);
var query1, query2:
string;
Cols1, Cols2: TCols;
Rows1, Rows2: TRows;
i, j: integer;
Language:
string;
begin
Language:='
deutsch';
query1:='
select Sprachen_ID from sprachen where Sprache='+#39+Language+#39;
Connect;
ExecQuery(
DB, query1, Cols1, Rows1);
DisConnect;
//showmessage(Rows1[0,0]);
query2:='
select Feld_Name, Feld_Bezeichnung from sprache_bezeichnung '+
'
where Sprache='+Rows1[0,0]+'
and Maske='+#39+Maske+#39+
'
and Variante=1';
Connect;
ExecQuery(
DB, query2, Cols2, Rows2);
DisConnect;
for I := 0
to TheComp.ComponentCount-1
do
begin
if (TheComp.Components[I]
is TLabel)
or
(TheComp.Components[I]
is TButton)
then
begin
for J:=0
to Length(Rows2[0])-1
do
begin
if Rows2[0,J]=TComponent(TheComp.Components[I]).
Name then
begin
If TheComp.Components[I]
is TLabel
then
TLabel(TheComp.Components[I]).Caption:=Rows2[1,J];
If TheComp.Components[I]
is TButton
then
TButton(TheComp.Components[I]).Caption:=Rows2[1,J];
end;
end;
end;
end;
end;
Vielen Dank an alle Helfer
Ykcim