Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

функция или процедура проверяющая правельность введеной даты


FIL-23 ©   (2007-05-18 10:39:00) 

Нужна процедура которая проверялабы правельность введеной даты т.е. если я введу 30.02.2009 или 40.33.1941 он мне выдал бы ошибку, чтобы естественно считала высокосный год или нет. Зарание спасибо


FIL-23   (2007-05-18 14:35:00) [1]

// регистрация новой даты если она введена корректно
if vvod_new_data=true then
 begin
 if vvedena_data1=true then
   begin
   try

   vvod_new_data_data2_str:=STRTODATE(edit1.Text);
   vvedena_data2:=true;
   vvod_new_data:=false;
   REG_PRGD2:=true;
   i_vvod_new_data:=0;
   panel29.Color:=clBtnFace;
   panel30.Color:=clBtnFace;
   panel31.Color:=clBtnFace;
   panel32.Color:=clBtnFace;
   panel33.Color:=clBtnFace;
   panel34.Color:=clBtnFace;
   panel35.Color:=clBtnFace;
   panel36.Color:=clBtnFace;

    except
    //my_sound_error();
    vvedena_data2:=false;
    end;
   end  else                          
    begin
       try
       vvod_new_data_data1_str:=strtodate(edit1.Text);
       vvedena_data1:=true;
       vvod_new_data:=false;
       REG_PRGD2:=true;
       i_vvod_new_data:=0;
       panel29.Color:=clBtnFace;
       panel30.Color:=clBtnFace;
       panel31.Color:=clBtnFace;
       panel32.Color:=clBtnFace;
       panel33.Color:=clBtnFace;
       panel34.Color:=clBtnFace;
       panel35.Color:=clBtnFace;
       panel36.Color:=clBtnFace;
       EDIT1.Text:=sistemnaya_data;
       memo1.Lines.Add('ПОВТОРИТЕ');
       memo1.Lines.Add('ВВОД ДАТЫ');
       memo1.Lines.Add(#10#13);
        except
        vvedena_data1:=false;
      //  my_sound_error();
        end;
     end;

if (vvedena_data1=true)and(vvedena_data2=true) then
 begin
 if vvod_new_data_data1_str=vvod_new_data_data2_str then
   begin
   sistemnaya_data:=DATETOSTR(vvod_new_data_data1_str);
   EDIT1.Text:=sistemnaya_data;
   end else
     begin
     vvod_new_data_data1_str:=vvod_new_data_data2_str;
     vvedena_data2:=false;
     EDIT1.Text:=sistemnaya_data;
     memo1.Lines.Add('ПОВТОРИТЕ');
     memo1.Lines.Add('ВВОД ДАТЫ');
     memo1.TEXT:=memo1.TEXT+#10#13;
     end;
 end;
end;

не хочет переходить на другую инструкцию если дата не верная :.(


В.И.Ленин   (2007-05-18 12:39:00) [2]

RTFM!!!!


FIL-23   (2007-05-18 12:33:00) [3]

народ напишите пожалуста какой тип у переменной резултат strtodate, ну и как это выглядит. (Exception пробовал, не то)


stakan   (2007-05-18 11:12:00) [4]

IsValidDate


Правильный Вася   (2007-05-18 11:05:00) [5]


> а результат об ошибке у него в какой переменной лежит?

E: Exception


Плохиш   (2007-05-18 11:03:00) [6]


> FIL-23 ©   (18.05.07 10:59) [3]
>
> > Плохиш ©   (18.05.07 10:48) [1]
> >
> > strtodate
>
> а результат об ошибке у него в какой переменной лежит?

Ответ на этот вопрос будет твоим домашним заданием на умение пользоваться справкой.


FIL-23   (2007-05-18 10:59:00) [7]


> Плохиш ©   (18.05.07 10:48) [1]
>
> strtodate

а результат об ошибке у него в какой переменной лежит?


Sergey13   (2007-05-18 10:53:00) [8]

> [0] FIL-23 ©   (18.05.07 10:39)

Почему бы не водить в специальные контролы типа датетаймпикера?


Плохиш   (2007-05-18 10:48:00) [9]

strtodate


Наверх

Титульная страница Поиск, карта сайта Написать письмо