Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1238413691
Галинка
2009-03-30 15:48
2009.05.31
База данных для MySQL


15-1237980549
@!!ex
2009-03-25 14:29
2009.05.31
Помогите разобраться с SVN


3-1221337655
Zilog
2008-09-14 00:27
2009.05.31
Подскажите, как из Делфи получить доступ к MySQL на сервере?


15-1238188551
Petr V. Abramov
2009-03-28 00:15
2009.05.31
Африк Симон Все пройдет, Мария


11-1201031180
AndreyUT
2008-01-22 22:46
2009.05.31
Определить когда курсор покинул ссылку в richedit





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский