Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по созданию процедуры, передача параметров процедуре 
V
    Опции темы
rutiger
Дата 18.10.2006, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 25.12.2005

Репутация: нет
Всего: нет



Рябят, помогите !

Хочу создать процедуру в которой в качестве параметров передавались имена компонентов (типа edit1.text и т.д.)

Так даже ума не приложу как это сделать...

Надо одной процедуре подставлять каждый раз разный edit.

Помогите, пож ! smile 
PM MAIL WWW ICQ   Вверх
Snowy
Дата 18.10.2006, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Ну так и передавай нужный едит
Код

procedure ShowText(e: TEdit);
begin
  ShowMessage(e.Text);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowText(Edit1);
end;

PM MAIL   Вверх
rutiger
Дата 18.10.2006, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 25.12.2005

Репутация: нет
Всего: нет



Что то я не понял...

Мне надо так :

процедура ХХХ (параметры);

begin
q1:=q2+q3;
end;

А вместо q1,2,3 нужно подставлять edit1,2,3 а потом 4,5,6  и так далее !

Может криво объяснил...., но мне надо так .
PM MAIL WWW ICQ   Вверх
Hydroxide
Дата 18.10.2006, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 17.10.2006

Репутация: нет
Всего: нет



Цитата

передавались имена компонентов (типа edit1.text и т.д.)


Может значение Edit.. а не имя...?
PM MAIL   Вверх
rutiger
Дата 18.10.2006, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 25.12.2005

Репутация: нет
Всего: нет



Ща будет пример.

Добавлено @ 20:07 
Вот кусочек :

Код

for a:=0 to memo5.Lines.Count-1 do
    begin
     s:=pos('BEHAV',memo5.Lines.Strings[a]);
    if s<> 0 then
              begin
              d:=copy(memo5.Lines.Strings[a],71,2);
              memo6.Lines.Add(d);
              gauge3.Progress:=strtoint(d);
              dbchart3.Series[0].Clear;
                  for nn:=0 to memo6.Lines.Count-1 do
                  dbchart3.Series[0].Add(strtofloat(memo6.Lines[nn]));
              end;
    end;



и вот таких кусочков у меня штук 10 ! И в каждом разные memo.

Нужно сделать так, чтобы memo5.lines.count-1 менялся на memo7.lines.count-1.
А весь этот блок , который я написал у меня был написан только один раз (в процедуре) и я ей просто бы передавал номера memo !

Надеюсь теперь меньше сумбура, или нет... ?



Это сообщение отредактировал(а) Girder - 18.10.2006, 22:45
PM MAIL WWW ICQ   Вверх
Snowy
Дата 18.10.2006, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Может я коряво объяснил?
Код

procedure MyProc(q1, q2, q3: TEdit);
begin
  q1.Text := q2.Text + q3.Text;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  MyProc(Edit1, Edit2, Edit3);
  MyProc(Edit4, Edit5, Edit6);
  MyProc(Edit7, Edit8, Edit9);
end;

PM MAIL   Вверх
rutiger
Дата 18.10.2006, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 25.12.2005

Репутация: нет
Всего: нет



Спасибо ! 
Я только ща понял !

Буду пробовать ! smile 
PM MAIL WWW ICQ   Вверх
aktuba
Дата 18.10.2006, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 16
Всего: 38



Код

procedure MyProc(Sender_1, Sender_2, Sender_3: TObject);
begin
  TEdit(Sender_1).Text := TEdit(Sender_2).Text + TEdit(Sender_3).Text;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  MyProc(Edit1, Edit2, Edit3);
  MyProc(Edit4, Edit5, Edit6);
  MyProc(Edit7, Edit8, Edit9);
end;


По-моему, так правильнее и практичнее... А можно так:

Код

procedure MyProc(Sender_1, Sender_2, Sender_3: TObject);
begin
  if (Sender_1 is TEdit) and (Sender_2 is TEdit) and (Sender_3 is TEdit) then
    TEdit(Sender_1).Text := TEdit(Sender_2).Text + TEdit(Sender_3).Text;
  if (Sender_1 is TButton) and (Sender_2 is TButton) and (Sender_3 is TButton) then
    TButton(Sender_1).Tag := TButton(Sender_2).Tag + TButton(Sender_3).Tag;
end;




--------------------
user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0519 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.