Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Frame-Name in Variable (https://www.delphipraxis.net/169983-frame-name-variable.html)

Ykcim 24. Aug 2012 11:05

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:
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

DeddyH 24. Aug 2012 12:18

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.
Seite 2 von 2     12   

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