Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.02.25;
Скачать: [xml.tar.bz2];

Вниз

Крестик   Найти похожие ветки 

 
Defort ©   (2007-02-05 12:38) [0]

Господа, вопрос наверное очень глупый, но все же: какое событие отвечает за нажатия крестика закрытия? Есть конечно событие OnClose но я так понимаю, что оно не для крестика, а вобще для закрытия формы (т.е. для любого Form.Close). Мне нужно конкретно под крестик


 
Elen ©   (2007-02-05 12:45) [1]


>  Мне нужно конкретно под крестик

Чего так? Чем OnClose OnCloseQuery не катит?


 
Ega23 ©   (2007-02-05 12:46) [2]

А если не крестик, а Alt+F4? Тогда что?


 
umbra ©   (2007-02-05 12:48) [3]

"конкретно под крестик" надо обрабатывать сообщение WM_SYSCOMMAND с командой SC_CLOSE


 
Zeqfreed ©   (2007-02-05 13:10) [4]

Конкретно крестик — WM_NCHITTEST, WM_NCBUTTONDOWN, WM_NCBUTTONUP.


 
Defort ©   (2007-02-05 13:50) [5]

Нет, а вообще событие OnClose для любого закрытия формы или только под "крестик". У меня окошко, где есть кнопочки ОК и Отмена. Вот крестик должен выполнять функции кнопки "Отмена", но я боюсь что если повесить эту функцию на OnClose, то при нажатии кнопки ОК (там форма тоже закрывается) у меня будут выполнятся действия отмены...


 
iXT ©   (2007-02-05 15:29) [6]

Чего-чего?????
OnClose - событие возникающее при закрытии формы. Чего туды положешь, то выполнится при закрытии формы.
З.Ы. Сформулируй вопрос нормально!!!


 
Ega23 ©   (2007-02-05 15:33) [7]

значение ModalResult проверяй.


 
iXT ©   (2007-02-05 15:37) [8]

Мой телепатор подсказывает что "крестик" тут вообще окажется не причем


 
RASkov   (2007-02-05 15:44) [9]

> [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;


 
Defort ©   (2007-02-05 18:38) [10]

У меня там довольно сложная система. У меня открывается окошко добавления новой записи в базу. Скорее всего все очень неправильно, поскольку я делал все методом проб и ошибок.

Открывается окно добавления новой записи в табоицу (таблица Договоров). После этого (в режиме редактирования главной таблице) по нажатию кнопки открывается новое окошко для связанной таблицы (график платежей). Перед открытием этого окна для того, чтобы записи в главной таблице был присвоен номер для ключевого поля Key делаеются подряб команды Post и Edit (то есть снова открывается для редактирования). Далее создается график платежей, окошко закрывается. И вот после этого если нажать кнопку Отмена (команда Cancel) - она работает неправильно, т.к. запись то уже запостена.Вот я и пытался решить эту проблему, навесив на кнопку отмена кучу проверок типа: была ли нажата кнопка графика платежей (если нажата - то там была команда Post и отмена уже заключается в удалении этой записи), а если не нажата, то просто Cancel.

В итоге все равно все блин не работает, при попытке сделать Post для главной таблице вылазит ошибка мол не найдена запись для обновления (соседняя тема)......

В общем не знаю что делать. Скажете - читай теорию, но ее у меня нету и мой уровень программинга на делфи не такой большой чтобы читать очень умные книги (я даже sql не знаю)


 
Комбинатор   (2007-02-05 18:56) [11]


>  Скорее всего все очень неправильно

ты прав


 
Defort ©   (2007-02-05 20:38) [12]

2Комбинатор: а как сделать правильно?


 
evvcom ©   (2007-02-06 09:50) [13]

> [8] iXT ©   (05.02.07 15:37)

Мой телепатор это подсказывал уже после прочтения сабжа в общем списке вопросов :)


 
Алхимик ©   (2007-02-06 09:58) [14]

> для того, чтобы записи в главной таблице был присвоен номер
> для ключевого поля Key делаеются подряб команды Post и Edit

См. автоинкремент, триггер, генератор и т.д.
Что за СУБД?

> а как сделать правильно?

Код в студию!


 
Defort ©   (2007-02-06 10:07) [15]


> Что за СУБД?

MS Access


> Код в студию!

Он очень громоздкий и содержит кучу операций не связанных с сабжем. Думаю смысла нет.


> См. автоинкремент, триггер, генератор и т.д.

Где смотреть?


 
Megabyte ©   (2007-02-06 10:12) [16]


> Defort ©  (05.02.07 18:38) [10]

Скажете - читай теорию, но ее у меня нету и мой уровень программинга на делфи не такой большой чтобы читать очень умные книги (я даже sql не знаю)

Кошмар, ну никогда не понимал, как можно работать с БД, не зная SQL...
Что ты бред какой-то пишешь, что мол у тебя мало опыта, чтобы читать книги?! Епта, да по книгам все учатся... Там проще, есть куча примеров, в отличие от многих статей. Или ты все хочешь познать методом научного тыка?


 
evvcom ©   (2007-02-06 10:29) [17]

> [16] Megabyte ©   (06.02.07 10:12)
> научного тыка?

научного втыка :)
Сейчас навтыкают ему здесь понаучному, и, возможно, тогда он сядет за книги.


 
Defort ©   (2007-02-06 14:40) [18]

юмористы


 
iXT ©   (2007-02-06 16:49) [19]

Не сядет. Судя по программулине переделывать ему ее уже не дадут. Сл-но будет извращение абы работало.
По теме ищи Commit, RollBack... если access могет


 
evvcom ©   (2007-02-06 16:55) [20]

> [19] iXT ©   (06.02.07 16:49)

А я и не утверждал, что сядет. :) Я давно научен не употреблять "категоричных" слов типа "всегда", "никогда". И в данном случае я употребил "возможно". :)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.02.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.039 c
2-1170605257
Гость_
2007-02-04 19:07
2007.02.25
SQL фрагмент


15-1170301267
Slider007
2007-02-01 06:41
2007.02.25
С днем рождения ! 1 февраля


15-1170209414
RustamK
2007-01-31 05:10
2007.02.25
Найти наименьшую цепочку...


15-1170278881
Ученик чародея
2007-02-01 00:28
2007.02.25
Pascal компилятор в Java-байт код.


1-1167851251
lookin
2007-01-03 22:07
2007.02.25
Путь к исполняемому файлу





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский