Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.22;
Скачать: CL | DM;

Вниз

Изменения в наборе данных   Найти похожие ветки 

 
RDA   (2002-06-29 15:11) [0]

Мастера подскажите как узнать изменил ли пользователь данные в наборе или нет, для того чтобы задать вопрос "Сохранять или нет изменения"


 
Lola   (2002-06-29 19:47) [1]

В каком компаненте он вводит данные?


 
Anatoly Podgoretsky   (2002-06-29 20:20) [2]

Если примененные тобой компоненты не поддерживают саойство modified, то как минимум помможет старинный, проверенный метод, сохранить и сравнить


 
kaif   (2002-06-30 04:28) [3]

Нужно сделать переменную FModified: boolean. Затем в обработчик DataSource.OnDataChange вписать:
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
if Field <> nil then
FModified := True;
end;
---------
Затем в событии OnCloseQuery формы проверить FModified:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if FModified then
case MessageDlg("Сохранить изменения", mtConfirmation,
[mbYes, mbNo, mbCance], 0) of
mrYes: SaveChanges;
mrCancel: CanClose := False;
end;
end;
----------
Затем написать процедуру сохранения, в которой FModified после успешного сохранения False Присваивать.
----------
В общем, что-то в этом роде...


 
kaif   (2002-06-30 04:34) [4]

Можно, конечно и сравнить все, как предлагает, Anatoly Podgoretsky © (29.06.02 20:20)
:))
А затем, если пользователь все же хочет сохранить написать:
ShowMessage("Да тут сохранять нечего! Измените что-нибудь и нажмите OK еще раз");
(шутка)


 
dus   (2002-06-30 11:05) [5]

Только способ, предложенный kaif"ом тоже не лишен недостатков. Представь, что пользователь вводит информацию: ввел один символ - отработали, ввел другой - опять отработали, хотя вроде бы и незачем...

RDA, пиши конкретнее, какой компонент используешь.



 
Anatoly Podgoretsky   (2002-06-30 11:45) [6]

kaif © (30.06.02 04:34)
Нет нужды сохранять и оповещать пользователя, если нет изменения, оповещать нужно при только отмене операции если есть измененые данные, а иначе пользователь взмолится на такой добрый серсвис


 
Lola   (2002-06-30 12:59) [7]

По-моему, сравнивать надо при потере фокуса компонентом и переменная - FModified := True, а запрашивать о сохранении, если выбрали другую операцию типа "добавить запись" или "печать", т.е. не только при закрытии формы. Тогда и все сравнивать не придется.


 
PavelB   (2002-07-01 09:58) [8]

а почему бы не использовать свойство Modified TDataSet



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

Текущий архив: 2002.07.22;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.005 c
1-70751
Loco
2002-07-07 17:40
2002.07.22
Исключения


1-70710
Андрусь
2002-07-09 13:11
2002.07.22
Объясните принципиальное отличие


14-70912
Dim!S
2002-06-21 13:04
2002.07.22
Interbase


14-70864
Алоэ
2002-06-22 22:26
2002.07.22
Как подключить локалку к инету ?


7-70946
Slavok
2002-04-30 13:55
2002.07.22
Как узнать Caption, Left, Top компанента, если знать его индекс?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский