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

Вниз

Подскажите в чем ошибка   Найти похожие ветки 

 
kn   (2002-11-12 11:29) [0]

Уважаемые мастера подскажите пожалуйста в чем ошибка. Надо чтобы программа проверяла все ли поля, и если одно не заполнено не заносила эту запись в базу, а выдавала сообщение и отправляла на страницу этого поля. Используюю следующий код:
if radiobut1.Checked then ADOTable1["b2"]:="муж"
else if radiobut2.Checked then ADOTable1["b2"]:="жен"
else showMessage("Не заполнено поле "пол" "); PageC.ActivePage:=TabSheet1;

Заранее спасибо!


 
Андрей Прокофьев ©   (2002-11-12 11:31) [1]

if radiobut1.Checked then ADOTable1["b2"]:="муж"
else if radiobut2.Checked then ADOTable1["b2"]:="жен"
else begin
showMessage("Не заполнено "пол" ");
PageC.ActivePage:=TabSheet1;
end;



 
Reindeer Moss Eater   (2002-11-12 11:37) [2]

Обрабатывай все в BeforePost


 
kn   (2002-11-12 11:47) [3]

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


 
kn   (2002-11-12 11:53) [4]

Пардон а по точнее насчет BeforePost можно.


 
Jeer ©   (2002-11-12 11:56) [5]

Это событие наступающее перед Post.
Навесь там свою обработку
Что-то еще ?


 
stone ©   (2002-11-12 12:01) [6]

А ты TDBRadioGroup использовать не пытался? Даже код писать не придется...


 
kn   (2002-11-12 12:05) [7]

господа форм много чтото переделывать нет времени. Но если вы подскажите чайнику как написать код с BeforePost просто не знаю как это сделать. Всетаки 2 месяц сижу за DELPhi


 
Jeer ©   (2002-11-12 12:10) [8]

DEL Phi


 
Андрей Прокофьев ©   (2002-11-12 12:15) [9]

А что, так не работает
procedure OnSaveClick(Sender : TObject);
begin
ADOTable1.Edit;
if radiobut1.Checked then ADOTable1["b2"]:="муж"
else if radiobut2.Checked then ADOTable1["b2"]:="жен"
else begin
showMessage("Не заполнено "пол" ");
ADOTable1.Cancel;
PageC.ActivePage:=TabSheet1;
Exit;
end;
...
if Edit1.Text = "" then
begin
showMessage("Не заполнено "имя" ");
ADOTable1.Cancel;
PageC.ActivePage:=TabSheet1;
Exit;
end;
ADOTable1.Post;


 
Reindeer Moss Eater   (2002-11-12 12:22) [10]

>Андрей Прокофьев ©
Это конечно сработает, но!
Пользователь полчаса вводил данные в поля, пропустив одно. Нажимаем кнопку сохранить и все уже введенные (и правильные!) значения улетают в космос.


 
Андрей Прокофьев ©   (2002-11-12 12:29) [11]

2 Reindeer Moss Eater (12.11.02 12:22)
Ну, у меня не TDBEdit, а TEdit в примере :))


 
ЮЮ ©   (2002-11-12 13:01) [12]

>Он выдает сообщения, и все равно сохраняет.

if radiobut1.Checked then ADOTable1["b2"]:="муж"
else if radiobut2.Checked then ADOTable1["b2"]:="жен"
else begin
showMessage("Не заполнено "пол" ");
PageC.ActivePage:=TabSheet1;
Exit; //прервать обработку и выйти из процедуры
end;


 
kn   (2002-11-12 13:12) [13]

ЮЮ спасибо сейчас попробою.(долго не отвечал-был на обеде)


 
kn   (2002-11-12 13:27) [14]

Еще раз всем спасибо.


 
kn   (2002-11-12 14:06) [15]

Господа а после exit даже при всех заполненных полях ничего не идет.



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

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

Наверх




Память: 0.49 MB
Время: 0.01 c
1-93009
Peroon
2002-11-19 01:14
2002.11.28
Как узнать положение курсора в области экрана?


3-92851
Xman
2002-11-11 12:46
2002.11.28
Я много слышал но тольком не нашёл как прогромироват базу без BDE


3-92866
Novishok
2002-11-07 13:59
2002.11.28
Секс!!!


7-93265
alf_
2002-09-28 04:19
2002.11.28
Работа с мышкой


6-93176
Дмитрий К.К.
2002-10-01 15:51
2002.11.28
Kazaa