Delphi dateseparator ошибка

I have a program that was created in Delphi 5 and the program still runs nearly perfect on Win7 and Win8.

However, when trying to run this code in XE6 (trial version) I get two errors that I am having trouble fixing. Errors are with ‘DateSeparator’ and ‘LongTimeFormat’ with each having the error «undeclared identifier»

The code segment is as follows:

function AccurateTimeStamp:String;
begin
  DateSeparator:='.';
  LongTimeFormat:='hhmmsszzz';
  result:=TimeToStr(Now);
end;

I am very new to Delphi but I’m pretty sure that «undeclared identifiers» mean’s that the item was not identified prior in code. If this is the case, I do not know how to accomplish this. Perhaps, errors are related to a change in code format since Delphi 5.

Member Avatar

9 Years Ago

Anyone know how to avoid this error — message on compiling my program using Delphi XE5: Undeclared identifier: ‘DateSeparator’
When I compile the same program using Delphi XE, it is OK, without any errors.
I have declared:

uses
  SysUtils ....;

Edited

9 Years Ago
by finalist


Recommended Answers

System.SysUtils.pas has this:

DateSeparator: Char deprecated ‘Use FormatSettings.DateSeparator’;

Jump to Post

All 3 Replies

Member Avatar

9 Years Ago

System.SysUtils.pas has this:

DateSeparator: Char deprecated ‘Use FormatSettings.DateSeparator’;

Member Avatar


finalist

1



Junior Poster in Training


9 Years Ago

Thanks !
When I changed DateSeparator to FormatSettings.DateSeparator, the program compiles successful.

Member Avatar


finalist

1



Junior Poster in Training


9 Years Ago


Reply to this topic

Be a part of the DaniWeb community

We’re a friendly, industry-focused community of developers, IT pros, digital marketers,
and technology enthusiasts meeting, networking, learning, and sharing knowledge.

3 / 3 / 0

Регистрация: 15.09.2014

Сообщений: 17

1

08.10.2014, 11:19. Показов 2760. Ответов 3


Студворк — интернет-сервис помощи студентам

Старый код вставил в Билдер XE7
Не компилируется, пишет
undefindet simbol dateseparator

Никак не могу понять, что прописать, чтобы он на DateSeparator не ругался?

Помогите, если кто знает.
Спасибо.



0



Супер-модератор

Эксперт Pascal/DelphiАвтор FAQ

32582 / 21053 / 8131

Регистрация: 22.10.2011

Сообщений: 36,326

Записей в блоге: 8

08.10.2014, 11:23

2

Уже давным-давно это делается через TFormatSettings. Вот тут есть пример: Decimalseparator в XE 4



0



3 / 3 / 0

Регистрация: 15.09.2014

Сообщений: 17

08.10.2014, 11:25

 [ТС]

3

Спасибо! Уже разобрался.

FormatSettings.DateSeparator — помогло.



0



Супер-модератор

Эксперт Pascal/DelphiАвтор FAQ

32582 / 21053 / 8131

Регистрация: 22.10.2011

Сообщений: 36,326

Записей в блоге: 8

08.10.2014, 12:03

4

Ну естественно, надо же себе жизнь усложнить, как только можно, и опять сделать так, чтобы при переходе на очередную версию (или при работе с потоками на этоу версии) надо было править код… Разобрался он. Теперь возьми и разберись, что такое FormatSettings, и что там хранится.



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

08.10.2014, 12:03

4

У меня есть программа, созданная в Delphi 5, и она все еще работает почти идеально на Win7 и Win8.

Однако при попытке запустить этот код в XE6 (пробная версия) я получаю две ошибки, которые мне не удается исправить. Ошибки с ‘DateSeparator’ и ‘LongTimeFormat’, у каждого из которых есть ошибка «необъявленный идентификатор»

Сегмент кода выглядит следующим образом:

function AccurateTimeStamp:String;
begin
  DateSeparator:='.';
  LongTimeFormat:='hhmmsszzz';
  result:=TimeToStr(Now);
end;

Я очень новичок в Delphi, но я почти уверен, что «необъявленные идентификаторы» означают, что элемент не был идентифицирован ранее в коде. Если это так, я не знаю, как это сделать. Возможно, ошибки связаны с изменением формата кода начиная с Delphi 5.

2014-08-05 03:08

1
ответ

Решение

Использование FormatSettings.DateSeparator вместо DateSeparator

2014-08-05 03:45

  • #1

Delphi XE3 ругается на DateSeparator, говорит что Undeclared identifier.
Та же петрушка с ShortDateFormat.
System.SysUtils в uses естественно присутствует.
В XE2 все компилилось без проблем.
Кто нибудь знает что за фигня ? :(

  • #2

В SysUtils в XE3 убрали переменные(
Нужно переписать:
FormatSettings.DateSeparator:=…;

  • #3

О, точно.
Заработало, спасибо !

  • #4

XE3 is very disappointing

  • #5

XE3 is very disappointing

Не то слово ! Но… зато красиво выглядит код как !

  • #6

зато красиво выглядит код как !

большинство достигалось и раньше cnPack -ом :)

Понравилась статья? Поделить с друзьями:
  • Delphi 7 ошибка при установке
  • Delphi 7 unable to rename delphi32 ошибка
  • Delonghi гриль ошибка op err
  • Delonghi magnifica ошибка очистки
  • Delonghi magnifica ошибка контейнера