Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Обязательные для ввода поля / 8 сообщений из 8, страница 1 из 1
15.06.2003, 09:05
    #32182632
Gennady К.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязательные для ввода поля
Подскажите, кто знает...

Сделал форму для редактирования записи
Как сделать так, чтобы, если некоторое поле не введено
то окно не закрывалось (а то возникает ошибка выполнения),
а к примеру выводило сообщение об ошибке или еще что?

Геннадий
...
Рейтинг: 0 / 0
15.06.2003, 11:46
    #32182654
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязательные для ввода поля
try...exception
...
Рейтинг: 0 / 0
15.06.2003, 12:07
    #32182659
Gennady К.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязательные для ввода поля
Извините, непонял. (Я недавно изучаю Delphi)
Если в форме просмотра я вызываю другую - fm_Edit_pf_batch
..DM.qu_pf_batch.Append;
..if fm_Edit_pf_batch.ShowModal = mrOk then
....begin
.....DM.qu_pf_batch.Post;
.....DM.qu_pf_batch.UpdateBatch;
....end
..else
.....DM.qu_pf_batch.Cancel;
А в форме fm_Edit_pf_batch на кнопке Ok установлено ModalResult mrOK
То куда поставить try...exception???

Если можно вставьте хоть маленький примерчик....
...
Рейтинг: 0 / 0
15.06.2003, 13:26
    #32182676
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязательные для ввода поля
try...exception
В Хелпе понятно описано ,

DM.qu_pf_batch.Append;
if fm_Edit_pf_batch.ShowModal = mrOk then
begin
try
begin
DM.qu_pf_batch.Post;
DM.qu_pf_batch.UpdateBatch;
exception (...) (сорри непомню как в делфях)
do ....
end
end
else
DM.qu_pf_batch.Cancel;
что то в таком духе ...

но если ты используешь
TEdit-ы то лутьше их сначала преред
закрытем фомы проверять на "пустоту"
...
Рейтинг: 0 / 0
15.06.2003, 14:20
    #32182686
lastwarior
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязательные для ввода поля
Не, похоже он не try ... except хочет.

Если Table1 - это твой Dataset, и форма редатирования записи Form1 выводится модально, то:


procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
I: Integer;
S: String;
begin
S := '';
with Table1 do
begin
for I := 0 to Fields.Count - 1 do
begin
if Fields .Required and (Fields.Value = Null) then
begin
S := S + 'Поле "' + Fields.DisplayLabel +
'" необходимо заполнить !' + #13 + #10;
end;//if
end;//for
end;
if S <> '' then
begin
Application.MessageBox(PChar(S), 'Неполный ввод данных',
MB_OK + MB_ICONWARNING);
ModalResult := mrNone;
end;//if
end;
...
Рейтинг: 0 / 0
15.06.2003, 14:23
    #32182687
laswrarior
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязательные для ввода поля
Опа, как покоцало то !

Внутри for цикла Fields заменить на Fields ессно
...
Рейтинг: 0 / 0
15.06.2003, 14:26
    #32182688
lastwarior
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязательные для ввода поля
А .... понятно, форум превращает I в квадратных кавычках в в Italic шрифт.
Ну ты понял, что внутри for используются элементы свойства-массива Fields
...
Рейтинг: 0 / 0
15.06.2003, 15:27
    #32182700
Gennady К.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязательные для ввода поля
Спасибо.
Я как раз не мог найти как свойство required проверить.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Обязательные для ввода поля / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]