У меня есть 10 TEdits и 10 изображений, и я попытался использовать это:Delphi новичок - используя цикл с TEdit
procedure TForm1.Button1Click(Sender: TObject; edit: TEdit);
var i:integer;
begin
for i:= 1 to 10 do
begin
if edit[i].text:='1' then picture[i].Show else picture[i].Hide;
end;
end;
Но Дельфы возвращает эту ошибку: [Error] Unit1.pas (84): Класс не имеет свойство по умолчанию
Я также попытался это:
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
for i:= 1 to 10 do
begin
if edit[i].text:='1' then picture[i].Show else picture[i].Hide;
end;
end;
Но, опять же, Delphi возвращает ошибку:
[Error] Unit1.pas(84): Undeclared identifier: 'edit'.
Вы не можете помочь мне с этим кодом?
Много фундаментальных ошибок здесь. ': =' - оператор присваивания, '=' - сравнение. Не путайте их. Кажется, вы не объявили какие-либо массивы с именем 'edit' или' picture'. Если вы хотите получить доступ к своим элементам управления в массиве, вам нужно объявить эти массивы, а затем поместить ссылки на элементы управления в них. Также обратите внимание, что вы не можете изменить сигнатуру метода 'TNotifyEvent' - он должен иметь только один параметр (' Sender: TObject'). –
См. Также: [Формирование имени переменной со строкой + целыми и вызывающими функциями] (http://stackoverflow.com/q/16710189/33732) [Как я могу обратиться к элементу управления, имя которого определено во время выполнения?] (Http : //stackoverflow.com/q/13649250/33732) [Как создать массив элементов управления?] (http://stackoverflow.com/q/1218041/33732) –