Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2012, 18:36   #1
serega96
Пользователь
 
Регистрация: 14.12.2011
Сообщений: 62
По умолчанию Работа с двумя формами.

Столкнулся с проблемой.
У меня 2 формы.
При нажатии на одну кнопку первой формы должна открываться вторая.
Далее на второй форме нужно выбрать способ заполнения массива (6 разных кнопок). При нажатии на любую вторая форма должна становиться невидимой, а в зависимости от нажатой кнопки массив должен заполняться определённым образом(в первой форме). Как передать в первую форму, какая из кнопок была нажата?
serega96 вне форума Ответить с цитированием
Старый 25.03.2012, 20:00   #2
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
По умолчанию

Используй отдельный модуль, и в нем передавай параметры, предварительно подключив его к обоим формам...
Хакинг - не преступление, а способ выживания.
Ghost of Night вне форума Ответить с цитированием
Старый 25.03.2012, 20:19   #3
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Цитата:
Как передать в первую форму, какая из кнопок была нажата?
Пошагово:
1. В первой форме (в модуле) пишем процедуру
Код:
procedure TForm1.proc(Sender: TObject);
begin
  Form1.Caption := 'Нажата кнопка ' + (Sender as TButton).Caption;
end;
2. Во второй форме (в модуле) всем кнопкам на OnClick цепляем одно и то же событие
Код:
procedure TForm2.Button1Click(Sender: TObject);
begin
  Form1.proc(Sender);
end;
3. Запускам, открываем вторую форму, кликаем по кнопкам и проверяем результат.

PS. Конечно, желательно проверять не по заголовкам кнопок, а, например, прописать им разные свойства Tag. И в процедуре написать
Код:
case  (Sender as TButton).Tag of
.......
end;
Так симпатичнее будет.
Надеюсь смысл понятен....

Последний раз редактировалось _SERGEYX_; 25.03.2012 в 20:21.
_SERGEYX_ вне форума Ответить с цитированием
Старый 25.03.2012, 20:52   #4
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

заведите глобальную переменную типа
Код:
NumBut: Integer;
По нажатию на кнопку 1,2,3... i присваивайте этой переменной соответствующее значение, а затем в первой форме пишите:
Код:
if Unit2.NumBut = 1 then {действия при нажатии 1 кнопка}
if Unit2.NumBut = 2 then {действия при нажатии 2 кнопка}
// и так далее до i-ой кнопки
kta87 вне форума Ответить с цитированием
Старый 26.03.2012, 11:22   #5
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
По умолчанию

На кнопке в первой форме пиши
Form2.ShowModal();
//проверка какой-то переменной в котрой указаны значения
//например как у kta87

В результате, проверка будет происходить после закрытия формы...
Хакинг - не преступление, а способ выживания.
Ghost of Night вне форума Ответить с цитированием
Старый 26.03.2012, 11:24   #6
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
По умолчанию

либо заполняй массив во второй форме, а потом как глобальную переменную передавай в первую форму...
Хакинг - не преступление, а способ выживания.
Ghost of Night вне форума Ответить с цитированием
Старый 26.03.2012, 14:08   #7
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Ну как-бы ShowModal у форм никто не отменял и они при этом прекрасно ModalResult прописанный у соответствующей кнопки возвращают. Покопайте здесь - найдёте немало интересного.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с формами маГГ85 PHP 6 16.01.2012 22:18
Приложение с двумя формами. Delphi varlonec Помощь студентам 0 04.03.2010 20:53
Обмен данными между двумя формами в Delphi NecroSlider Помощь студентам 2 30.07.2009 11:52
Программа с двумя формами Raivolo Помощь студентам 4 06.02.2009 02:27
Как создать exe. с двумя формами? AhmetJan Общие вопросы C/C++ 6 30.01.2009 15:55