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

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

  1. semantics

    semantics Гость

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

    etc Гость

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

    semantics Гость

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

    etc Гость

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

    semantics Гость

    Репутация:
    0
    Да, речь о сохранении изменений в файле
     
  6. etc

    etc Гость

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

    semantics Гость

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

    etc Гость

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

    semantics Гость

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

    etc Гость

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

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

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

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

    etc Гость

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

    BurcevD Гость

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

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

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