Форум: "Начинающим";
Текущий архив: 2007.04.22;
Скачать: [xml.tar.bz2];
ВнизПроцедуры и функции Найти похожие ветки
← →
annn (2007-04-02 16:36) [0]Люди помогите разобраться. Прочему в procrdure mmm
Button2.Click; работает только так Form1.Button2.Click;
Вопрос: как сделать чтобы всё было норамльно
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure mmm;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure mmm;
begin
Button2.Click;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
mmm;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.Color:=clred;
end;
end.
← →
Ega23 © (2007-04-02 16:38) [1]Потому, что procedure TForm1.Button2Click(Sender: TObject); не является процедурой, а является методом класса TForm1. А Button2 является полем класса TForm1.
← →
Alll (2007-04-02 16:41) [2]А как же тогда написать процедуру потому что много в когде нужно
переделывать везде form1 приписывать? with form1 do begin
````````
тоже что то не помогает
← →
annn (2007-04-02 16:43) [3]annn:=Alll
← →
Ega23 © (2007-04-02 16:46) [4]
> А как же тогда написать процедуру потому что много в когде
> нужно
> переделывать везде form1 приписывать? with form1 do begin
> ````````
> тоже что то не помогает
>
Начать следует с книжки. Сначала - простой. Потом - посложнее. Разобраться с тем, что такое область видимости процедур(функций) и переменных. Потом понять, что такое класс и что такое его метод и чем метод отличается от процедуры.
← →
annn (2007-04-02 16:56) [5]Ну подскажите пожалуйста, просто горит, я непремнно прочитаю
← →
SergGG © (2007-04-02 16:57) [6]
procedure TForm1.mmm;
begin
Button2.Click;
end;
← →
{RASkov} (2007-04-02 16:58) [7]> [0] annn (02.04.07 16:36)
Не удачный вопрос с неудачным примером... Что нужно то в итоге?
Пример написанный почти рабочий, но бессмысленный..
А вообще это не должно скомпилится.
Метода одного не хватает. Т.н. его реализации. Нажми, в описании метода Формы - mmm, кнопки Ctrl+Shift+C....
← →
{RASkov} (2007-04-02 16:59) [8]> Нажми, в описании метода Формы - mmm, кнопки Ctrl+Shift+C....
Ну да и получится [6] :)
← →
Ega23 © (2007-04-02 17:00) [9]
> Ну подскажите пожалуйста, просто горит, я непремнно прочитаю
"Утром деньги - вечером стулья."
← →
annn (2007-04-02 17:11) [10]А почему так не работает???
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button2Click(Sender: TObject);
procedure mmm;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.mmm;
begin
button2.click;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.Color:=clred;
end;
end.
← →
Ega23 © (2007-04-02 17:20) [11]Очевидно по тому, что метод Click выглядит несколько не так. И имеет параметр.
Рекомендую ещё раз внимательно ознакомиться с постом [4]
← →
{RASkov} (2007-04-02 17:23) [12]> [10] annn (02.04.07 17:11)
А где теперь вызов твоей mmm?
← →
{RASkov} (2007-04-02 17:25) [13]> [11] Ega23 © (02.04.07 17:20)
> Очевидно по тому, что метод Click выглядит несколько не
> так. И имеет параметр.
Да нет, Click у TButton именно так и вызывается. И не имеет параметра(ов)....
но [4] в силе. Для автора вопроса конечно-ж.
← →
Ega23 © (2007-04-02 17:29) [14]
> Да нет, Click у TButton именно так и вызывается. И не имеет
> параметра(ов)....
Хм.. Гляди-ка... В натуре такой метод есть... А в качестве Sender"а онЮ конечно же, себя подставляет...
← →
SergGG © (2007-04-03 09:16) [15]>annn (02.04.07 16:36)
Если Вам надо, чтобы при нажатии кнопки Button1 выполнялось событие Button2Click (т.е. "нажималась" кнопка Button2), можно сделать намного проще:
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Color:=clred;
end;
end.
А для Button2 - необходимо в инспекторе обьектов на событие OnClick установить Button1Click
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.04.22;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.06 c