Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.04.02;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.046 c
15-1142349355
Desdechado
2006-03-14 18:15
2006.04.02
Новый движок форума


2-1142405297
dera
2006-03-15 09:48
2006.04.02
Как реализовать такое?..


2-1142935290
tort
2006-03-21 13:01
2006.04.02
Что такое Tag и как им пользоваться?


15-1141841936
QuasiLamo
2006-03-08 21:18
2006.04.02
runtime-редактор ресурсов


2-1142675514
redom
2006-03-18 12:51
2006.04.02
Модули





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский