Inno Setup VCL

Хамик

Старожил
@Leserg, спасибо за обновление. Можете еще добавить функции?
code_language.pascal:
// Date & Time function
function Date: TDateTime;
function DateTimeToStr(DateTime: TDateTime): String;
procedure DateTimeToString(var Result: String; const Format: String; DateTime: TDateTime);
function DateToStr(Date: TDateTime): String;
function DayOfWeek(Date: TDateTime): Integer;
procedure DecodeDate(Date: TDateTime; var Year, Month, Day: Word);
procedure DecodeTime(Time: TDateTime; var Hour, Min, Sec, MSec: Word);
function EncodeDate(Year, Month, Day: Word): TDateTime;
function EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime;
function FormatDateTime(const Format: String; DateTime: TDateTime): String;
function Now: TDateTime;
function StrToDate(const S: String): TDateTime;
function StrToDateTime(const S: String): TDateTime;
function StrToTime(const S: String): TDateTime;
function Time: TDateTime;
function TimeToStr(Time: TDateTime): String;
 

Da-Bro

Мимокрокодил
Leserg, здравствуйте!
Можете, пожалуйста, еще добавить SelectLanguageForm и CenterInsideControl.
В пятой расширенной они распознаются, а тут увы.
 

Andreo Fadio

Старожил
Можете, пожалуйста, еще добавить SelectLanguageForm.
В пятой расширенной они распознаются
на то она и расширенная версия...

и в пятой обычной это есть, а в 6 версии данная функция заменена на FlipSizeAndCenterIfNeeded
 
Последнее редактирование:

Leserg

Новичок
добавить SelectLanguageForm
Нет. Там вся фишка в том, что этот диалог должен отображаться до инициализации основного окна мастера установки, чтобы установить начальные значения строк мастера установки для выбранного языка. А настройки и кастомизацию окон мастера установки мы можем сделать только во время создания самого мастера. Чтобы можно было кастомизировать диалог выбора языка, его вызов следует разместить после создания основного окна установщика. Но в этом случае не все значения строк будут установлены согласно выбранному языку. Будет это выглядеть как полуперевод интерфейса (одни строки на английском, другие на выбранном языке). Я думаю это можно как-то решить, но сам я этим вопросом не справлюсь. Поэтому - нет. :sorry:

А вот делать индификатор IS_ENHANCED по-умолчанию как в старой версии, какое-то сомнительное решение.
Изначальная идея была воссоздать фишки Restools. В процессе выяснилось, что моих сил и знаний на это не хватает. Одного желания маловато будет. Что-то получилось, что-то с небольшими вариациями, что-то добавил свое. Если считаете что дефайн IS_ENHANCED не нужен, я его уберу. :yes:
 

Leserg

Новичок
Очередное обновление Inno Setup 6.0.5 FullVCL XP.
  • Добавлены функции даты и времени:
    • function Date: TDateTime;
    • function DateTimeToStr(DateTime: TDateTime): String;
    • procedure DateTimeToString(var Result: String; const Format: String; DateTime: TDateTime);
    • function DateToStr(Date: TDateTime): String;
    • function DayOfWeek(Date: TDateTime): Integer;
    • procedure DecodeDate(Date: TDateTime; var Year, Month, Day: Word);
    • procedure DecodeTime(Time: TDateTime; var Hour, Min, Sec, MSec: Word);
    • function EncodeDate(Year, Month, Day: Word): TDateTime;
    • function EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime;
    • function FormatDateTime(const Format: String; DateTime: TDateTime): String;
    • function Now: TDateTime;
    • function StrToDate(const S: String): TDateTime;
    • function StrToDateTime(const S: String): TDateTime;
    • function StrToTime(const S: String): TDateTime;
    • function Time: TDateTime;
    • function TimeToStr(Time: TDateTime): String;
  • Добавлены компоненты TMonthCalendar и TDateTimePicker. В среде Inno Setup это соответственно TNewMonthCalendar и TNewDateTimePicker.
  • Добавлена функция Windows API:
    • function SetWindowTheme(hWnd: HWND; pszSubAppName, pszSubIdList: PAnsiChar): Integer; – позволяет включать или выключать программно визуальные стили Windows для отдельного окна. Например, если у компонента TMonthCalendar (TNewMonthCalendar) отключить стиль Windows, то будет возможность кастомизировать цвета элементов календаря (см. пример в Example_DateTime.iss);
  • Добавлен (точнее возвращен) шрифт FontAwesome (значки) для поддержки визуальных стилей .vsf компонентами TMonthCalendar (TNewMonthCalendar) и TDateTimePicker (TNewDateTimePicker). Также его можно использовать для кастомизации страниц мастера установки (см. пример в Example_DateTime.iss);
  • Добавлена поддержка свойства StyleElements для стандартных компонентов Delphi. Позволяет отключать у компонентов элементы визуальных стилей при подключении стиля .vsf (см. пример в Example_DateTime.iss);
  • Расширен перечень поддерживаемых свойств у компонентов TCustomMemoryStream, TResourceStream, TFont, TCustomButton и TButton.
Примечание: полный перечень поддерживаемых классов со всеми изменениями и дополнениями смотрите в прилагаемом файле "Support Classes.txt".
По факту изменения коснулись только двух файлов расширенной версии: ISCmplr.dll и Setup.e32. Сборка мини осталась без изменений.
Обновление версий 6.2.1 и 6.2.2 ещё не делал.
 
Сверху