![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Кнопка
Максим © (2013-03-21 23:05:00)Здравствуйте. Имеются две формы. Суть в том, что вторая форма должна заменить несколько других. На 2-ой форме есть кнопка без обработки. При вызове второй формы из первой ,наждо создать событие для кнопки на 2-ой форме. как делать не знаю.Спасибо.
icWasya (2013-04-01 12:49:00) [1]>>а для тебя - трехногий враг
А почему враг? Для дерева, мо моему, как раз не враг - зверь вносит азотные удобрения. Вот для бетонного столба будет плохо.
O'ShinW (2013-04-01 08:40:00) [2]:)
"Дружба - она ведь разная, березка.. Вот для меня собака - четвероногий друг, а для тебя - трехногий враг"
(беседа русского человека с березкой)
Inovet (2013-03-31 15:33:00) [3]> [22] Максим (27.03.13 17:42)
> Я не собака, у меня ремонт
"Первоначально он отнесся ко мне неприязненно и даже оскорблял меня, то есть думал, что оскорбляет, называя меня собакой, — тут арестант усмехнулся, — я лично не вижу ничего дурного в этом звере, чтобы обижаться на это слово"
(слова Иешуа из Мастер и Маргарита)
Максим (2013-03-28 00:18:00) [4]Исем спасибо. ТЕМА ЗАКРЫТАюSQL я не применял.
Максим (2013-03-27 17:42:00) [5]здрасти. Я не собака, у меня ремонт. Редко включаю технику
Anatoly Podgoretsky (2013-03-26 15:18:00) [6]> clickmaker (26.03.2013 11:44:20) [20]
А он как собака, все понимает, только сказать не может
clickmaker (2013-03-26 11:44:00) [7]мы тут походу друг перед другом выпендриваемся ) автору нужен "оперрат case"
O'ShinW (2013-03-26 11:40:00) [8]одна процедура аля так
procedure RunSql(SQL: string; Param: array of const);
var
i: integer;
begin
Component.SQL.Text := SQL;
for i := low(Param) to High(Param) do
Component.parameter[i].value := Param[i];
Component.Execute;
end;
и дергать ее
ButtonX.onclick
RunSql('insert into Table1 (:id, :name)', [42, 'bla-bla']);
ButtonY.onclick
RunSql('insert into Table2 (:id, :name, :cnt)', [3434, 'bla-bla', 34]);
и тп
clickmaker (2013-03-26 11:21:00) [9]еще вариант: создать DataModule (в котором и будет работа с БД), вынести в него единый обработчик, а формам при создании его назначать. В параметрах обработчика можно передавать всю необходимую инфу для выбора нужной таблицы и т.д.
Германн (2013-03-25 01:38:00) [10]Да и вообще. Выигрыша при замене восьми конкретно заточенных форм на одну универсальную "8 in 1" в твоём случае не будет никакого. Оставь всё как есть и не парься.
Германн (2013-03-25 01:23:00) [11]
> Максим (24.03.13 18:23) [14]
>
> а можно пример с оперрат case?
>
Можно. Но не поймёшь.
Плохиш (2013-03-25 00:01:00) [12]Прочитай про использование методов и свойст в выбранной среде разработки.
Максим (2013-03-24 18:23:00) [13]а можно пример с оперрат case?
procedure TForm1.mmiOborudClick(Sender: TObject);
begin
Form3.ShowModal;
end;
procedure TForm3.BtnDobavitClick(Sender: TObject);
begin
Form1.OborudTable.Insert;
DBGrid1.SetFocus;
end;
procedure TForm3.BtnSaveClick(Sender: TObject);
begin
if Form1.OborudTable.Modified then
Form1.OborudTable.Post;
Close;
end;
Германн (2013-03-22 01:41:00) [14]
> Хочется убраь лишние окна и оставить шавлон.кнопка у каждой
> формы называется сохранить и имеет один и тотже код(различие
> только в том что обращю к разным ...Table)
> Но загвоздка в том, что я не знаю как.
>
Добавь в эту форму свойство, которое будет характеристикой того, с каким полем таблицы она (форма) в данном случае работает. А в обработчике OnClick той самой кнопки сделай выбор вариантов с помощью оператора case.
clickmaker (2013-03-22 00:45:00) [15]> Хочется убраь лишние окна и оставить шавлон.кнопка у каждой
> формы называется сохранить и имеет один и тотже код
создай базовую форму с этой кнопкой, наследуй остальные от нее, только переопределяй таблицу
Максим (2013-03-21 23:52:00) [16]а если так...
суть программы состоит в том, что заносятс данные в базу данных.
сама програма состоит ~ из 8 окон.
Это оборудование, где стоит и т.д.
каждое окно обращается к своему AdoTable.
Хочется убраь лишние окна и оставить шавлон.кнопка у каждой формы называется сохранить и имеет один и тотже код(различие только в том что обращю к разным ...Table)
Но загвоздка в том, что я не знаю как.
Rouse_ (2013-03-21 23:34:00) [17]
> Максим (21.03.13 23:29) [9]
> но, этот код надо перенести на form1 и что бы он передавался
> кнопке BtnDobavit на form3. что-то типа этого...
Сам понял что сказал?
Максим (2013-03-21 23:29:00) [18]но, этот код надо перенести на form1 и что бы он передавался кнопке BtnDobavit на form3. что-то типа этого...
Максим (2013-03-21 23:27:00) [19]procedure TForm3.BtnDobavitClick(Sender: TObject);
begin
Form1.OborudTable.Insert;
DBGrid1.SetFocus;
end;
все прекрасно работает.
clickmaker (2013-03-21 23:25:00) [20]ну так, пусть осмысливает теперь )