Форум: "Начинающим";
Текущий архив: 2009.05.31;
Скачать: [xml.tar.bz2];
ВнизВопрос про объявление Найти похожие ветки
← →
товарищ вася (2009-04-17 08:33) [0]Как объявить свою процедуру, чтобы можно было использовать другие объекты на форме?
Procedure Combine;
begin
Cmbbtn.Click;
end;
← →
Palladin © (2009-04-17 08:40) [1]надо ее превратить в метод
← →
товарищ вася (2009-04-17 08:54) [2]Уменя есть форма
Form1: TForm1;
тогда
> надо ее превратить в метод
это Form1.Combine?
implementation
Procedure Form1.Combine;
begin
Cmbbtn.Click;
end;
← →
Palladin © (2009-04-17 08:59) [3]положи на форму кнопку и щелкни по ней два раза. то что ты увидишь в редакторе и будет метод.
← →
товарищ вася (2009-04-17 09:11) [4]
> положи на форму кнопку и щелкни по ней два раза. то что
> ты увидишь в редакторе и будет метод.
Спасибо это я знал, ещё есть вариант
Procedure Combine(var fm:TForm1);
begin
fm.cmbbtn.Click;
end;
Просто неохота каждый раз писать перед баттон имя формы,
можно подумать у меня две формы.
Может где объявить процедуру чтоб она себя хорошо вела?
← →
Palladin © (2009-04-17 09:19) [5]иди читай учебники.
← →
AIK © (2009-04-17 09:20) [6]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
Procedure Combine; /// CTR + Shift + C
{ Public declarations }
end;
В зависимости от области видимости процедуры под private либо под public
← →
Palladin © (2009-04-17 09:20) [7]
> можно подумать у меня две формы.
можно подумать, что ты глуп.
Var
f1,f2:TForm1;
вот и сиди думай, сколько у тебя форм
← →
товарищ вася (2009-04-17 09:40) [8]
> AIK © (17.04.09 09:20) [6]
За шорткат отдельное спасибо!
Немного другой вопрос:
Вот у меня есть метод
Procedure MessagesBoxClick(Sender:Tobject);
объект MessagesBox:TListBox;
они оба объявлены в мэйн юнит
я хочу записать реализацию MessagesBoxClick в другой юнит
"другой юнит" присоединен к мэйн при помощи uses.
как вызвать (MessagesBoxClick) из мэйн юнит, точнее где что обявить чтобы всё вызвалось.
← →
{RASkov} © (2009-04-17 09:51) [9]> [8] товарищ вася (17.04.09 09:40)
> где что обявить чтобы всё вызвалось.
Uses для этого...
В майнюнит добавь "другой юнит" в котором соответственно в разделе интерфейса объяви вызываемую(MessagesBoxClick) функцию
Только я так понял, что тебе ее не нужно назначать обработчикам событий(events) объектов..
← →
MsGuns © (2009-04-17 10:07) [10]Если процедура - метод класса, то получить "автора" клика можно по Sender
Например
procedure TForm1.Button1Click(Sender : TObject);
begin
ShowMessage("Нажата кнопка "+(Sender as TButton).Caption);
end;
Если процедура внешняя (т.е. не является методом класса), то передать объект нужно с помощью параметра. Например
procedure SomeBattonClick(Button: TButton);
begin
Button.Click;
end;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.05.31;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c