ISPP содержит ряд встроенных функций, которые можно использовать
для выполнения каких-либо операций во время компиляции и/или изменения
сценария. Например, сначала при помощи функции ISPP GetVersionNumbersString
получим версию исполняемого файла программы, а затем полученное значение
подставим в директиву AppVerName в секции [Setup], используя
директиву ISPP emit:
; Объявляем переменную с именем MyAppVer и присваиваем ей значение, ; которое вернёт функция GetVersionNumbersString() (получение версии ЕХЕ-файла). #define MyAppVer GetVersionNumbersString(AddBackslash(SourcePath) + "MyProg.exe") ; Раздел параметров инсталляции [Setup] ; Используем значение переменной MyAppVer в определении директивы AppVerName. AppVerName={#MyAppVer}
Встроенные функции также можно вызывать из директивы emit напрямую.
; Объявляем переменную с именем MyAppEnterprise #define MyAppEnterprise [Setup] ; Устанавливаем имя приложения AppName=MyProg{# Defined MyAppEnterprise?" Enterprise Edition":""} ; Получаем версию приложения AppVersion={# GetVersionNumbersString(AddBackslash(SourcePath) + "MyProg.exe")}
Прототипы функций представлены, как типом возвращаемых функцией данных, именем самой функции и, в круглых скобках, её формальными параметрами.
Ключевые слова int, str, any, и void используются для обозначения следующих типов данных соответственно: целочисленный (64-разрядный со знаком), строковый, любой и нулевой (так называемый пустой, void). Если в качестве возвращаемого результата функции указан нулевой тип данных, значит функция не возвращает никакого значения.
Вопросительный знак (?) в определении типов параметров функции обозначает, что этот параметр является необязательным.
- AddBackslash
- AddQuotes
- ChangeFileExt
- ComparePackedVersion
- Copy
- CopyFile
- DecodeVer
- Defined
- Delete
- DeleteFile
- DeleteFileNow
- DimOf
- DirExists
- EmitLanguagesSection
- EncodeVer
- EntryCount
- Error
- Exec
- ExecAndGetFirstLine
- ExtractFileDir
- ExtractFileExt
- ExtractFileName
- ExtractFilePath
- FileClose
- FileEof
- FileExists
- FileOpen
- FileRead
- FileReset
- FileSize
- Find
- FindClose
- FindCode
- FindFirst
- FindGetFileName
- FindNext
- FindSection
- FindSectionEnd
- ForceDirectories
- Format
- GetDateTimeString
- GetEnv
- GetFileCompanyString
- GetFileCopyrightString
- GetFileDateTimeString
- GetFileDescriptionString
- GetFileOriginalFilenameString
- GetFileProductVersionString
- GetFileVersionString
- GetMD5OfFile
- GetMD5OfString
- GetMD5OfUnicodeString
- GetPackedVersion
- GetSHA1OfFile
- GetSHA1OfString
- GetSHA1OfUnicodeString
- GetSHA256OfFile
- GetSHA256OfString
- GetSHA256OfUnicodeString
- GetStringFileInfo
- GetVersionComponents
- GetVersionNumbers
- GetVersionNumbersString
- Insert
- Int
- Is64BitPEImage
- IsDirSet
- IsWin64
- Len
- LowerCase
- Max
- Message
- Min
- PackVersionComponents
- PackVersionNumbers
- Pos
- Power
- ReadIni
- ReadReg
- RemoveBackslashUnlessRoot
- RemoveFileExt
- RPos
- SamePackedVersion
- SameStr
- SameText
- SaveStringToFile
- SaveToFile
- SetSetupSetting
- SetupSetting
- Str
- StringChange
- StrToVersion
- Trim
- TypeOf
- TypeOf2
- UnpackVersionComponents
- UnpackVersionNumbers
- UpperCase
- VersionToStr
- Warning
- WriteIni
- YesNo