Форум: "KOL";
Текущий архив: 2009.07.26;
Скачать: [xml.tar.bz2];
ВнизКак перебрать на форме все контролы? Найти похожие ветки
← →
andreil © (2008-02-26 21:52) [0]Собственно надо это мне для того, чтобы программа сама читала Caption"ы и Text"ы контролов из ИНИ-файла для облегчения перевода на другие языки. Те я ищу код следующего содержания:
For i:=0 to КоличесвоКонтроловНаФорме do
begin
If (Control[i] is TKOLEditBox) then
(Control[i] as TKOLEditBox).Text:=LanguageIni.ValueInteger((Control[i] as TKOLEditBox).Text, (Control[i] as TKOLEditBox).Text);
end;
Те если, например контрол содержит строку "#Label", то ему в Caption надо будет считать из ИНИфайла параметр #Label.
ЗЫ: работе с ИНИфайлами можете не учить - и сам умею, мне надо просто узнать:
1)как перебрать все контролы на форме;
2)каким методом можно определить принадлежность контрола к даннгому типу (тотже TKOLEditBox).
← →
Jon © (2008-02-27 00:46) [1]Conditional defines: USE_NAMES
// Add USE_NAMES to conditional defines!
procedure TForm1.Button1Click(Sender: PObj);
var
INIfile: PIniFile;
I: Integer;
NewCaption: String;
begin
INIfile := OpenIniFile(ChangeFileExt(ExePath,".ini"));
INIfile.Section := "caption";
for I := 0 to Form.ChildCount -2 do
begin
NewCaption := INIfile.ValueString(Form.Children[I].Name,"");
if NewCaption <> "" then Form.Children[I].Caption := NewCaption;
end;
INIfile.Free;
end;
Project1.ini[caption]
label1=Label One
button1=My Button
editbox1=This is a test
← →
andreil © (2008-02-27 09:53) [2]Спасибо ;) Но я обошолся без USE_NAMES, просто читал из ИНИшника по Caption"ам каждого контрола :)
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2009.07.26;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.006 c