Inno Setup: укажите дату в локальном формате - PullRequest
0 голосов
/ 08 ноября 2011

Мое приложение использует Inno Setup для создания некоторых параметров реестра, которые впоследствии читаются надстройкой Excel. Одной из этих настроек является дата.

То, что я ищу, - это функция (в Inno-Setup-friendly Pascal), которая берет дату (отформатированную в виде строки) и выводит ее, используя локальный системный формат даты на любом компьютере, на котором она работает. Что-то вроде

function GetLocalVersionOfShortDate(dateString : String): String;
begin
 // take dateString and convert/display it as local date
end;

Выходные данные должны быть в коротком формате даты с локальным разделителем даты.

Например, я бы передал "20 января 1980" этой функции, и она вернула бы "20.01.1980" (в Америке) и "20.01.1980" (во Франции).

Есть мысли о том, как это сделать? Я чувствую, что это что-то простое, но я недостаточно знаком с Паскалем, чтобы писать код сам.

Спасибо!

1 Ответ

0 голосов
/ 11 ноября 2011

Возможно, есть способ сделать это, вызвав библиотеки Windows.

Проверьте раздел в файле справки INNO, который называется «Pascal Scripting: Using DLLs».

http://www.jrsoftware.org/ishelp/

АЛЬТЕРНАТИВА 1

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

...