Как обнаружить обновление формы

Тема в разделе "Delphi - Компоненты", создана пользователем semantics, 8 янв 2009.

  1. semantics

    semantics Гость

    Стандартная задача - не смог найти ответ в литературе.
    Есть обычная форма с вкладки STANDARD, есть поля EDIT.
    Как при выходе из формы обнаружить, что произошло обнвление полей пользователем?
    Как правильно решать эту задачу? Подскажите неопытному программисту!
     
  2. etc

    etc Гость

    А для чего - "обнаруживать"?
     
  3. semantics

    semantics Гость

    Нужно обнаружить обновление полей, чтобы после выхода из формы запросить пользователя - обновлять данные или нет?
     
  4. etc

    etc Гость

    Где обновлять? На тойже форме которую закрывает?
    Мне сдается что речь о сохранении, так ли?
     
  5. semantics

    semantics Гость

    Да, речь о сохранении изменений в файле
     
  6. etc

    etc Гость

    тогда просто нажал "Ок" - сохрани, не нажал - ненадо ...
    а ваще у некоторых контролов есть свойство - Modified ...
     
  7. semantics

    semantics Гость

    Значит обновление можно засечь только для отдельных полей, и без анализа наличия обновления для каждого поля обойтись нельзя?
    Хотелось иметь какой-то простой механизм, не требующий просмотра каждого поля.
    Может быть можно применить другие компоненты для создания формы?
     
  8. etc

    etc Гость

    semantics
    Ну вы сами подумайте, как какаято абстрактная форма может знать, чего вам надо сохранять а чего нет? разве не бред? - истинно бред
    Этот механизм давно известен, и имя ему - программирование.
    Все зависит от условий конкретной хадачи, иногда поможет и ClientDataSet, иногда и другое.
     
  9. semantics

    semantics Гость

    Двум программистам задали вопрос.
    Один старается найти противоречия в вопросе, показать, что ему не всю информацию дали для ответа - вопрос недостаточно узкий для простого ответа, старается дать понять кто тут умный, а кто не очень.
    Второй не критикует автора вопроса, а просто отвечает и старается дать дополнительную информацию, которая прямо не сформулирована в вопросе, но видна ему как эксперту.
     
  10. etc

    etc Гость

    Ага, только автору вопроса както наплевать на отвечающих, он даже не удосужился задать вопрос так чтобы было как можно больше информации, понятности и т.д.
    Да и ваще, закол*цензура*и, это у кого проблеммы, у отвечающих или же наоборот?
    Блин философы, хреновы ... сначала в зеркало, а потом уже, ... если кишка не порвется.

    Вам помогаешь, они еще и хвост задирают, - сначала - думать надо над тем что сказали/указали/...
     
  11. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    За продолжение базара не по теме последуют меры репрессивного характера

    etc, а лично вам последнее предупреждение от меня по совокупности
     
  12. etc

    etc Гость

    European Разрешаю банить меня. Даже не запрещаю в бессрочный бан. :rolleyes:
     
  13. BurcevD

    BurcevD Гость

    ответ по теме: просто сделай обработчик для каждого поля, практически у каждого есть событие OnChange в нем изменит свойство Tag в форме или сделай приватную перемнную, а при закртии OnClose проверь значение этого свойства

    например так
    Код (Text):
    if (self.tag=1) then
    begin
    If MessageDlg('Вы хотите сохранить изменения?',mtCustom,[mbOk,mbNo],0)=mrOK then
    begin
    end;
    end;
    Action:=caFree;
     
Загрузка...

Поделиться этой страницей