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

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

Изменения типа данных


Страницы:   1 2

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]

Ребята, вы о чем? Вопрос ведь выражен прямо:

> Как можно проверить что формат строки такой который можно
> перевести в дату ??


Страницы:   1 2

Наверх

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