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

Вниз

Проблемы с StrToDate   Найти похожие ветки 

 
ZrenBy ©   (2003-10-28 09:39) [0]

Приветствую всех.

Тестирую свое произведение на всех возможных и
невозможных режимах.

Сегодня утром меня посетила конгениальнейшая идея.
И я залез в Regional Options -> Date и
поставил Date Separator = "тчк"
А что ? Имею право ? Или заказчик, платящий деньги,
имеет право, а ?

Результат оказался предсказуемым. Полный облом на
StrToDate("2002тчк10тчк28") + на всем остальном

Посему хочется узнать.
1. В D7 также, или нет.
2. И какие могут быть пути решения проблемы, кроме как
считывать
GetLocaleInfo(LOCALE_USER_DEFAULT,LOCALE_SSHORTDATE
GetLocaleInfo(LOCALE_USER_DEFAULT,LOCALE_SDATE
и делать все своими руками


 
Digitman ©   (2003-10-28 09:49) [1]

есть глоб.переменная DateSeparator, куда при инициализации приложения считывается дифолт-значение из рег.настроект системы

ты волен изменить содержимое этой переменной нужным тебе образом, ни на что кроме дальнейшей работы твоего приложения это не повлияет. Все ф-ции конвертации, работающие с датой в строк.представлении, используют значение именно этой переменной


 
ZrenBy ©   (2003-10-28 09:52) [2]

Не пройдет
var DateSeparator: Char;


 
mrcat ©   (2003-10-28 09:55) [3]

>ZrenBy © (28.10.03 09:52) [2]
>Не пройдет

а что, собственно, нужно ?


 
Digitman ©   (2003-10-28 09:58) [4]


> ZrenBy


это почему же ?


 
ZrenBy ©   (2003-10-28 09:58) [5]

>>mrcat © (28.10.03 09:55) [3]
Нужна адекватная работа со всеми законными в Win форматами дат.
В том числе и с YYYYтчкMMтчкDD


 
ZrenBy ©   (2003-10-28 10:00) [6]

>>Digitman © (28.10.03 09:58) [4]

Как пример

DateSeparator := "тчк";
[Error] Unit1.pas(66): Incompatible types: "Char" and "String"


 
Digitman ©   (2003-10-28 10:01) [7]


> ZrenBy


а при чем здесь формат представления даты ? речь-то идет о символе-разделителе компонентов даты ! который будет подставляться при формировании строкового представления даты в позиции, соответствующие формату


 
Anatoly Podgoretsky ©   (2003-10-28 10:04) [8]

ZrenBy © (28.10.03 09:52) [2]
Так ты оказывается знаешь, что формат CHAR

ZrenBy © (28.10.03 09:58) [5]
В том числе например и 2 - YYYY2MM2DD

Ну диагноз по твоему желанию не буду ставить, это домашнее задание.


 
Digitman ©   (2003-10-28 10:05) [9]


> ZrenBy


ах вон оно что !)

не знаю что за блажь с этим "тчк", но и эта задача решается до смешного просто :

showmessage(formatdatetime("dd тчк mm тчк yyyy", now));


 
ZrenBy ©   (2003-10-28 10:06) [10]

Хм-м.
Русским языком пишу, что в Win законным является
не символ-разделитель, а строка символов, являющаяся
Date Separator
Забудьте о символе


 
ZrenBy ©   (2003-10-28 10:07) [11]

>>Anatoly Podgoretsky © (28.10.03 10:04) [8]

Вот именно


 
Anatoly Podgoretsky ©   (2003-10-28 10:08) [12]

ZrenBy © (28.10.03 10:06) [10]
Русским языком еще раз, ты знаешь, что в Дельфи DateSeparator: Char;


 
Digitman ©   (2003-10-28 10:21) [13]

проблема, очевидно, в этом :

в модуле SysUtils фигурирует :

var
DateSeparator: Char;

DateSeparator := GetLocaleChar(DefaultLCID, LOCALE_SDATE, "/");

вместо желаемого тобой :

var
DateSeparator: String;

DateSeparator := GetLocaleStr(DefaultLCID, LOCALE_SDATE, "/");

ничего тут не поделаешь, придется реализовать ф-цию StrToDate() нужным тебе образом


 
Vovchik_A ©   (2003-10-28 10:47) [14]

А ты ваще че сделать то хочешь ?



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

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

Наверх




Память: 0.49 MB
Время: 0.042 c
14-42125
Bel
2003-10-21 20:12
2003.11.13
Вопрос к украинцам.


6-41786
Dev
2003-09-18 10:44
2003.11.13
Сокеты в Delphi 7


1-41444
ewgeny
2003-10-29 12:26
2003.11.13
TService и формы


4-42300
Andriy Tysh
2003-09-17 17:48
2003.11.13
Resize колонок в DBGrid е


3-41041
diww
2003-10-14 16:38
2003.11.13
Помогите с запросом