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

Вниз

Почему функция возвращает фалсе   Найти похожие ветки 

 
KyRo   (2006-03-21 12:02) [0]

if TryStrToDate(Trans[6],DT)
             then
            ERR_Table.FieldByName("DATE_TR").Value:=Trans[6];


Подскажите почему Фалсе если число 12.22.04 и нормально все когда
04.01.05 ?

Формат даті в базу вводится именно такой как и надо


 
Плохиш ©   (2006-03-21 12:05) [1]

Локальные настройки короткой даты "DD.MM.YY"


 
Сергей М. ©   (2006-03-21 12:05) [2]


> почему Фалсе


Ну наверно потому что (цитата из справки)

S must consist of two or three numbers, separated by the character defined by the DateSeparator global variable or its TFormatSettings equivalent


 
Reindeer Moss Eater ©   (2006-03-21 12:06) [3]

ShowMessage(ShortDateFormat);


 
KyRo   (2006-03-21 12:12) [4]

Предлогаете перевести в длинный формат ??
Потому как некоторы даты в этом формате проходят , а некоторые нет ??


 
Сергей М. ©   (2006-03-21 12:17) [5]


> Потому как некоторы даты в этом формате проходят , а некоторые
> нет ?


И какие же "нет" ?


 
Reindeer Moss Eater ©   (2006-03-21 12:19) [6]

>Предлогаете перевести в длинный формат ??

Лично я предлагаю не ограничиваться полумерами, я предлагаю реформу календаря.


 
Плохиш ©   (2006-03-21 12:20) [7]


> KyRo   (21.03.06 12:12) [4]
> Предлогаете перевести в длинный формат ??

Это ваша программа

> Потому как некоторы даты в этом формате проходят , а некоторые
> нет ??

Чушь


 
Рамиль ©   (2006-03-21 12:27) [8]


> Потому как некоторы даты в этом формате проходят , а некоторые
> нет ??

Да не некоторые.
04.01.05 интерпретируется как 4-ое января
а
12.22.04 как 12-ое 22-ого месяца.
Первый же ответ

> Плохиш ©   (21.03.06 12:05) [1]

был исчерпывающим, что тебе еще надо?


 
KyRo   (2006-03-21 12:30) [9]

Ну я вообщем то понял из за чего .
Подскажите тогда что лучше сделать если у меня половина дат в одном формате , а другая половина в другом как проверить в каком формате дата ??


 
Плохиш ©   (2006-03-21 12:34) [10]


> KyRo   (21.03.06 12:30) [9]
> Ну я вообщем то понял из за чего .
> Подскажите тогда что лучше сделать если у меня половина
> дат в одном формате , а другая половина в другом как проверить
> в каком формате дата ??

Это надо спросить у того, кто тебе эти данные поставляет.


 
Sergey13 ©   (2006-03-21 12:34) [11]

2[9] KyRo   (21.03.06 12:30)
Я тебе давно говорил, что лучше перевести поле в формат даты и не маяться с форматированием строки.
Иначе, чувствую, недалек тот день, когда ты спросишь - "а как мне отсеять записи по диапазону дат?".


 
Reindeer Moss Eater ©   (2006-03-21 12:34) [12]

>как проверить в каком формате дата ??

Тебе про это функция рассказывает TryStrToDate.
Надо принимать её результат как есть, а не чесать репу почему она тебе фальш возвратила.
Раз возвратила значит аргументом  была не дата.


 
Reindeer Moss Eater ©   (2006-03-21 12:43) [13]

если у меня половина дат в одном формате , а другая половина в другом как проверить в каком формате дата ??

06.11.06
11.07.06

это 6-nov-2006 и 11-jul-2006?
или может это 11 июня 2006 и 11 июля 2006?
нет, а может это 6 ноября и 7 ноября?


 
KyRo   (2006-03-21 12:47) [14]


> Sergey13 ©

У меня и так поле формата дата.
На сервере дата в нашем формате покрайней мере отображается в нашем.
Даты которые поставляются , поставляются разными устройствами и переконфигурировать их не реально , а насчет принимать как есть то я не могу иначе я не смогу эту запись потом найти в базе !! Мне надо что бы у нее обязательно была дата.

Если я буду переводить дату в случае фалса функцией
FormatDateTime("mm.dd.yyyy", fsDateTimePicker3.date);
то у меня может быть вариант когда вообще  вместа даты прийдет
строка в виде "12.sZA.23" и если на такую строку нарветса функция то будет ошибка.
Мне надо как то тогда проверить в каком формате эта дата
как это можно сделать ?


 
Reindeer Moss Eater ©   (2006-03-21 12:51) [15]

Да никак, если ты еще не понял.

"01.02.03"

Это может быть и первое февраля и второе января.
При обеих форматах системной даны dd.mm.yy и mm.dd.yy
эта строка преобразуется в валидную дату.


 
Рамиль ©   (2006-03-21 12:53) [16]

При такой постановке задачи НЕЛЬЗЯ опираться на результат TryStrToDate.
Надо знать, от какого устройства данные и преобразовывать в соответсвии с ним. Проверить в каком формате дата нельзя, потому что, например 01.01.06 может быть одновременно и в формате DD.MM.YY и в формате MM.DD.YY. Неужели не понятно?!.


 
balepa ©   (2006-03-21 12:56) [17]

Если знаеш на каких устройствах какие форматы можно и отсеять по устройствам (если конечно в базе есть названия устройств)



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

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

Наверх




Память: 0.51 MB
Время: 0.045 c
2-1142841491
!*!*!
2006-03-20 10:58
2006.04.02
Потоки (Thread)


2-1142850583
Вовка
2006-03-20 13:29
2006.04.02
Вопрос по ф-ции GetCurrentDirectory


1-1141236048
X-Man
2006-03-01 21:00
2006.04.02
Заставить exe на Delphi грузить dll на c++


2-1142410056
demin
2006-03-15 11:07
2006.04.02
база данных клиентов с нуля...


11-1123414583
EVILDeath
2005-08-07 15:36
2006.04.02
Опять proxies =(