Topic: Обход компонентов на форме...

Здравствуйте.
Пытаюсь следующим кодом обойти компоненты на форме, но появляется ошибка

';' expected фе 185:11

в стр7

стр1 var
стр2     i: integer;
стр3 
стр4 begin
стр5    for i := 0 to Form1.ComponentCount - 1 do
стр6        if Form1.Components[i] is TButton then
стр7           (Form1.Components[i] as TButton).Enabled:= False; 
стр8 end;
 

помогите исправить.
Спасибо.

Re: Обход компонентов на форме...

Приветствую,


В скрипте ошибки нет,  приложите пожалуйста ваш проект (zip файл без exe и dll), протестирую.

Dmitry.

3 (edited by bullet13 2016-05-11 10:22:04)

Re: Обход компонентов на форме...

Здравствуйте.

My Visual Database версия 2.6 beta

В файле проект с форума, с куском данного кода. Спасибо.

Post's attachments

Attachment icon RC_1.44.zip 930.94 kb, 364 downloads since 2016-05-11 

Re: Обход компонентов на форме...

попробуйте так

var
    i: integer;
begin
   for i := 0 to main.ComponentCount - 1 do
       if main.Components[i] is TButton then
          TButton(main.Components[i]).Enabled:= False;
Dmitry.

5 (edited by bullet13 2016-05-11 13:00:01)

Re: Обход компонентов на форме...

Спасибо. Так работает.

6 (edited by bullet13 2016-05-13 09:25:09)

Re: Обход компонентов на форме...

Добрый день.
Не подскажите ещё, как обойти все элементы DBFile.
Пример.
На форме есть 20шт. DBFile (DBFile1, DBFile2....DBFile20)
Мне нужно обойти в цикле эти компоненты и у определенных (DBFile2, DBFile6) изменить свойства RightButton.Enabled, LeftButton.Enabled

DBFile[i].RightButton.Enabled := False; - Пример

Re: Обход компонентов на форме...

bullet13 wrote:

Добрый день.
Не подскажите ещё, как обойти все элементы DBFile.
Пример.
На форме есть 20шт. DBFile (DBFile1, DBFile2....DBFile20)
Мне нужно обойти в цикле эти компоненты и у определенных (DBFile2, DBFile6) изменить свойства RightButton.Enabled, LeftButton.Enabled

DBFile[i].RightButton.Enabled := False; - Пример
var
    i: integer;
begin
    for i := 0 to main.ComponentCount - 1 do
    begin
        if main.Components[i] is TButton then TButton(main.Components[i]).Enabled:= False;
        if main.Components[i] is TdbFileToDatabase then TdbFileToDatabase(main.Components[i]).RightButton.Enabled := False;
    end;
Dmitry.

Re: Обход компонентов на форме...

Спасибо!