Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Передача параметров в процедуру [D7, WinXP]


sten ©   (2008-01-08 19:27:00) 

Здравствуйте.
Мне необходимо передать две текстовые строки в функцию [B][Code]OnExecClick[/Code][/B]. Код представлен ниже.
[Code]
var i, j, count, count2 : integer;
begin
 count:=StrToInt(Ini.ReadString('Faculty','CountFac','0'));
 for i := 0 to count - 1 do
 begin
   count2:=StrToInt(Ini.ReadString('Programms'+IntToStr(i+1), 'CountProg', '0'));
   for j := 0 to count2 - 1 do
   begin
     CategoryButtons1.Categories[i].Items.Add;
CategoryButtons1.Categories[i].Items.Items[j].Caption:=Ini.ReadString('Programms '+IntToStr(i+1),'NameProg'+IntToStr(j+1),'NULL');
     CategoryButtons1.Categories[i].Items.Items[j].ImageIndex:=1;
     CategoryButtons1.Categories[i].Items.Items[j].OnClick:=[B]OnExecClick[/B];
   end;
 end;
end;
[/Code]

Объявление процедуры OnExecClick
[Code]
procedure TMainForm.OnExecClick(Sender: TObject);
begin
 // какие-то действия
end;
[/Code]
Пробовал
[Code]procedure TMainForm.OnExecClick(Sender: TObject; [B]s1,s2 : string[/B]);
begin
 // какие-то действия
end;
[/Code]
тогда как мне их написать в строчке
[Code]CategoryButtons1.Categories[i].Items.Items[j].OnClick:=[B]OnExecClick[/B][/Code]

Хотелось бы услышать Ваше мнение, первый раз динамически задаю процедуру события нажатия кнопки...


Юрий Зотов   (2008-01-09 13:48:00) [1]

> Германн ©   (09.01.08 01:18) [3]

Как говорит Игорь (и я с ним согласен), всякий овощ полезен, будучи употребленным к месту и вовремя.

То есть - все зависит от задачи. Единого рецепта нет и быть не может. И вредные советы тоже не нужно рассматривать, как непреложную истину.


Германн   (2008-01-09 04:38:00) [2]


> Anatoly Podgoretsky ©   (09.01.08 04:12) [6]
>
> > Германн  (09.01.2008 03:47:05)  [5]
>
> Но любит же наш народ народные стихи, а тут на полпути тормознули
> и расскачать не удалось, надо делать еще одну рекламную
> акцию.
>

Ну попробуй. Но я не верю, что она поможет. Разве что ещё лет через десять?

P.S. Может кто из стариков (не ветеранов, а именно стариков по возрасту) помнит вторую часть фильма "Волшебная сила искусства"?


Anatoly Podgoretsky   (2008-01-09 04:12:00) [3]

> Германн  (09.01.2008 03:47:05)  [5]

Но любит же наш народ народные стихи, а тут на полпути тормознули и расскачать не удалось, надо делать еще одну рекламную акцию.


Германн   (2008-01-09 03:47:00) [4]


> Anatoly Podgoretsky ©   (09.01.08 03:23) [4]
>
> > Германн  (09.01.2008 01:18:03)  [3]
>
> > а АП собирал "народную мудрость" и размещал на своём сайте:
>
>
> По крохам, так и не собрал всего, народ обленился стихи
> писать не хочет, а начали активно.
>

Ну хоть столько. И так спасибо!  :)

Ну а народ наш ленивый, по умолчанию :)
RAD - он и есть RAD. :-)


Anatoly Podgoretsky   (2008-01-09 03:23:00) [5]

> Германн  (09.01.2008 01:18:03)  [3]

> а АП собирал "народную мудрость" и размещал на своём сайте:

По крохам, так и не собрал всего, народ обленился стихи писать не хочет, а начали активно.


Германн   (2008-01-09 01:18:00) [6]


> Юрий Зотов ©   (08.01.08 23:44) [2]

Очень не хочется быть "буквоедом" (особенно зная твоё отношение к ним:), но приходится. Иначе зачем LVT старался (да и не он один), а АП собирал "народную мудрость" и размещал на своём сайте: http://www.podgoretsky.com/DM/BadWillPoetry.html#BW-03
:)

Позволь тебя перефразировать.
"
> Если в функцию нужно передать параметры, которые ее прототипом
> не предусмотрены, то проще всего сделать это через переменные формы, в которой описан данный метод-обработчик события.
>


Юрий Зотов   (2008-01-08 23:44:00) [7]

Если в функцию нужно передать параметры, которые ее прототипом не предусмотрены, то проще всего сделать это через глобальные переменные.


{RASkov}   (2008-01-08 20:02:00) [8]

> [0] sten   (08.01.08 19:27)
> первый раз динамически задаю процедуру события нажатия кнопки

События - это свойства, а свойства имеют тип..... Хоть и у событий процедурный тип, но и он описан зарание и его так просто менять нельзя...
А у тебя равносильно тому, что свойству Tag: Integer присваивать строку например: Form1.Tag:='Hello я ваша мама';

ЗЫЖ И не нужно в ручную криво тэги ставить, читать невозможно.... :(


Наверх

Титульная страница Поиск, карта сайта Написать письмо