Перестала работать StrToDateTime [РЕШЕНО]

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Перестала работать StrToDateTime [РЕШЕНО]

Сообщение Владимир » 10.12.2017 11:00:08

Всем доброго! Внезапно перестала работать ф-ция StrToDateTime, причем
и под Win7, и под Linux (Laz1.6). Похоже, что-то сломал? Создал новый проект с нуля - там то же самое.
Код: Выделить всё
procedure TMainFrm.FormCreate(Sender: TObject);
var
i,j:Integer;
ss,fs,cs,nm:String;
myList:TStringList;
dt:TDateTime;
flFile:Boolean;
Label ff;
begin
DefaultFormatSettings.ShortDateFormat:='dd.mm.yy';
nm:='23.05.17 12:12:00';
dt:=StrToDateTime(nm);

Получаю: "23.05.17" is not a valid date format.
Последний раз редактировалось Владимир 10.12.2017 12:08:16, всего редактировалось 1 раз.
Владимир
постоялец
 
Сообщения: 355
Зарегистрирован: 23.08.2007 19:48:39
Откуда: Москва

Re: Перестала работать StrToDateTime

Сообщение vitaly_l » 10.12.2017 11:27:22

Владимир писал(а):is not a valid date format.

В laz 1.9 + win10 - всё корректно работает.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Перестала работать StrToDateTime

Сообщение Владимир » 10.12.2017 11:33:51

vitaly_l писал(а):
Владимир писал(а):is not a valid date format.

В laz 1.9 + win10 - всё корректно работает.

Так у меня вчера в 1.6 все работало...
Владимир
постоялец
 
Сообщения: 355
Зарегистрирован: 23.08.2007 19:48:39
Откуда: Москва

Re: Перестала работать StrToDateTime

Сообщение vitaly_l » 10.12.2017 11:47:22

Владимир писал(а):Владимир писал(а): is not a valid date format.
vitaly_l писал(а): В laz 1.9 + win10 - всё корректно работает.
Владимир писал(а): Так у меня вчера в 1.6 все работало...


И что Вы пили этой ночью?
Быть может курили что-то этой ночью?
Таблетки? Порошок? Клей?
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Перестала работать StrToDateTime

Сообщение Владимир » 10.12.2017 12:06:39

vitaly_l писал(а):
Владимир писал(а):Владимир писал(а): is not a valid date format.
vitaly_l писал(а): В laz 1.9 + win10 - всё корректно работает.
Владимир писал(а): Так у меня вчера в 1.6 все работало...


И что Вы пили этой ночью?
Быть может курили что-то этой ночью?
Таблетки? Порошок? Клей?


Смешно.
Заработало вот так
Код: Выделить всё
DefaultFormatSettings.ShortDateFormat:='dd.mm.yy';
DefaultFormatSettings.DateSeparator:='.';
st:='12.06.17 12:23:00';
dt:=StrToDateTime(st);

Все равно странно - раньше разделитель не указывал - все работало...
Владимир
постоялец
 
Сообщения: 355
Зарегистрирован: 23.08.2007 19:48:39
Откуда: Москва

Re: Перестала работать StrToDateTime [РЕШЕНО]

Сообщение Лекс Айрин » 10.12.2017 18:27:42

Владимир писал(а):раньше разделитель не указывал - все работало...


Так могли поменять разделитель по умолчанию
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Перестала работать StrToDateTime [РЕШЕНО]

Сообщение SSerge » 10.12.2017 20:12:15

Владимир писал(а):Все равно странно - раньше разделитель не указывал - все работало...



DefaultFormatSettings

Storage for default settings
Declaration

Source position: sysinth.inc line 57

var DefaultFormatSettings: TFormatSettings = (CurrencyFormat: 1; NegCurrFormat: 5; ThousandSeparator: ','; DecimalSeparator: '.'; CurrencyDecimals: 2; DateSeparator: '-'; TimeSeparator: ':'; ListSeparator: ','; CurrencyString: '$'; ShortDateFormat: 'd/m/y'; LongDateFormat: 'dd" "mmmm" "yyyy'; TimeAMString: 'AM'; TimePMString: 'PM'; ShortTimeFormat: 'hh:nn'; LongTimeFormat: 'hh:nn:ss'; ShortMonthNames: ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'); LongMonthNames: ('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'); ShortDayNames: ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'); LongDayNames: ('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'); TwoDigitYearCenturyWindow: 50);


...не должно оно было нормально работать при таком определении, разве что локаль операционной системы подставляет другие значения при инициализации RTL.
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 31

Рейтинг@Mail.ru