![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Дано: строковая переменная.
Задача: определить является ли она датой формата TDateTime ![]() |
#2
|
||||
|
||||
![]() Теория...
DateTime в делфи это число в формате LongDouble... Целая часть элемента данных типа TDateTime соответствует количеству дней, прошедших с полночи 30 декабря 1899 года. Дробная часть элемента данных типа TDateTime соответствует времени дня. Следующие примеры поясняют сказанное: Значение.....Дата...........Время 0.............30.12.1899....00:00:00 0.5..........30.12.1899....12:00:00 1.5..........31.12.1899....12:00:00 -1.25.......29.12.1899....06:00:00 35431.0....01.01.1997....00:00:00 В начале был Бит, потом Байт и только потом появилось Слово... Последний раз редактировалось NIch, 27.11.2009 в 12:03. |
#3
|
|||
|
|||
![]() Пример NIch-а не пройдет, т.к. значение longВщгиду можно записать любое, но это не значит что при преобразовании получим правильную дату.
Простейший способ Код:
var d: TDateTime; s: string; ... try d := StrToDateTime(s); except Application.MessageBox('Введенная дата не корректна. Повторите ввод', 'Ошибочка', MB_OK or MB_ICONWARNING); end; ... |
#4
|
|||
|
|||
![]() Цитата:
Код:
function IsDateTime(const S:String):boolean; var zDate:TDateTime; begin Result:=TryStrToDateTime(S, zDate); end; |
#5
|
|||
|
|||
![]() всем спасибо.
С try\exept работает лучше всего. Значит пусть так и будет. ![]() |
#6
|
|||
|
|||
![]() Цитата:
Функция TryStrToDateTime взята из StrToDateTime и блок try/except в данном случае бесмысленен) ![]() |
#7
|
|||
|
|||
![]() Цитата:
Функция TryStrToDateTime взята из StrToDateTime и блок try/except в данном случае бесмысленен) ![]() |
#8
|
||||
|
||||
![]() Цитата:
В начале был Бит, потом Байт и только потом появилось Слово... |
#9
|
|||
|
|||
![]() Цитата:
мне нужна ошибка данного действия ![]() |
#10
|
|||
|
|||
![]() народ! есть вопрос:
1. Можно ли вытянуть дату из BIOS? Если да то как? 2. Ходят слухи, что можно прописать в материнку какое-то значение. Мне необходимо хотя бы флаг зашить. Это возможно? и КАК???? ![]() |
#11
|
|||
|
|||
![]() Цитата:
Код:
if not IsDateTime('10.10.2010 07:00:00') then ShowMessage('Внимание: введенная строка не является датой!'); |
#12
|
|||
|
|||
![]() Код HTML:
|