Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#23

AW: Form Namen Variable verwenden

  Alt 21. Aug 2012, 18:41
Klappt das hiermit (komplett ungetestet, da im Editor getippt)?
Delphi-Quellcode:
uses
  TypInfo;
  
function HasProperty(AClass: TObject; const APropertyName: String): Boolean;
var
  MyPropInfo: PPropInfo;
begin
  MyPropInfo := GetPropInfo(AClass.ClassInfo, APropertyName);
  Result := Assigned(MyPropInfo);
end;

function CompSetPropValue(AClass: TObject; const PropName, Caption: string): Boolean;
var
  MyPropInfo: PPropInfo;
begin
  MyPropInfo := GetPropInfo(AClass.ClassInfo, PropName);
  Result := Assigned(MyPropInfo);
  if Result then
    SetPropValue(AClass, PropName, Caption);
end;

procedure prLoadModuleLanguage(AParent: TWinControl);
const PROPNAMES: array[0..1] of string = ('Caption', 'Text');
var
  i, j: integer;
  NewText: string;
  AControl: TControl;
begin
  Assert(Assigned(AParent));
  for i := 0 to AParent.ControlCount - 1 do
    begin
      AControl := AParent.Controls[i];
      NewText := fnGetComponentCountryText('Component', AParent.ClassName,
        AControl.ClassName, AControl.Name);
      for j := Low(PROPNAMES) to High(PROPNAMES) do
        if HasProperty(AControl, PROPNAMES[j]) then
          begin
            CompSetPropValue(AControl, PROPNAMES[j], NewText);
            break;
          end;
      if AControl is TWinControl then
        prLoadModuleLanguage(TWinControl(AControl));
    end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat