Einzelnen Beitrag anzeigen

CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Ini als Sprachdatei nutzen ?

  Alt 22. Jun 2011, 14:42
Als Key macht es eher Sinn, den Namen der Controls zu verwenden, als den aktuellen Text. Als grober Anhaltspunkt:
Code:
for i := 0 to Pred(Form.ComponentCount) do begin
   if (Form.Components[i] is TControl) then begin
      if (Form.Components[i] as TControl).Parent = Form then begin
         ReadControl(Form.Name, (Form.Components[i] as TControl), i);
      end;
   end else if (Form.Components[i] is TMenu) then begin
      ReadMenuItem(Form.Name + '.' + (Form.Components[i] as TMenu).Name, (Form.Components[i] as TMenu).Items);
   end else if (Form.Components[i] is TActionList) then begin
      ReadAction(Form.Name + '.' + (Form.Components[i] as TActionList).Name, (Form.Components[i] as TActionList));
   end;
end;
ReadControl muss dann, falls es ein TWinControl ist, über dessen ControlCount wieder alle seine Controls durchgehen.

Wenn die Controls alle ordentlich und sinnvoll benannt sind, ist das genauso anwenderfreundlich; aber ob Du in den einzelnen Untermethoden nun .Caption/.Text oder .Name als Key verwendest, ist ja nur ein winziger Unterschied.
  Mit Zitat antworten Zitat