Registriert seit: 29. Dez 2006
Ort: NRW
826 Beiträge
Delphi 10.4 Sydney
|
AW: Frame-Name in Variable
24. Aug 2012, 11:56
Toll! So klappt es, Bummi!!!
Delphi-Quellcode:
Procedure Beschriftung (Maske: string; TheComp:TComponent); //Damit ist es egal, ob es ein Form oder ein Frame ist
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;
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
if (TheComp.Components[I] is TLabel) then
begin
for J:=0 to Length(Rows2[0])-1 do
begin
if Rows2[0,J]=TLabel(TheComp.Components[I]). Name then
begin
TLabel(TheComp.Components[I]).Caption:=Rows2[1,J];
end;
end;
end;
if (TheComp.Components[I] is TButton) then
begin
for J:=0 to Length(Rows2[0])-1 do
begin
if Rows2[0,J]=TButton(TheComp.Components[I]). Name then
begin
TButton(TheComp.Components[I]).Caption:=Rows2[1,J];
end;
end;
end;
end;
end;
end;
Ich habe eine TComponent verwendet, um sowohl Frames als auch Forms damit übersetzen zu können.
Das ist der Aufruf
Delphi-Quellcode:
procedure TMain.ButtonTestClick(Sender: TObject);
begin
Beschriftung ('WorkshopDetail', Main.Workshop1.WorkshopDetail1); //Das ist ein Frame
Beschriftung ('Main', Main); //Das ist ein Form
end;
Vielen Dank an alle für Eure Hilfe!!!
Gruß
Ykcim
Patrick
|
|
Zitat
|