Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
Delphi 12 Athens
|
AW: Form Namen Variable verwenden
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
|
|
Zitat
|