Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.04.2011, 18:28
gralex gralex вне форума
Прохожий
 
Регистрация: 15.04.2009
Сообщения: 14
Репутация: 10
Вопрос Каким образом можно достичь выполнения процедуры в процедуре

Необходимо построить такую конструкцию:


Код:
procedure form.create();
begin
   ...
   For i:=1 to n do 
      ...
      procedure button1click();
      ...
      end;
   end;
end;

Это осуществимо? И если да, то опишите как можно подробнее какие переменные где и как описывать.
Можно, конечно, ссылками на учебники, но, все же, желательно как можно доступнее для понимания.
Заранее спасибо.
Ответить с цитированием
  #2  
Старый 08.04.2011, 19:30
Аватар для eXplorer
eXplorer eXplorer вне форума
Активный
 
Регистрация: 06.08.2010
Адрес: Ярославль
Сообщения: 264
Версия Delphi: 7
Репутация: 14
По умолчанию

дак всё так и есть почти

Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
button1.Click;
end;
-
это если процедура относится к объекту (ну тоесть является его метод) в данном случае является методом компонента Button1

в случае если процедура не является методом какого либо объекта её вызвать можно так (указав её имя):
пример :

Код:
procedure xxx;
begin
close;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
xxx;
end;
__________________

Последний раз редактировалось eXplorer, 08.04.2011 в 19:40.
Ответить с цитированием
  #3  
Старый 09.04.2011, 11:52
Аватар для Thrasher
Thrasher Thrasher вне форума
Illuminati
 
Регистрация: 06.03.2008
Адрес: Крым, г. Симферополь
Сообщения: 348
Репутация: 8808
По умолчанию

Если объявлять так:

Код:
procedure TForm1.FormCreate(Sender: TObject);

 Var variable:SomeTypes

  procedure xxx; 
    begin
      close;
    end;

 begin
   xxx;
 end;

то тогда будут доступны все методы и свойства класса. Если вызывать так

Код:
procedure xxx;
begin
close;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
xxx;
end;

то может возникнуть ошибка - неизвестно какой close вызывается
__________________
Хорошо написанная программа не требует документации
ICQ 9-184-668.
Ответить с цитированием
  #4  
Старый 10.04.2011, 09:07
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
unit Unit1;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

procedure Close;
begin
  Form1.Label1.Caption:='Close';
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Unit1.Close;
end;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #5  
Старый 14.04.2011, 12:09
gralex gralex вне форума
Прохожий
 
Регистрация: 15.04.2009
Сообщения: 14
Репутация: 10
По умолчанию

Спасибо большое. Очень помогли разобраться. =)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:50.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025