![]() |
AW: Frame-Name in Variable
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:
Vielen Dank an alle Helfer
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; Ykcim |
AW: Frame-Name in Variable
Und wenn Du andere Komponenten außer TLabel und TButton ansprechen willst, musst Du den Code wieder erweitern. Da würde ich eher die RTTI-Variante verwenden (und von Components auf Controls umsteigen inkl. Rekursion, aber das muss ja jeder selbst wissen).
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz