Difference between revisions of "ReNamer:Pascal Script:Functions"
(→Date and Time: Changed DayOfWeek return values) |
m (→Date and Time) |
||
Line 489: | Line 489: | ||
|- | |- | ||
| function '''DayOfWeek'''(const DateTime: TDateTime): Word; | | function '''DayOfWeek'''(const DateTime: TDateTime): Word; | ||
− | | Returns the day of the week (as an index) for the specified '''DateTime''' value. Returned | + | | Returns the day of the week (as an index) for the specified '''DateTime''' value. Returned values: 1 = Monday, 2 = Tuesday, 3 = Wednesday, 4 = Thursday, 5 = Friday, 6 = Saturday, 7 = Sunday.<br/>''Before v6.1 this function used to return 1=Sunday to 7=Saturday.'' |
|} | |} | ||
Revision as of 22:30, 11 November 2014
ReNamer has many functions to manipulate the entities related to file names and do some more complex tasks for individual files. These entities may be derived from the existing filename, path, system date, meta tags from the file, strings entered by the user, etc. This functionality is available for use via the PascalScript rule.
The difference between a "function" and a "procedure" is that while a function executes an algorithm and returns a value, a procedure just executes an algorithm without returning anything.
A common prefix Wide in the function name indicates that the function deals with Unicode strings (WideString). ReNamer has similar functions without Wide prefix, for processing ANSI strings. For example, ShowMessage and WideShowMessage procedures.
Basic String Handling
Routine | Remarks |
---|---|
procedure Insert(Source: String; var S: String; Index: Integer); | Inserts the string S into string Source at position Index. |
procedure Delete(var S: String; Index, Count: Integer); | Deletes Count characters from the string S, starting from position Index. |
function Copy(S: String; Index, Count: Integer): String; | Copies Count characters from string S, starting at position Index, and returns them as a new string. |
function Pos(Substr: String; S: String): Integer; | Returns the position of a string Substr in another string S. |
Note: Indexes of characters in strings are 1 based, so first character in string S would be S[1].
Length Management
Routine | Remarks |
---|---|
procedure SetLength(var S: Array; NewLength: Integer); | Sets the length of array variable S to NewLength. |
procedure SetLength(var S: String; NewLength: Integer); | Sets the length of string variable S to NewLength. |
procedure SetLength(var S: WideString; NewLength: Integer); | Sets the length of widestring S to NewLength. |
function Length(const S: Array): Integer; | Returns the length of array S (number of elements). |
function Length(const S: String): Integer; | Returns the length of string S (number of characters). |
function Length(const S: WideString): Integer; | Returns the length of WideString S (number of characters). |
Unicode String Handling
Routine | Remarks |
---|---|
procedure WideInsert(const Substr: WideString; var Dest: WideString; Index: Integer); | Inserts Substr in Dest at position Index. |
procedure WideDelete(var S: WideString; Index, Count: Integer); | Deletes Count characters from S, starting from the Index position. |
procedure WideDeleteRight(var S: WideString; Index, Count: Integer); | Delete Count characters from S, starting from the Index position from the end and counting towards the start.
Added in v6.0.0.9 Alpha. |
procedure WideSetLength(var S: WideString; NewLength: Integer); | Change the length of string S to a new length specified by NewLength. If new length is smaller than original, the string is truncated. If new length is greater than original, the string will be expanded but additional characters will not be initialized and can be anything. |
function WideLength(const S: WideString): Integer; | Returns the length of WideString S. |
function WideCopy(const S: WideString; Index, Count: Integer): WideString; | Returns Count characters from S, starting at position Index. |
function WideCopyRight(const S: WideString; Index, Count: Integer): WideString; | Returns Count characters from S, starting at position Index from the end and counting towards the start.
Added in v6.0.0.9 Alpha. |
function WidePos(const SubStr, S: WideString): Integer; | Find and occurrence of SubStr in S. Returns the position of first occurrence, or 0 if nothing was found. |
function WidePosEx(const SubStr, S: WideString; Offset: Cardinal): Integer; | Find and occurrence of SubStr in S but start searching from position specified by Offset. Returns the position of first occurrence, or 0 if nothing was found. |
function WideUpperCase(const S: WideString): WideString; | Returns the ALLCAPS version of the WideString S |
function WideLowerCase(const S: WideString): WideString; | Returns the lowercase version of the WideString S |
function WideCompareStr(const S1, S2: WideString): Integer; | Compares two WideStrings S1 and S2, case-sensitive, and returns an integer based on the result. The return value is less than 0 if S1 is less than S2, 0 if S1 equals S2, or greater than 0 if S1 is greater than S2. |
function WideCompareText(const S1, S2: WideString): Integer; | Compares two WideStrings S1 and S2, case-insensitive, and returns an integer based on the result. The return value is less than 0 if S1 is less than S2, 0 if S1 equals S2, or greater than 0 if S1 is greater than S2. |
function WideSameText(const S1, S2: WideString): Boolean; | Compares two WideStrings S1 and S2, case-insensitive. Returns TRUE if both are identical, otherwise returns FALSE. |
function WideTextPos(const SubStr, S: WideString): Integer; | Behaves like WidePos function, except text if processed in case-insensitive manner. |
function WideTrim(const S: WideString): WideString; | Removes leading and trailing spaces and control characters from the given string S. |
function WideTrimChars(const S, CharsToTrim: WideString): WideString; | Remove characters that occur in CharsToTrim from the beginning and the end of S.
Added in v6.0.0.9 Alpha. |
function WideTrimCharsLeft(const S, CharsToTrim: WideString): WideString; | Remove characters that occur in CharsToTrim from the beginning of S.
Added in v6.0.0.9 Alpha. |
function WideTrimCharsRight(const S, CharsToTrim: WideString): WideString; | Remove characters that occur in CharsToTrim from the end of S.
Added in v6.0.0.9 Alpha. |
function WideReplaceStr(const S, OldPattern, NewPattern: WideString): WideString; | Returns the result of replacing on a string S, a string OldPattern (Case Sensitive), with a NewPattern. |
function WideReplaceText(const S, OldPattern, NewPattern: WideString): WideString; | Returns the result of replacing on a string S, a text OldPattern (Case Non-Sensitive), with a NewPattern. |
function WideSplitString(const Input, Delimiter: WideString): TStringsArray; |
Splits the Input wherever Delimiter occurs and returns an array that contains the split parts.
|
function WideJoinStrings(const Strings: TStringsArray; const Delimiter: WideString): WideString; | Joins all individual items from Strings into a single WideString, with Delimiter inserted between the joined items. |
function WideCaseSentence(const S: WideString): WideString; | Returns a Sentence case version of parameter S.
Only the first alphabetic character is capitalized. All other alphabetic characters are converted to lowercase. Added in v6.0.0.3 Alpha. |
function WideCaseCapitalize(const S: WideString): WideString; |
Returns the Title case version of parameter S. First letter of every word is capitalized. All other alphabetic characters are converted to lowercase. |
function WideCaseInvert(const S: WideString): WideString; | Inverts case of all characters in S and returns it. |
Meta Tags Extraction
Function | Remarks |
---|---|
function CalculateMetaTag(const FilePath: WideString; const MetaTagName: String): WideString; | Extracts and returns the value of a meta tag specified by MetaTagName from the file specified by the complete absolute path FilePath. Return type changed from String to WideString in v5.74.4 Beta. |
function CalculateMetaTagFormat(const FilePath: WideString; const MetaTagName, DateTimeFormat: String): WideString; | Same as CalculateMetaTag except an additional parameter DateTimeFormat is provided to specify custom Date/Time format to be used instead of the application's default setting. Added in v5.74.4 Beta. |
For example, to extract EXIF_Date tag from an image and set it to the filename using the default date/time formatting:
begin
FileName := CalculateMetaTag(FilePath, 'EXIF_Date');
end.
The full list of meta tags can be found in Meta Tags article. For help with date/time formatting refer to Date and Time format.
Regular Expressions
Function | Remarks | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
function IsMatchingRegEx(const Input, Pattern: WideString; const CaseSensitive: Boolean): Boolean; | Check for a match against a RegEx pattern. Added in v5.74.4 Beta. | |||||||||
function ReplaceRegEx(const Input, Find, Replace: WideString;const CaseSensitive, UseSubstitution: Boolean): WideString; | Find-and-replace function using RegEx. Works like RegEx rule.
The parameters for this and next RegEx functions are:
| |||||||||
function MatchesRegEx(const Input, Find: WideString;const CaseSensitive: Boolean): TStringsArray; | Returns a list of RegEx matches as an array. Function returns an array of full matches, which matched the entire expression, not the sub-patterns. For example:
| |||||||||
function SubMatchesRegEx(const Input, Find: WideString;const CaseSensitive: Boolean): TStringsArray; | This function is very similar to MatchesRegEx, but instead of returning full matches it will return an array of sub-expression matches for the first full match. For example:
In this way, it can easily be combined with MatchesRegEx function, to allow users to find all global matches, and then parse those matches through SubMatchesRegEx function to find individual sub-expression matches of each global match. |
Unicode Character Handling
Function | Remarks |
---|---|
function IsWideCharUpper(WC: WideChar): Boolean; | Checks a Unicode character WC and returns TRUE if it is in UPPERCASE. |
function IsWideCharLower(WC: WideChar): Boolean; | Checks a Unicode character WC and returns TRUE if it is in lowercase. |
function IsWideCharDigit(WC: WideChar): Boolean; | Checks a Unicode character WC and returns TRUE if it is a digit (numeric character 0-9). |
function IsWideCharSpace(WC: WideChar): Boolean; | Checks a Unicode character WC and returns TRUE if it is a white-space character, such as: space, form-feed, newline, carriage-return, tab and vertical-tab (characters classified as C1_SPACE). |
function IsWideCharPunct(WC: WideChar): Boolean; | Checks a Unicode character WC and returns TRUE if it is a punctuation mark (characters classified as C1_PUNCT). |
function IsWideCharCntrl(WC: WideChar): Boolean; | Checks a Unicode character WC and returns TRUE if it is a control character (characters classified as C1_CNTRL). |
function IsWideCharBlank(WC: WideChar): Boolean; | Checks a Unicode character WC and returns TRUE if it is a blank, such as: space and tab (characters classified as C1_BLANK). |
function IsWideCharXDigit(WC: WideChar): Boolean; | Checks a Unicode character WC and returns TRUE if it is a hexadecimal digit (0-9 or A-F). |
function IsWideCharAlpha(WC: WideChar): Boolean; | Checks a Unicode character WC and returns TRUE if it is a alphanumeric character (a-z or A-Z). |
function IsWideCharAlphaNumeric(WC: WideChar): Boolean; | Checks a Unicode character WC and returns TRUE if it is a alphanumeric character or a numeric character (a-z, A-Z or 0-9). |
function WideCharUpper(const WC: WideChar): WideChar; | Returns a UPPERCASE version of the input Unicode character. In case of non-alphabetic character, it returns the same character. |
function WideCharLower(const WC: WideChar): WideChar; | Returns a lowercase version of the input Unicode character. In case of non-alphabetic character, it returns the same character. |
Note: Character classifications, such as C1_UPPER, C1_LOWER, C1_DIGIT, C1_SPACE, C1_PUNCT, C1_CNTRL, C1_BLANK, C1_XDIGIT, C1_ALPHA - are part of Unicode definitions. More information regarding classification can be found on the internet. For example: http://www.fileformat.info/info/unicode/.
Unicode Conversion
Function | Remarks |
---|---|
function WideToAnsi(const WS: WideString): String; | Converts a Unicode string to its ANSI version. |
function AnsiToWide(const S: String): WideString; | Converts a ANSI string to its Unicode version. |
function UTF8Encode(const WS: WideString): String; | Convert Unicode string to the UTF-8 encoded string. Useful for storing Unicode strings in files, sometimes for compatibility reasons and sometimes to reduce the size of the file. |
function UTF8Decode(const S: String): WideString; | Convert UTF-8 encoded string to its full Unicode representation. |
Basic Conversion
Function | Remarks | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
function BoolToStr(B: Boolean): String; | Convert boolean variable into a string. Returns True or False string. | ||||||||||
function IntToStr(Value: Integer): String; | Converts an integer to a string. The following assumptions are correct:
Note: Be cautious of supplying Int64 type as a parameter as it will be type casted to Integer, which significantly reduces the range of possible values (refer to Types for more information). You can use FormatFloat function to convert Int64 values to a string without a loss of range. | ||||||||||
function StrToInt(const S: String): Integer; | Converts a string to an integer. The following equalities are correct:
Warning: An error will occur if the parameter to this function cannot be converted to an integer! | ||||||||||
function StrToIntDef(const S: String; const Default: Integer): Integer; | Behaves like StrToInt function, but instead of producing an error on incorrect input function allows the Default value to be specified, which will be returned if the input cannot be converted to an integer. | ||||||||||
function FloatToStr(Value: Extended): string; | Converts supplied floating point value to its string representation, using default system format. | ||||||||||
function StrToFloat(const S: string): Extended; | Converts supplied string to a floating point value. Warning: An error will occur if the parameter to this function cannot be converted to a floating point value! | ||||||||||
function StrToFloatDef(const S: string; const Default: Extended): Extended; | Behaves like StrToFloat function, but instead of producing an error on incorrect input function allows the Default value to be specified, which will be returned if the input cannot be converted to a floating point value. | ||||||||||
function FormatFloat(const Format: string; Value: Extended): string; | Converts supplied floating point value to its string representation, using user specific Format. Format string may contain following specifiers:
| ||||||||||
function DateToStr(D: TDateTime): String; | Converts a date to a string, using system format for the short date, for example: dd/mm/yyyy. | ||||||||||
function StrToDate(const S: String): TDateTime; | Converts a date string to a proper TDateTime value, using system format for the short date, for example: dd/mm/yyyy. | ||||||||||
function IntToHex(Value: Integer; Digits: Integer): String; | Converts an integer to its hexadecimal representation. Here are samples:
| ||||||||||
function HexToInt(const HexNum: String): Integer; | Converts a hexadecimal value to its decimal representation. Warning: An error will occur if the parameter to this function cannot be converted to an integer! | ||||||||||
function HexToIntDef(const HexNum: String; Default: Integer): Integer; | Behaves like HexToInt function, but instead of producing an error on incorrect input function allows the Default value to be specified, which will be returned if the input cannot be converted to an integer. | ||||||||||
function Ord(X: Char): Byte; | Return an ordinal value (byte representation) of a character. | ||||||||||
function Chr(X: Byte): Char; | Return a character by its ordinal value (byte representation). |
Date and Time
Function | Remarks |
---|---|
function Date: TDateTime; | Returns the current system date. |
function Time: TDateTime; | Returns the current system time. |
function Now: TDateTime; | Returns the current system date and time. |
function EncodeDate(Year, Month, Day: Word): TDateTime; | Generates date value for the specified Year, Month, Day. Parameters must be within a valid date range: Year = 0..9999, Month = 1..12, Day = 1..31 (depending on month/year). An error will be raised if parameters are invalid. |
function EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime; | Generates time value for the specified Hour, Min, Sec, MSec. Parameters must be within a valid time range: Hour = 0..23, Min = 0..59, Sec = 0..59, MSec = 0..999. An error will be raised if parameters are invalid. |
function TryEncodeDate(Year, Month, Day: Word; var Date: TDateTime): Boolean; | Behaves exactly like EncodeDate function, except this function returns the TRUE or FALSE depending on the success of the operation. If operation was successful, function will return TRUE and the generated date value will be written in the Date variable. |
function TryEncodeTime(Hour, Min, Sec, MSec: Word; var Time: TDateTime): Boolean; | Behaves exactly like EncodeTime function, except this function returns the TRUE or FALSE depending on the success of the operation. If operation was successful, function will return TRUE and the generated time value will be written in the Time variable. |
procedure DecodeDate(const DateTime: TDateTime; var Year, Month, Day: Word); | Extracts Year, Month and Day components from a given DateTime value. |
procedure DecodeTime(const DateTime: TDateTime; var Hour, Min, Sec, MSec: Word); | Extracts Hour, Min, Sec and MSec components from a given DateTime value. |
function DateTimeToUnix(D: TDateTime): Int64; | Converts D value of type TDateTime to a Unix timestamp. |
function UnixToDateTime(U: Int64): TDateTime; | Converts a Unix timestamp to a value of TDateTime type. |
function FormatDateTime(const Fmt: String; D: TDateTime): String; | This function provides rich formatting of a DateTime value into a string. Date and time format is defined by the Fmt string. |
function IncYear(const AValue: TDateTime; const ANumberOfYears: Integer): TDateTime; | Increments a TDateTime variable by a number of years (plus or minus). |
function IncMonth(const AValue: TDateTime; ANumberOfMonths: Integer): TDateTime; | Increments a TDateTime variable by a number of months (plus or minus). |
function IncWeek(const AValue: TDateTime; const ANumberOfWeeks: Integer): TDateTime; | Increments a TDateTime variable by a number of weeks (plus or minus). |
function IncDay(const AValue: TDateTime; const ANumberOfDays: Integer): TDateTime; | Increments a TDateTime variable by a number of days (plus or minus). |
function IncHour(const AValue: TDateTime; const ANumberOfHours: Int64): TDateTime; | Increments a TDateTime variable by a number of hours (plus or minus). |
function IncMinute(const AValue: TDateTime; const ANumberOfMinutes: Int64): TDateTime; | Increments a TDateTime variable by a number of minutes (plus or minus). |
function IncSecond(const AValue: TDateTime; const ANumberOfSeconds: Int64): TDateTime; | Increments a TDateTime variable by a number of seconds (plus or minus). |
function IncMilliSecond(const AValue: TDateTime; const ANumberOfMilliSeconds: Int64): TDateTime; | Increments a TDateTime variable by a number of milliseconds (plus or minus). |
function DayOfWeek(const DateTime: TDateTime): Word; | Returns the day of the week (as an index) for the specified DateTime value. Returned values: 1 = Monday, 2 = Tuesday, 3 = Wednesday, 4 = Thursday, 5 = Friday, 6 = Saturday, 7 = Sunday. Before v6.1 this function used to return 1=Sunday to 7=Saturday. |
File Management
Function | Remarks |
---|---|
function WideFileSize(const FileName: WideString): Int64; | Returns the size of the file in bytes. If file does not exist "-1" is returned. The return value is of type Int64 which can store the maximum file size of 9,223,372,036,854,775,807 bytes. |
function WideFileExists(const FileName: WideString): Boolean; | Check whether specified file exists. Returns TRUE if file exists, otherwise FALSE. |
function WideDirectoryExists(const Directory: WideString): Boolean; | Check whether specified directory exists. Returns TRUE if directory exists, otherwise FALSE. |
function WideForceDirectories(const Dir: WideString): Boolean; | Makes sure that that all directories in the path exist. If they don't, function will try to create them, recursively. Returns TRUE if all folders exist or have been successfully created. |
function WideCreateDir(const Dir: WideString): Boolean; | Create specified directory (non-recursive). Returns TRUE on success, otherwise FALSE. |
function WideDeleteFile(const FileName: WideString): Boolean; | Delete physical file from the disk. Returns TRUE on success, otherwise FALSE. |
function WideRenameFile(const OldName, NewName: WideString): Boolean; | Rename file from OldName to NewName. Returns TRUE on success, otherwise FALSE. |
function WideCopyFile(const FromFile, ToFile: WideString; FailIfExists: Boolean): Boolean; | Rename file from FromFile to ToFile. If FailIfExists flag is TRUE, file will not be copied when destination file already exists, otherwise, destination file will be overwritten. Returns TRUE on success, otherwise FALSE. |
function WideFileSearch(const Name, DirList: WideString): WideString; | Search through the directories passed in DirList for a file named Name. DirList is a list of path names delimited by semicolons. If file matching Name is located, function returns a string specifying a path name for that file. If no matching file exists, function returns an empty string. |
procedure WideScanDirForFiles(Dir: WideString; var Files: TStringsArray; const Recursive, IncludeHidden, IncludeSystem: Boolean; const Mask: WideString); | You can get a list of the files inside a folder.
|
procedure WideScanDirForFolders(Dir: WideString; var Folders: TStringsArray; const Recursive, IncludeHidden, IncludeSystem: Boolean); | You can get a list of the folders inside other folder.
|
File Name Utilities
Function | Remarks | ||||||
---|---|---|---|---|---|---|---|
function WideExtractFilePath(const FileName: WideString): WideString; | Returns the drive and directory portion from "FileName", including the trailing path delimiter, e.g. "C:\Folder\". | ||||||
function WideExtractFileDir(const FileName: WideString): WideString; | Returns the drive and directory portion from "FileName", excluding the trailing path delimiter, e.g. "C:\Folder". | ||||||
function WideExtractFileDrive(const FileName: WideString): WideString; | Returns the drive letter, e.g. "C:". | ||||||
function WideExtractFileName(const FileName: WideString): WideString; | Returns the filename with extension, e.g. "FileName.txt". | ||||||
function WideExtractBaseName(const FileName: WideString): WideString; | Returns the base name of the file, i.e. file name without extension and path components.
| ||||||
function WideExtractFileExt(const FileName: WideString): WideString; | Returns the file's extension with the dot, e.g. ".txt". | ||||||
function WideChangeFileExt(const FileName, Extension: WideString): WideString; | Replaces the original extension, and returns the new filename with extension, e.g. "FineName.txt" -> "FineName.pdf". | ||||||
function WideStripExtension(const FileName: WideString): WideString; | Strips off the extension from the filename, maintaining the path component unaffected.
| ||||||
function WideExpandFileName(const FileName: WideString): WideString; | Converts the relative file name into a fully qualified path. This function does not verify that the resulting path refers to an existing file. | ||||||
function WideExtractRelativePath(const BaseName, DestName: WideString): WideString; | Creates a relative path to go from BaseName to DestName. For example:
| ||||||
function WideExtractShortPathName(const FileName: WideString): WideString; | It converts a path into it's representation in DOS format. | ||||||
function WideIncludeTrailingPathDelimiter(const S: WideString): WideString; | With this function you can ensure that a path for a folder contains the path delimiter ("\") at the end of the path. | ||||||
function WideExcludeTrailingPathDelimiter(const S: WideString): WideString; | With this function you can ensure that a path for a file does not contain the path delimiter ("\") at the end of the path. | ||||||
function WideSameFileName(const S1, S2: WideString): Boolean; | Compares the filenames S1 and S2, and returns TRUE if they are identical. |
File Read/Write
Function | Remarks |
---|---|
function FileReadFragment(const FileName: WideString; Start, Length: Integer): String; | Starting at position Start, read Length number of characters of the file FileName and return them as a string. Start is 0-based, so in order to start the fragment at the beginning of the file, set this parameter to 0 (zero). |
function FileReadLines(const FileName: WideString): TAnsiStringArray; | Read all lines from a file FileName. Added in v5.74.4 Beta. |
function FileReadLine(const FileName: WideString; LineNum: Integer): String; | Read a line from a file FileName specified by a line index LineNum. LineNum is 1 based, so to get the first line set this parameter to 1 (one). Note: This function is extremely inefficient and provided only for convenience! |
function FileCountLines(const FileName: WideString): Integer; | Count number of lines in the file. Note: This function is extremely inefficient and provided only for convenience! |
function FileReadContent(const FileName: WideString): String; | Return the entire content of the file as a String. |
procedure FileWriteContent(const FileName: WideString; const Content: String); | Write Content to the file. If target file already exists, it will be overwritten. |
procedure FileAppendContent(const FileName: WideString; const Content: String); | Append Content to the end of the file. If target file does not exist, it will be created. |
File Time
Function | Remarks |
---|---|
function FileTimeModified(const FileName: WideString): TDateTime; | Returns last modified time of the specified file. |
function FileTimeCreated(const FileName: WideString): TDateTime; | Returns creation time of the specified file. |
function SetFileTimeCreated(const FileName: WideString; const DateTime: TDateTime): Boolean; | Sets creation time for the specified file. |
function SetFileTimeModified(const FileName: WideString; const DateTime: TDateTime): Boolean; | Sets last modified time for the specified file. |
Process Execution
Function | Remarks | |
---|---|---|
function ShellOpenFile(const FileName: WideString): Boolean; | Run (open) a file specified by FileName. Works like "Start > Run" command. Parameter does not have to be an executable file, it can by any file or protocol with assigned handler. For example, you can open a Word document or a web page, and associated application will be launched:
Beware: This function will evaluate the command for the appropriate way of execution which may sometimes lead to unexpected results. For example when executing ShellOpenFile('notepad') it could actually run a Windows Notepad application normally located in "C:\Windows\notepad.exe", or some other "notepad.exe" file located on the search path (%PATH%), or even open "notepad" folder located in the current working directory. | |
function ExecuteProgram(const Command: String; WaitForProgram: Boolean): Cardinal; | Execute a command specified by Command parameter. Parameter WaitForProgram allows you to specify whether the code needs to wait until the command (launched program) has finished executing. | |
function ExecuteProgramShow(const Command: String; WaitForProgram: Boolean; ShowWindowFlag: Word): Cardinal; | Execute a command specified by Command parameter. WaitForProgram parameter allows you to specify whether the code needs to wait until the command (launched program) has finished executing. ShowWindowFlag parameter controls how the window is to be shown.
Commonly used values for ShowWindowFlag parameter:
Added in v5.75.3 Beta. |
|
function ExecConsoleApp(const CommandLine: String; out Output: String): Cardinal; | Execute a command line specified by CommandLine parameter and capture its standard output in the Output variable. This function should be used only for console style applications. Returns the exit code. |
Dialogs
Function | Remarks |
---|---|
procedure ShowMessage(const Msg: String); | Show a simple dialog with the message specified by Msg parameter. |
procedure WideShowMessage(const Msg: WideString); | Same as ShowMessage function but parameter is Unicode text. |
function DialogYesNo(const Msg: String): Boolean; | Show a simple prompt with the message specified by Msg parameter and two button: Yes and No. Returns TRUE if user clicks Yes button, otherwise FALSE. |
function WideDialogYesNo(const Msg: WideString): Boolean; | Same as DialogYesNo function but parameter is WideString text. |
function InputBox(const ACaption, APrompt, ADefault: String): String; | Displays a simple dialog box with the given ACaption and APrompt message. It asks the user to enter data in a text box on the dialog. A ADefault value is displayed in the text box initially. If the user presses OK, the value from the text box is returned, otherwise ADefault value is returned. |
function InputQuery(const ACaption, APrompt: String; var Value: String): Boolean; | Operates similar to InputBox function. The default value and the value of the text box after the dialog is closed are transferred via the Value parameter. Function returns TRUE is user clicked OK, otherwise returns FALSE. |
function WideInputBox(const ACaption, APrompt, ADefault: WideString): WideString; | Same as InputBox function but operates on WideString text. |
function WideInputQuery(const ACaption, APrompt: WideString; var Value: WideString): Boolean; | Same as InputQuery function but operates on WideString text. |
Application
Function | Remarks |
---|---|
function GetApplicationPath: WideString; | Return full path to the application, for example: "C:\Program Files\ReNamer\ReNamer.exe". |
function GetApplicationParams: TStringsArray; | Return an array of command line parameters which were supplied to the application at launch. |
function GetCurrentFileIndex: Integer; | Get index of the current file. Index ranges from 1 to GetTotalNumberOfFiles. |
function GetTotalNumberOfFiles: Integer; | Get total number of files in the application. |
function GetCurrentMarkedFileIndex: Integer; | Get index of the current file, counting only marked files. Index ranges from 1 to GetTotalNumberOfMarkedFiles. |
function GetTotalNumberOfMarkedFiles: Integer; | Get total number of marked files in the application. |
function GetAllFiles: TStringsArray; | Get file paths of all available files. Added in v5.74.2 Beta. |
function GetMarkedFiles: TStringsArray; | Get file paths of all marked files. Added in v5.74.2 Beta. |
System
Function | Remarks |
---|---|
function WideGetCurrentDir: WideString; | Returns the current working directory. |
function WideSetCurrentDir(const Dir: WideString): Boolean; | Sets the current working directory to the directory specified by parameter Dir. |
function WideGetTempPath: WideString; | Returns system defined temporary directory. If returned value is empty it means that temporary folder could not be determined. |
function WideGetEnvironmentVar(const VarName: WideString): WideString; | Returns an environment variable by its name. For example:
var
UserName, ComputerName: WideString;
begin
UserName := WideGetEnvironmentVar('USERNAME');
ComputerName := WideGetEnvironmentVar('COMPUTERNAME');
end. |
Miscellaneous
Function | Remarks |
---|---|
procedure Sleep(Milliseconds: Cardinal); | Sleep (pause the execution) for specified number of Milliseconds. |
procedure DivMod(Dividend: Integer; Divisor: Word; var Result, Remainder: Word); | Perform integer division and fetch the remainder as well, all in one operation. Dividend is the integer into which you are dividing. Divisor is the value by which to divide Dividend. Result returns the result of the integer division. Remainder returns the remainder (the difference between Result * Divisor and Dividend). |
procedure Randomize; | Prepares the random number generator.
Note: Should only be called once per application cycle, at the start of the process! |
function RandomRange(const AFrom, ATo: Integer): Integer; | Return a random integer number within the specified range from AFrom (inclusive) to ATo (non-inclusive). |
function GetClipboardText: WideString; | Get the content of the the clipboard (text only). |
procedure SetClipboardText(const S: WideString); | Set the content of the the clipboard (text only). |
function Base64Encode(const S: String): String; | Encode string S into Base64. Useful for encoding binary data in order to minimize the likelihood of data being modified in transit through different systems, like email or internet. |
function Base64Decode(const S: String): String; | Decode Base64 string; |
function URLDecode(const EncodedStr: AnsiString): WideString; | Decode URL encoded string. All occurrences of %XX hex format are decoded, then entire string is decoded from UTF8. Added in v5.74.4 Beta. |
function URLEncode(const Str: WideString; UsePluses: Boolean): AnsiString; | Encode string into URL encoding. Input string is encoded with UTF8, then all characters except digits and Latin letters are encoded in %XX hex format. Optionally, spaces can be encoded as "+" (plus signs). Added in v5.74.4 Beta. |
function GetTickCount: Cardinal; | Retrieves the number of milliseconds that have elapsed since the system was started (up to 49.7 days, then timer resets). The precision of this timer is very limited. |
function SizeOf(X): Integer; | Pass a variable reference to determine the number of bytes used to represent the variable. Pass a type identifier to determine the number of bytes used to represent instances of that type. |