![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменения типа данных
KyRo © (2006-03-14 11:45:00)У меня есть строка в каторой теоретически должна находится дата в формате ( 12.01.2006 ) эту строку можно фунцией перевести в тип данных даты.
Как можно проверить что формат строки такой который можно перевести в дату ??
KyRo (2006-03-14 18:20:00) [1]
> DateSeparator := '.';
> ShortDateFormat := 'dd.mm.yyyy';
> try
> d:=StrToDate(s);
> ...
Ну это совсем не то .!!
Хотя тот вариант с TryDateToStr() мне вроде как подошол щас пратестирую и есле глюков не будет то ее и оставлю
Джо (2006-03-14 14:36:00) [2]> [25] Sergey13 © (14.03.06 14:34)
> Она вроде зависит от региональных настроек, т.е. на разных
> машинах с одной строкой можно получить разные результаты.
Она зависит от содержимого глобальной переменной DateSeparator.
Johnmen (2006-03-14 14:35:00) [3]
DateSeparator := '.';
ShortDateFormat := 'dd.mm.yyyy';
try
d:=StrToDate(s);
...
Sergey13 (2006-03-14 14:34:00) [4]2[24] KyRo (14.03.06 14:28)
Она вроде зависит от региональных настроек, т.е. на разных машинах с одной строкой можно получить разные результаты.
KyRo (2006-03-14 14:28:00) [5]Я думаю что TryStrToDate это то что мне и нужно буду щас пробовать
Джо (2006-03-14 14:20:00) [6]> [21] KyRo (14.03.06 14:14)
> Конечно я могу проверить строку на вхождение точек и чисел
> но это так же не гарантирует мне что она будет правильной
То, что она будет правильной не может гарантировать НИКТО и НИЧТО.
Sergey13 (2006-03-14 14:17:00) [7]2 [21] KyRo (14.03.06 14:14)
Гарантирует только изменение типа.
KyRo (2006-03-14 14:14:00) [8]Конечно я могу проверить строку на вхождение точек и чисел но это так же не гарантирует мне что она будет правильной
Джо (2006-03-14 14:13:00) [9]> [19] KyRo (14.03.06 14:12)
> Дело не в формате даты !!! Формат всегда у меня один это
> дни.месяцы.год
> Но проблема в том что место строки (12.01.2006) у меня может
> быть вариант когда будет (12.01.укуычвв) или вообще (выаываываыв)
> что то такое при переводе такой строки будет ошибка , а
> мне надо что бы она не возникала , для этого я и хочу проверить
> можно ли строку переводить в тип дата или же у меня бракованая
> строка и ее надо откинуть .
Ну, так смотри пост [1] Джо ©.
KyRo (2006-03-14 14:12:00) [10]Дело не в формате даты !!! Формат всегда у меня один это дни.месяцы.год
Но проблема в том что место строки (12.01.2006) у меня может быть вариант когда будет (12.01.укуычвв) или вообще (выаываываыв) что то такое при переводе такой строки будет ошибка , а мне надо что бы она не возникала , для этого я и хочу проверить можно ли строку переводить в тип дата или же у меня бракованая строка и ее надо откинуть .
Anatoly Podgoretsky (2006-03-14 13:59:00) [11]Так пусть и конвертирует, зачем проверять то?
А что он будет делать если не проверится?
Desdechado (2006-03-14 13:57:00) [12]да, не договорил
автору, видимо, нужно конвертнуть это в поле типа "дата", вот и озадачился
Desdechado (2006-03-14 13:56:00) [13]> Ну так и измени тип данных
Похоже, у автора именно такая задача и стоит. Есть строковое поле, в которое ручками долбили даты. Но вот как их туда вдолбили, знают только долбильщики. Поэтому формат будет весьма произвольный. Подозреваю, что:
- день будет все-таки не между месяцем и годом, бо у нас так не пишут
- порядок гггг.мм.дд или дд.мм.гггг
- возможно, год будет короткий
- возможно, будут другие разделители (в т.ч. запятые и пробелы)
- возможно, разделители будут по несколько (две точки подряд или точка-пробел)
Sergey13 (2006-03-14 13:50:00) [14]2KyRo (14.03.06 11:45)
>У меня есть строка в каторой теоретически должна находится дата
Ну так и измени тип данных со "Строка" на "Дата" и проверять ничего не надо будет.
Johnmen (2006-03-14 13:50:00) [15]
> Anatoly Podgoretsky © (14.03.06 13:45) [13]
> А он и докажет, что это 1 декабря, а 13.01.2006 - 13 января
Не сомневаюсь, что т.Акцесс на многое способен. Вот пусть и приводит доказательства! А не свои беспочвенные выводы...:)
Anatoly Podgoretsky (2006-03-14 13:45:00) [16]Johnmen © (14.03.06 13:42) [12]
А он и докажет, что это 1 декабря, а 13.01.2006 - 13 января
Johnmen (2006-03-14 13:42:00) [17]
> Anatoly Podgoretsky © (14.03.06 13:34) [10]
> Закладываться можно, но Акцесс докажет, что нельзя.
Если мы вообще хотим что-то сделать, то закладываться нужно !
Не знаю, что там думает т.Акцесс, пусть здесь излагает своё док-во!
:)
Desdechado (2006-03-14 13:41:00) [18]Johnmen © (14.03.06 13:31) [8]
автор-то говорит "теоретически должна находится дата" и ее предполагаемый формат
но вот насколько предположения совпадают с реальностью?
Anatoly Podgoretsky (2006-03-14 13:34:00) [19]Johnmen © (14.03.06 13:31) [8]
Закладываться можно, но Акцесс докажет, что нельзя.
Джо (2006-03-14 13:32:00) [20]Ребята, вы о чем? Вопрос ведь выражен прямо:
> Как можно проверить что формат строки такой который можно
> перевести в дату ??