![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Крестик
Defort © (2007-02-05 12:38:00)Господа, вопрос наверное очень глупый, но все же: какое событие отвечает за нажатия крестика закрытия? Есть конечно событие OnClose но я так понимаю, что оно не для крестика, а вобще для закрытия формы (т.е. для любого Form.Close). Мне нужно конкретно под крестик
evvcom (2007-02-06 16:55:00) [1]> [19] iXT © (06.02.07 16:49)
А я и не утверждал, что сядет. :) Я давно научен не употреблять "категоричных" слов типа "всегда", "никогда". И в данном случае я употребил "возможно". :)
iXT (2007-02-06 16:49:00) [2]Не сядет. Судя по программулине переделывать ему ее уже не дадут. Сл-но будет извращение абы работало.
По теме ищи Commit, RollBack... если access могет
Defort (2007-02-06 14:40:00) [3]юмористы
evvcom (2007-02-06 10:29:00) [4]> [16] Megabyte © (06.02.07 10:12)
> научного тыка?
научного втыка :)
Сейчас на втыкают ему здесь понаучному, и, возможно, тогда он сядет за книги.
Megabyte (2007-02-06 10:12:00) [5]
> Defort © (05.02.07 18:38) [10]
Скажете - читай теорию, но ее у меня нету и мой уровень программинга на делфи не такой большой чтобы читать очень умные книги (я даже sql не знаю)
Кошмар, ну никогда не понимал, как можно работать с БД, не зная SQL...
Что ты бред какой-то пишешь, что мол у тебя мало опыта, чтобы читать книги?! Епта, да по книгам все учатся... Там проще, есть куча примеров, в отличие от многих статей. Или ты все хочешь познать методом научного тыка?
Defort (2007-02-06 10:07:00) [6]
> Что за СУБД?
MS Access
> Код в студию!
Он очень громоздкий и содержит кучу операций не связанных с сабжем. Думаю смысла нет.
> См. автоинкремент, триггер, генератор и т.д.
Где смотреть?
Алхимик (2007-02-06 09:58:00) [7]> для того, чтобы записи в главной таблице был присвоен номер
> для ключевого поля Key делаеются подряб команды Post и Edit
См. автоинкремент, триггер, генератор и т.д.
Что за СУБД?
> а как сделать правильно?
Код в студию!
evvcom (2007-02-06 09:50:00) [8]> [8] iXT © (05.02.07 15:37)
Мой телепатор это подсказывал уже после прочтения сабжа в общем списке вопросов :)
Defort (2007-02-05 20:38:00) [9]2Комбинатор: а как сделать правильно?
Комбинатор (2007-02-05 18:56:00) [10]
> Скорее всего все очень неправильно
ты прав
Defort (2007-02-05 18:38:00) [11]У меня там довольно сложная система. У меня открывается окошко добавления новой записи в базу. Скорее всего все очень неправильно, поскольку я делал все методом проб и ошибок.
Открывается окно добавления новой записи в табоицу (таблица Договоров). После этого (в режиме редактирования главной таблице) по нажатию кнопки открывается новое окошко для связанной таблицы (график платежей). Перед открытием этого окна для того, чтобы записи в главной таблице был присвоен номер для ключевого поля Key делаеются подряб команды Post и Edit (то есть снова открывается для редактирования). Далее создается график платежей, окошко закрывается. И вот после этого если нажать кнопку Отмена (команда Cancel) - она работает неправильно, т.к. запись то уже запостена.Вот я и пытался решить эту проблему, навесив на кнопку отмена кучу проверок типа: была ли нажата кнопка графика платежей (если нажата - то там была команда Post и отмена уже заключается в удалении этой записи), а если не нажата, то просто Cancel.
В итоге все равно все блин не работает, при попытке сделать Post для главной таблице вылазит ошибка мол не найдена запись для обновления (соседняя тема)......
В общем не знаю что делать. Скажете - читай теорию, но ее у меня нету и мой уровень программинга на делфи не такой большой чтобы читать очень умные книги (я даже sql не знаю)
RASkov (2007-02-05 15:44:00) [12]> [5] Defort © (05.02.07 13:50)
А что у тебя за "функции кнопки "Отмена""
Лучше кнопку "Отмена" сделай также как и OnClose, а все необходимое на кнопку "Ок" Т.е. на OnClose ничего, на кнопку "Отмена" - Close; и только на кнопку "Ок" все нужное.....
Или
procedure TForm2.ButtonOkClick(Sender: TObject);
begin
.....
ModalResult:=mrOk;
end;
procedure TForm2.ButtonNoClick(Sender: TObject);
begin
.....
ModalResult:=mrNo;
end;
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
case ModalResult of
mrOk: ShowMessage('Ok');
mrNo: ShowMessage('No');
mrCancel: ShowMessage('Cancel');
end;
end;
iXT (2007-02-05 15:37:00) [13]Мой телепатор подсказывает что "крестик" тут вообще окажется не причем
Ega23 (2007-02-05 15:33:00) [14]значение ModalResult проверяй.
iXT (2007-02-05 15:29:00) [15]Чего-чего?????
OnClose - событие возникающее при закрытии формы. Чего туды положешь, то выполнится при закрытии формы.
З.Ы. Сформулируй вопрос нормально!!!
Defort (2007-02-05 13:50:00) [16]Нет, а вообще событие OnClose для любого закрытия формы или только под "крестик". У меня окошко, где есть кнопочки ОК и Отмена. Вот крестик должен выполнять функции кнопки "Отмена", но я боюсь что если повесить эту функцию на OnClose, то при нажатии кнопки ОК (там форма тоже закрывается) у меня будут выполнятся действия отмены...
Zeqfreed (2007-02-05 13:10:00) [17]Конкретно крестик — WM_NCHITTEST, WM_NCBUTTONDOWN, WM_NCBUTTONUP.
umbra (2007-02-05 12:48:00) [18]"конкретно под крестик" надо обрабатывать сообщение WM_SYSCOMMAND с командой SC_CLOSE
Ega23 (2007-02-05 12:46:00) [19]А если не крестик, а Alt+F4? Тогда что?
Elen (2007-02-05 12:45:00) [20]
> Мне нужно конкретно под крестик
Чего так? Чем OnClose OnCloseQuery не катит?