|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Помогите разобраться
IniFile:=TIniFile.Create(path+'Inifile.ini');
IniFile.WriteBool('Param', 'A1', a1.Checked); IniFile.WriteBool('Param', 'A2', a2.Checked); IniFile.WriteBool('Param', 'A3', a3.Checked); IniFile.WriteBool('Param', 'A4', a4.Checked); .................. ............. ..............так до A237 Этот код как мне уменшить??? |
#2
|
|||
|
|||
А что, загнать в цикл нельзя? =)
Примерно в таком духе: Код:
var chkBox: TCheckBox; i: Byte; IniFile: TIniFile; begin IniFile := TIniFile.Create(path+'Inifile.ini'); for i := 1 to 237 do begin chkBox := FindComponent('a' + IntToStr(i)); if chkBox = nil then Continue; IniFile.WriteBool('Param', 'A' + IntToStr(i), (chkBox as TCheckBox).Checked); end; ... P.S. Я так понимаю, что вы записываете состояние флажков CheckBox? |
#3
|
||||
|
||||
Цитата:
но почему то оно выдает ощибку тут chkBox := FindComponent('a' + IntToStr(i)); Код:
Var chkBox: TAdvOfficeRadioButton; IniFile:TIniFile; Path:String; i:Byte; begin Path:=Application.ExeName; Path:=ExtractFileDir(Path); if Path[Length(Path)]<>'\' then Path:=Path+'\'; IniFile:=TIniFile.Create(path+'Inifile.ini'); for I := 1 to 237 do begin chkBox := FindComponent('a' + inttostr(i)); if chkBox = nil then Continue; IniFile.WriteBool('Param', 'a' + IntToStr(i), (chkBox as TAdvOfficeRadioButton).Checked); IniFile.Free; end; В чем проблема?? |
#4
|
|||
|
|||
А, ну я поторопилась немного. Объявите chkBox как переменную типа TComponent
Код:
var chkBox: TComponent; |