|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Управление группой контролов
На форме десятка полтора-два контролов, среди них 7 Edit-ов (собственный компонент, потомок TCustomEdit). Сначала потребовалось, эти 7 Edit-ов и несколько кнопок скрывать\показывать кучкой (.Visibl:=True\False), выбрал вариант попроще - переместил их на pnlStandard: TPanel.
Далее сделал сохранение, при выходе, значений этих Edit-ов в IniFile в цикле: Код:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); var optionini: TIniFile; i: Byte; begin ------------------------------- for i:=0 to pnlStandard.ControlCount-1 do if pnlStandard.Controls[i] is TDgtEdit then optionini.WriteInteger('Standart',pnlStandard.Controls[i].Name, (pnlStandard.Controls[i] as TDgtEdit).Value); ------------------------------- end; как, так-же в цикле, присвоить Edit-ам значения из... ну скажем array[0..6] of Integer, предидущий вариант не пройдет, потому-что pnlStandard.Controls[i] - неизвестно, который именно из Edit-ов. В качестве проверки вываливал их в Memo: Код:
for i:= 0 to pnlStandard.ControlCount-1 do if pnlStandard.Controls[i] is TDgtEdit then Memo1.Lines.Append(pnlStandard.Controls[i].Name); Думаю, эту горстку Edit-ов надо как-то объявить, как : Код:
const EditsStandart: array[0..6] of TDgtEdit; Читал про перечисления, последовательности и множества, так и не понял чем это может (или не может) мне помочь. Посоветуйте. |
#2
|
||||
|
||||
индекс в Controls в порядке становления дочерним элементом у контрола (у которых Parent становиться этот контрол).
Пишу программы за еду. __________________ |
#3
|
|||
|
|||
вотименно так
Код:
const EditsStandart: array[0..6] of TDgtEdit; А что бы различать компоненты можно использовать пропертю TAG. |