From 720d2792ec906e942703039e938dbaf1f03cacdb Mon Sep 17 00:00:00 2001 From: michael Date: Sun, 25 Jul 2004 22:37:59 +0000 Subject: [PATCH] + Initial implementation --- docs/strutils.xml | 3508 +++++++++++++++++++++++++++++++++++++++++++++ docs/systhrds.xml | 17 + 2 files changed, 3525 insertions(+) create mode 100644 docs/strutils.xml create mode 100644 docs/systhrds.xml diff --git a/docs/strutils.xml b/docs/strutils.xml new file mode 100644 index 0000000000..cbb539cd5b --- /dev/null +++ b/docs/strutils.xml @@ -0,0 +1,3508 @@ + + + + + + + Various calls. + + + + + + Check whether 2 strings resemble each other. + + AnsiResemblesText + + + + + + will check whether is set. +If it is not set, False is returned. If it is set, AText and AOtherText are passed to it and it's result is returned. + None. + + + + + + + + True + + + + + + + + + if the words match, False if not + + + + + + First text to compare + + + + + + Second text to compare + + + + + + Check whether a string contains a certain substring, ignoring case. + + AnsiContainsString + + + + + +checks whether AText contains ASubText, and returns True + if this is the case, or returns False otherwise. +The search is performed case-insensitive. + + + + + + + + + + + True + + + + + + + + + + + if the substring was found, False otherwise. + + + + + + The string to be searched + + + + + + The substring to search for + + + + + + Check whether a string starts with a given substring, ignoring case + + AnsiEndsText + + + + + + + checks AText + to see whether it starts with ASubText +, and returns True + if it does, False + if not. +The check is performed case-insensitive. Basically, it checks whether the position of ASubText + equals 1. + None. + + + + + + + + + + True + + + + + + + + + if the given string starts with the substring, False if not. + + + + + + Substring to check for + + + + + + String to check in + + + + + + Check whether a string ends with a certain substring, ignoring case. + + AnsiEndsStr + + + + + + + + checks AText + + to see whether it ends with ASubText + +, and returns True + + if it does, False + + if not. +The check is performed case-insensitive. Basically, it checks whether the position of ASubText + + equals the length of AText + + minus the length of ASubText + + plus one. + None + + + + + + + + + + True + + + + + + + + + + + if the string ends on the substring, False otherwise. + + + + + + Substring to check for. + + + + + + Text to check the end of + + + + + + Search and replace all occurrences of a string, case sensitive. + + AnsiReplaceString + + + + + + + searches AText + for all occurrences of the string AFromText + and replaces them with AToText + +, and returns the resulting string. The search is performed ignoring case. + None. + + + + + + + Result of the search and replace operation. + + + + + + String in which to search and replace. + + + + + + String to search for + + + + + + String to replace with + + + + + + Check whether a string occurs in an array of strings, disregarding case. + +

+ AnsiIndexStr + + + + + + matches AText against each string in AValues. +If a match is found, it returns True, otherwise False is returned. +The strings are matched ignoring case. +

+

This function simply calls ad checks whether it returns -1 or not. +

+
+ + +
+ + + True + + + + + + + + + if the value appears in the array, False if not. + + + + + + String to check for + + + + + + Array of string values to search in + + + + + + Searches, case insensitive, for a string in an array of strings. + + AnsiIndexStr + + + + + + + + matches AText + + against each string in AValues + +. +If a match is found, the corresponding index (zero-based) in the AValues + + array is returned. +If no match is found, -1 is returned. + +The strings are matched ignoring case. + None + + + + + + + + Index of the matching element in the array, otherwise -1. + + + + + + String to search for + + + + + + Array of strings to search in. + + + + + + Checks whether a string contains a given substring + + AnsiContainsString + + + + + + +checks whether AText +contains ASubText, and returns True if this is the case, or returns False otherwise. +The search is performed case-sensitive. + None + + + + + + + + + + True + + + + + + + + + + + if the string contains the given substring, False otherwise + + + + + + String to search in + + + + + + The substring to be searched for + + + + + + Check whether a string starts with a given substring, observing case + + AnsiEndsStr + + + + + + + checks AText + to see whether it starts with ASubText +, and returns True + if it does, False + if not. +The check is performed case-sensitive. Basically, it checks whether the position of ASubText + equals 1. + + + + + + + + + + + True + + + + + + + + + if the given string starts with the substring, False if not. + + + + + + Substring to check for + + + + + + String to check in + + + + + + Check whether a string ends with a certain substring + + AnsiEndsStr + + + + + + checks AText to see whether it ends with ASubText, and returns True if it does, False if not. +The check is performed case-sensitive. Basically, it checks whether the position of ASubText equals the length of AText minus the length of ASubText plus one. + None. + + + + + + + + + + True + + + + + + + + + + + if the string ends on the substring, False otherwise. + + + + + + Substring to check for. + + + + + + Text to check the end of + + + + + + Search and replace all occurrences of a string, case sensitive. + + AnsiReplaceString + + + + + + searches AText for all occurrences of the string AFromText and replaces them with AToText, and returns the resulting string. The search is performed observing case. + None. + + + + + + + Result of the search and replace operation + + + + + + String in which to search and replace. + + + + + + String to search for + + + + + + String to replace with + + + + + + Check whether a string occurs in an array of strings, observing case. + +

+ AnsiIndexStr + + + + + + matches AText against each string in AValues. +If a match is found, it returns True, otherwise False is returned. +The strings are matched observing case. +

+

This function simply calls ad checks whether it returns -1 or not. +

+
+ + +
+ + + True + + + + + + + + + if the value appears in the array, False if not. + + + + + + String to check for + + + + + + Array of string values to search in + + + + + + Searches, observing case, for a string in an array of strings. + + AnsiIndexStr + + + + + + + + matches AText + + against each string in AValues + +. +If a match is found, the corresponding index (zero-based) in the AValues + + array is returned. +If no match is found, -1 is returned. + +The strings are matched observing case. + None. + + + + + + + + Index of the matching element in the array, otherwise -1. + + + + + + String to search for + + + + + + Array of strings to search in. + + + + + + Creates and concatenates N copies of a string + +

+ DupeString + + + + + returns a string consisting of ACount concatenations of AText. +Thus +

+
DupeString('1234567890',3);
+
+

will produce a string +

+
'123456789012345678901234567890'
+
+
+ None. + +
+ + Copies of the original string. + + + + + + String to duplicate + + + + + + Number of copies to create + + + + + + Reverse characters in a string + + ReverseString + returns a string, made up of the characters in string AText, in reverse order. + None. + + + + + + String with characters in reversed order. + + + + + + String to reverse + + + + + + Reverse the letters in a string. + +

+ AnsiReverseString + + + + + + returns a string with all characters of AText in reverse order. +

+

if the result of this function equals AText, AText is called an anagram.

+
+ None. + +
+ + Reversed string + + + + + + String to reverse + + + + + + Replace part of a string with another string. + + StuffString + returns a copy of AText with the segment starting at AStart with length ALength, replaced with the string ASubText. +Basically it deletes the segment of Atext and inserts the new text in it's place. + No checking on the validity of the AStart and ALength parameters is done. Providing invalid values may result in access violation errors. + + + + + + + + + + Resulting string with indicated section replaced. + + + + + + Text on which to operate. + + + + + + Start of section to be replaced. + + + + + + Length of section to be replaced. + + + + + + Text to insert at the indicated position. + + + + + + Choose a random string from an array of strings. + + RandomFrom + picks at random a valid index in the array AValues and returns the string at that position in the array. + None. + + + + + + + Random string picked from the array. + + + + + + Strings to choose from + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + String to return if the expression evaluates as false. Default is the empty string. + + + + + + Returns one of two strings, depending on a boolean expression + + IfThen + + + + returns ATrue if AValue is True, and returns AFalse if AValue is false. + None. + + + + + + + Either AFalse or ATrue, depending on the expression. + + + + + + Determines which of the two possibilities to take + + + + + + String to return if the expression evaluates as True. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Copy a given number of characters (bytes), counting from the right of a string. + + RightBStr + returns a string containing the rightmost AByteCount bytes from the string AText. +If AByteCount is larger than the length (in bytes) of AText, only as many bytes as available are returned. + None. + + + + + + + + + Resulting string. + + + + + + String to copy characters from. + + + + + + Number of characters (bytes) to copy. + + + + + + Copies a number of characters starting at a given position in a string. + + MidBStr + + returns a string containing the first AByteCount + bytes from the string AText starting at position AByteStart. +If AByteStart+AByteCount is larger than the length (in bytes) of AText, only as many bytes as available are returned. +If AByteStart is less than 1 or larger than the length of AText, then no characters are returned. + None. + + + + + + + + + Resulting string + + + + + + String to copy characters from. + + + + + + Position (in bytes) to start copying from. + + + + + + Number of characters (bytes) to copy. + + + + + + Copies a number of characters starting at the left of a string + +

+ AnsiLeftStr + + + + + + returns the ACount leftmost characters from AText. If ACount is larger than the length of AText, only as much characters as available in AText will be copied. +If ACount is zero or negative, no characters will be copied. The characters are counted as characters, not as Bytes. +

+

This function corresponds to the Visual Basic LeftStr function.

+
+ None. + + + + + + + + + + +
+ + Resulting string contains the first ACount characters + + + + + + String to copy characters from. + + + + + + The number of characters to copy. + + + + + + Copies a number of characters starting at the right of a string + +

+ AnsiLeftStr + + + + + + + returns the ACount rightmost characters from AText. If ACount is larger than the length of AText, only as much characters as available in AText will be copied. +If ACount is zero or negative, no characters will be copied. The characters are counted as characters, not as Bytes. +

+

This function corresponds to the Visual Basic RightStr function.

+
+ None. + + + + + + + + + + +
+ + Resulting string + + + + + + String to copy characters from + + + + + + Number of characters to copy + + + + + + Returns a number of characters copied from a given location in a string + +

+ AnsiMidStr + + + + + + + returns ACount characters from AText, starting at position AStart. If AStart+ACount is larger than the length of AText, only as much characters as available in AText (starting from AStart) will be copied. +If ACount is zero or negative, no characters will be copied. The characters are counted as characters, not as Bytes. +

+

This function corresponds to the Visual Basic MidStr function.

+
+ None + + + + + + + + + + +
+ + The resulting string + + + + + + String from which to copy + + + + + + 1-based location in the string where to copy from. + + + + + + Number of characters to copy. + + + + + + Copies Count characters starting at the left of a string. + + LeftBStr + + + + + returns a string containing the leftmost AByteCount + + + bytes from the string AText + + +. +If AByteCount + + + is larger than the length (in bytes) of AText + + +, only as many bytes as available are returned. + None. + + + + + + + + + First N characters of the string. + + + + + + String to copy characters from. + + + + + + Number of characters to copy. + + + + + + Copies Count characters starting at the left of a string. + + LeftStr + + + + returns a string containing the leftmost ACount + + characters from the string AText + +. +If ACount + + is larger than the length (in characters) of AText + +, only as many characters as available are returned. + None. + + + + + + + + + First N characters of the string. + + + + + + String to copy characters from. + + + + + + Number of characters to copy. + + + + + + Copy a given number of characters, counting from the right of a string. + + RightStr + + returns a string containing the rightmost ACount + characters from the string AText +. +If ACount + is larger than the length (in characters) of AText +, only as many characters as available are returned. + None. + + + + + + + + + Resulting string. + + + + + + String to copy characters from. + + + + + + Number of characters to copy. + + + + + + Copies a number of characters starting at a given position in a string. + +

+ MidStr + + + returns a string containing the first ACount bytes from the string AText +starting at position AStart. If AStart+ACount is larger than the length (in characters) of +AText, only as many characters as available are returned. +If AStart is less than 1 or larger than the length of AText, then no characters are returned. +

+

This function is equivalent to the standard Copy function, and is provided for completeness only. +

+
+ None. + + + + + + +
+ + Resulting string + + + + + + String to copy characters from. + + + + + + Position (in characters) to start copying from. + + + + + + Number of characters to copy. + + + + + + Standard word delimiters + Standard word delimiters, used in the call. + + + + + Possible options for call. + + + + + + Search in down direction. + + + + + + Match case + + + + + + Search whole words only. + + + + + + Set of options for call. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Search options + + + + + + Search a buffer for a certain string. + +

+ SearchBuf + + searches the buffer Buf for the occurrence of SearchString. +At must Buflen characters are searched, and the search is started at SelStart+SelLength. +If a match is found, a pointer to the position of the match is returned. +The parameter Options specifies how the search is conducted. It is a set of the following options: +

+ + + + + + + + + + + + + + + + +
+ OptionEffect
soDownSearches forward, starting at the end of the selection. Default is searching up
soMatchCaseObserve case when searching. Default is to ignore case.
soWholeWordMatch only whole words. Default also returns parts of words
+

The standard constant is used to mark the boundaries of words. +

+

The SelStart parameter is zero based. +

+
+ Buflen must be the real length of the string, no checking on this is performed. + + + + + + + +
+ + Position of the string + + + + + + Buffer to search + + + + + + Length of the buffer. + + + + + + Start of selection. + + + + + + Length of selection. + + + + + + String to search for. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + String to search for. + + + + + + + + + + + + Search for the occurance of a character in a string, starting at a certain position. + + PosEx + returns the position of the first occurrence of the character C or the substring +SubStr in the string S, starting the search at position Offset (default 1). +If C or SubStr does not occur in S after the given Offset, zero is returned. +The position Offset is also searched. + None. + + + + + + + + Position of the character, or -1 if it is not found. + + + + + + Character to search for. + + + + + + String to search. + + + + + + Initial position where to start searching. + + + + + + Range of allowed soundex lengths. + + + + + + + + + + + + + + + + + + + + + + + + Length of the soundex + + + + + + Compute the soundex of a string + + Soundex + computes a soundex code for AText. +The resulting code will at most have ALength characters. +The soundex code is computed according to the US system of soundex computing, which may result in +inaccurate results in other languages. + None. + + + + + + + + + + String with the soundex code of the original string. + + + + + + Text to compute soundex of + + + + + + Range of allowed integer soundex lengths. + + + + + + + + + + + + + + + + + + + + + + + + Length of the soundex value to compute. + + + + + + Soundex value as an integer. + + SoundexInt + computes the code (with length ALength, default 4) of AText, +and converts the code to an integer value. + None. + + + + + + + + + + Soundex value as a astring. + + + + + + Text for which to compute soundex value. + + + + + + Decodes the integer representation of a soundex code and returns the original soundex code. + + DecodeSoundexInt + + + + + converts the integer value AValue to a soundex string. +It performs the reverse operation of the function. +The result is the soundex string corresponding to AValue. + +. + None. + + + + + + + + Soundex code corresponding to the integer value. + + + + + + Integer soundex value. + + + + + + Calculate a word-sized soundex value + + SoundexInt + computes the code (with length 4) of AText +, and converts the code to a word-sized value. + None. + + + + + + + + + + Soundex value as a word. + + + + + + String to calculate soundex value of + + + + + + Decodes the word-sized representation of a soundex code and returns the original soundex code. + + DecodeSoundexWord + + + + + + converts the integer value AValue + to a soundex string. +It performs the reverse operation of the + function. +The result is the soundex string corresponding to AValue +. + None. + + + + + + + + Soundex code corresponding to the word-sized value. + + + + + + Word-sized soundex value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Soundex length (default 4) + + + + + + Check whether 2 strings have equal soundex values + + SoundexSimilar + returns True if the soundex codes (with length ALength) of AText and AOther are equal, and False if they are not. + None. + + + + + + + + + + + + True + + + + + + + + if the strings have the same soundex value, False otherwise + + + + + + First string + + + + + + Second string + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Length of soundexes to compare. + + + + + + Compare soundex values of 2 strings. + + SoundexCompare + computes the soundex codes of AText and AOther and feeds these to CompareText. +It will return -1 if the soundex code of AText is less than the soundex code of AOther, 0 if they are equal, +and 1 if the code of AOther is larger than the code of AText. + None. + + + + + + + + + + 0 if the soundexes are equal. Negative of the first is smaller as the second, positive otherwise. + + + + + + First string. + + + + + + Second string. + + + + + + Default AnsiResemblesText implementation. + + SoundexProc + is the standard implementation for the procedure: +By default, AnsiResemblesProc is set to this function. +It compares the soundex codes of AOther and AText and returns True if they are equal, or False if they are not. + None. + + + + + + + + + + 0 if the soundexes are equal. Negative of the first is smaller as the second, positive otherwise. + + + + + + Second string. + + + + + + First string. + + + + + + Function prototype for comparing two string in + + + + + + True if strings match, false otherwise. + + + + + + First string + + + + + + Second string. + + + + + + Procedural variable, called when checking 2 strings for resemblances in + This procedural variable is standard set to but can be overriden with a user-defined algorithm. +This algorithm should return True if AText resembles AOtherText, or False otherwise. +The standard routine compares the soundexes of the two strings and returns True if they are equal. + None + + + + + + + Check whether a string is empty, disregaring whitespace characters + + IsEmptyStr + + + + returns True if the string S only contains characters whitespace characters, all characters in EmptyChars are considered whitespace characters. +If a character not present in EmptyChars is found in S, False is returned. + None. + + + + + + + + + True + + + + + + + + + if the string consists solely of empty characters. + + + + + + String to check + + + + + + Characters to consider as whitespace + + + + + + Delete all occurrences of a space from a string. + + DelSpace + + + + + + + + returns a copy of S + + + with all spaces (ASCII code 32) removed from it. + None. + + + + + + + String with all spaces removed. + + + + + + String to delete spaces from. + + + + + + Delete all occurrences of a given character from a string. + + DelChars + + + + + returns a copy of S with all Chr characters removed from it. + None. + + + + + + + Original string with all occurrences of the given character deleted. + + + + + + String to delete characters from. + + + + + + Character which must be deleted. + + + + + + Reduces sequences of space characters to 1 space character. + + DelSpace1 + + + + + + returns a copy of S + with all sequences of spaces reduced to 1 space. + None. + + + + + + + Original string with series of maximal 1 space. + + + + + + String to reduce space sequences in. + + + + + + Convert tab characters to a number of spaces + + Tab2Space + returns a copy of S with all tab characters (ASCII character 9) converted to Numb spaces. + None. + + + + + + + + + + + + Strng with tab characters replaced + + + + + + String in which to replace tab characters. + + + + + + Number of spaces to replace tab characters with. + + + + + + Returns the position of the N-th occurence of a substring in a string. + + NPos + + checks S for the position of the N-th occurrence of C. +If C occurs less than N times in S, or does not occur in S at all, 0 is returned. +If N is less than 1, zero is returned. + None. + + + + + + + Position of N-th occurrence of the substring, -1 if there is none. + + + + + + Substring to search for + + + + + + String to search. + + + + + + Which position to return + + + + + + Add characters to the left of a string till a certain length + + AddChar + + + + + + + + + adds characters (C + +) to the left of S till the length N + + is reached, and returns the resulting string. +If the length of S + + is already equal to or larger than N + +, then no characters are added. +The resulting string can be thought of as a right-aligned version of S + +, with length N + +. + None + + + + + + + + + The resulting string with length N + + + + + + Char to be added + + + + + + The string to be treated + + + + + + The minimal length the string should have + + + + + + Add chars at the end of a string till it reaches a certain length + + AddCharR + + + + + + + adds characters (C) to the right of S till the length N is reached, and returns the resulting string. +If the length of S is already equal to or larger than N, then no characters are added. +The resulting string can be thought of as a left-aligned version of S, with length N +. + None + + + + + + The resulting string with length N + + + + + + The character to be added + + + + + + The string to be treated + + + + + + The minimal length the string should have + + + + + + Add spaces to the left of a string till a certain length is reached. + + PadLeft + + + add spaces to the left of the string S + + till the result reaches length Len + +. +If the string S + + has length equal to or largert than Len + +, no spaces are added, and the string +S + + is returned as-is. +The resulting string is S + +, right-justified on length Len + +. + None. + + + + + + + + + String of length N, padded to the left with spaces + + + + + + String to pad. + + + + + + Minimal length of the resulting string. + + + + + + Add spaces to the right of a string till a certain length is reached. + + PadRight + add spaces to the left of the string S till the result reaches length Len. +If the string S has length equal to or largert than Len, no spaces are added, and the string S is returned as-is. +The resulting string is S, left-justified on length Len + +. + None. + + + + + + + + + String of length N, padded to the right with spaces + + + + + + String to pad. + + + + + + Minimal length of the resulting string. + + + + + + Pad the string to a certain length, so the string is centered. + + PadCenter + add spaces to the left and right of the string S till the result reaches length Len. +If the number of spaces to add is odd, then the extra space will be added at the end. +If the string S has length equal to or largert than Len, no spaces are added, and the string S is returned as-is. + None. + + + + + + + + + Centered string of the specified length + + + + + + String to center + + + + + + Desired length of the resulting string + + + + + + Returns all characters in a string till a given character (not included). + +

+ Copy2SymbDel + + + + + + determines the position of the first occurrence of Symb in the string S +and returns all characters up to this position. The Symb character itself is not included in the result string. The string S is left untouched. +If Symb does not appear in S, then the whole of S is returned. +

+
+ None. + + + + +
+ + Characters from the string till the first occurence of the given character. + + + + + + String to return first characters from. + + + + + + Symbol till which characters will be copied. Will not be included in the result. + + + + + + Deletes and returns all characters in a string till a given character (not included). + +

+ Copy2SymbDel + + + + + + determines the position of the first occurrence of Symb in the string S +and returns all characters up to this position. The Symb character itself is not included in the result string. +All returned characters, including the Symb character, are deleted from the string S, after which it is right-trimmed. +If Symb does not appear in S, then the whole of S is returned, and S itself is emptied. +

+
+ None. + + + + +
+ + Characters from the string till the first occurence of the given character. + + + + + + String to delete and return first characters from. + + + + + + Symbol till which characters will be copied. Will not be included in the result. + + + + + + Returns all characters in a string till the first space character (not included). + +

+ Copy2Space + + + + + determines the position of the first space in the string S and returns all characters up to this position. +The space character itself is not included in the result string. The string S is left untouched. +If there is no space in S, then the whole string S is returned. +

+

This function simply calls with the space (ASCII code 32) as the symbol argument. +

+
+ None. + + + + +
+ + Characters from S till the first space. + + + + + + String to return first characters from. + + + + + + Deletes and returns all characters in a string till the first space character (not included). + +

+ Copy2SpaceDel + + + + + + + determines the position of the first space in the string S +and returns all characters up to this position. The space character itself is not included in the result string. +All returned characters, including the space, are deleted from the string S, after which it is right-trimmed. +If there is no space in S, then the whole string S is returned, and S itself is emptied. +

+

This function simply calls with the space (ASCII code 32) as the symbol argument. +

+
+ None. + + + + +
+ + Deleted characters from the string + + + + + + String to delete and return first characters from. + + + + + + Pretty-Print a string: make lowercase and capitalize first letters of words + + AnsiProperCase + + + + + + converts S to an all lowercase string, but capitalizes the first letter of every word in the string, and returns the resulting string. +When searching for words, the characters in WordDelimiters are used to determine the boundaries of words. +The constant can be used for this. + + + + + Resulting lowercase string with first letters capitalized + + + + + + String to pretty-print + + + + + + Characters to use as word delimiters + + + + + + Count the number of words in a string. + +

+ WordCount + returns the number of words in the string S. +A word is a non-empty string of characters bounded by one of the characters in WordDelims. +

+

The pre-defined constant can be used for the WordDelims argument. +

+
+ None. + + + + + + +
+ + Number of words in the string. + + + + + + String to search in. + + + + + + Characters to be used as word delimiters. + + + + + + Search position of Nth word in a string. + +

+ WordPosition + returns the position (in characters) of the N-th word in the string S. +A word is a non-empty string of characters bounded by one of the characters in WordDelims. +If N is out of range, zero is returned. +

+

The pre-defined constant can be used for the WordDelims argument. +

+
+ None + + + + + + +
+ + Position of the N-th word, or -1 if there is none. + + + + + + Which word to search for + + + + + + String to search in. + + + + + + Characters to be used as word delimiters. + + + + + + Extract the N-th word out of a string. + +

+ ExtractWord + + + + +extracts the N-th word from the string S. +The set of characters in WordDelims are used to mark word boundaries. +A word is defined as any non-empty sequence of characters which are not present in WordDelims: +if a character is not in WordDelims, it is considered as part of a word. +If an N-th word cannot be found, an empty string is returned. +

+

Unlike , an empty string is not a valid return value, i.e. is not a word. +If an empty string is returned, the index N was out of range. +

+

The pre-defined constant can be used for the WordDelims argument. +

+
+ None. + + + + + + + + +
+ + The N-th word, or empty if N is out of range. + + + + + + Which word to extract. + + + + + + String to extract the word from. + + + + + + Characters to use as word delimiters + + + + + + Extract a word from a string, and return the position where it was located in the string. + +

+ ExtractWordPos + + + + + + + extracts the N-th word from the string S +and returns the position of this word in Pos. +The set of characters in WordDelims + are used to mark word boundaries. +A word is defined as any non-empty sequence of characters which are not present in WordDelims +: +if a character is not in WordDelims +, it is considered as part of a word. +If an N +-th word cannot be found, an empty string is returned and Pos is zero. +

+

Unlike , an empty string is not a valid return value, i.e. is not a word. +If an empty string is returned, the index N was out of range. +

+

The pre-defined constant can be used for the WordDelims argument. +

+
+ None. + + + + + + + +
+ + N-th word of the string, or empty if N is out of range. + + + + + + Which word to extract + + + + + + String to extract a word from. + + + + + + Characters to use as word delimiters + + + + + + On return, contains the position of the N-th word. + + + + + + Extract the N-th delimited part from a string. + +

+ ExtractDelimited + + + + + extracts the N-th part from the string S. +The set of characters in Delims are used to mark part boundaries. +When a delimiter is encountered, a new part is started and the old part is ended. +Another way of stating this is that any (possibly empty) series of characters not in Delims, +situated between 2 characters in Delims, it is considered as piece of a part. +This means that if 2 delimiter characters appear next to each other, there is an empty part between it. +If an N-th part cannot be found, an empty string is returned. However, +unlike , an empty string is a valid return value, i.e. a part can be empty. +

+

The pre-defined constant can be used for the Delims argument. +The pre-defined constant would be better suited the Delims argument +e.g. in case factors in a mathematical expression are searched. +

+
+ None. + + + + + +
+ + N-th word + + + + + + Which word to extract + + + + + + String to extract word from + + + + + + Characters to use as word delimiters. + + + + + + Extract a word from a string, starting at a given position in the string. + +

+ ExtractSubStr + + + + + returns all characters from S starting at position Pos till the first character in Delims, +or till the end of S is reached. +The delimiter character is not included in the result. +Pos is then updated to point to the next first non-delimiter character in S. +If Pos is larger than the Length of S, an empty string is returned. +

+

The pre-defined constant can be used for the Delims argument. +

+
+ None. + + + + + +
+ + The extracted word. + + + + + + String to search in. + + + + + + Initial position to start extracting. On exit returns the position of the next word. + + + + + + Characters to use as word delimiters + + + + + + Check for the presence of a word in a string. + +

+ IsWordPresent + + checks for the presence of the word W in the string S. +Words are delimited by the characters found in WordDelims. +The function returns True if a match is found, False otherwise. +The search is performed case sensitive. +

+

This function is equivalent to the function with the soWholeWords option specified. +

+
+ None. + + + +
+ + + True + + + + + + + + + if the word is present, False if not. + + + + + + Word to search for + + + + + + String to search + + + + + + Characters to use as word separators + + + + + + Search for a substring in a string, using wildcards. + + FindPart + + + + + + searches the string InputStr + and returns the first string that matches the wildcards specification in HelpWilds +. If no match is found, and empty string is returned. +valid wildcards are the "?" (question mark) and "*" (asterisk) characters. + None. + + + + + + String matching the search expression. + + + + + + Search string, may contain wildcards. + + + + + + String to search in. + + + + + + Check whether a string matches a wildcard search expression. + +

+ IsWild + + + + checks InputStr for the presence of the Wilds string. +Wilds may contain "?" and "*" wildcard characters, which have their usual meaning: +"*" matches any series of characters, possibly empty. "?" matches any single character. +The function returns True if a string is found that matches Wilds, False otherwise. +

+

If IgnoreCase is True, the non-wildcard characters are matched case insensitively. +If it is False, case is observed when searching. +

+
+ None. + + + + +
+ + + True + + + + + + + + + if the string matches the wildcard specification, False otherwise. + + + + + + String to search + + + + + + Wildcard specification + + + + + + Search case insensitive or not. + + + + + + Encode a string by XOR-ing its characters using characters of a given key. + +

+ XorString + encodes the string Src by XOR-ing each character in Source with the corresponding character in Key, repeating Key as often as necessary. +The resulting string may contain unreadable characters and may even contain null characters. +For this reason it may be a better idea to use the function instead, +which will representing each resulting ASCII code as a hexadecimal number (of length 2). +

+

Feeding the result again to XorString with the same Key, will result in the original string Src. +

+
+ None. + + + + +
+ + Resulting string + + + + + + Key to use + + + + + + String to encode. + + + + + + Encode a string by XOR-ing its characters using characters of a given key, representing the result as hex values. + +

+ XorEncode + encodes the string Source by XOR-ing each character in Source with the corresponding character in Key (repeating Key as often as necessary) and representing the resulting ASCII code as a hexadecimal number (of length 2). The result is therefore twice as long as the original string, and every 2 bytes represent an ASCII code. +

+

Feeding the resulting string with the same key Key to the function will result in the original Source string. +

+

This function can be used e.g. to trivially encode a password in a configuration file. +

+
+ None. + + + + + +
+ + Original encoded string. + + + + + + Key to use when encoding. + + + + + + String ro encode. + + + + + + Decode a string encoded with + + XorDecode + decodes Source and returns the original string that was encrypted using with key Key. +If a different key is used than the key used to encode the string, the result will be unreadable. + If the string Source is not a valid XorEncode result (e.g. contains non-numerical characters), then a EConversionError exception will be raised. + + + + + + + Hexadecimal representation of the XOR-encoded string. + + + + + + Key to use when decoding. + + + + + + String to decode + + + + + + Returns the command-line argument following the given switch. + +

+ GetCmdLineArg + + + + + + returns the value for the Switch option on the command-line, if any is given. +Command-line arguments are considered switches if they start with one of the characters in the SwitchChars set. +The value is the command-line argument following the switch command-line argument. +

+

Gnu-style (long) Options of the form switch=value are not supported. +

+

The constant can be used as value for the SwitchChars parameter. +

+
+ +

The GetCmdLineArg does not check whether the value of the option does not start with a switch character. i.e.

+
myprogram -option1 -option2
+
+

will result in "-option2" as the result of the GetCmdLineArg + call for option1.

+
+ + + +
+ + Command line argument that followed the switch + + + + + + Switch to search for + + + + + + Switch characters to use. Can be empty. + + + + + + Insert thousand separators. + + Numb2USA + inserts thousand separators in the string S at the places where they are supposed to be, i.e. every 3 digits. +The string S should contain a valid integer number, i.e. no digital number. No checking on this is done. + None. + + + + String with thousand separators inserted. + + + + + + String to insert thousand separators in. + + + + + + Converts a hexadecimal string to a decimal value + + Hex2Dec + + + + + converts the hexadecimal value in the string S to its decimal value. +Unlike the standard Valor StrToInt functions, there need not be a $ sign in +front of the hexadecimal value to indicate that it is indeed a hexadecimal value. + If S does not contain a valid hexadecimal value, an EConvertError exception will be raised. + + + + + + + + + Hexadecimal value of the string + + + + + + String to convert + + + + + + Convert a decimal number to a string representation, using given a base. + + Dec2Numb + + + + + + converts N + to its representation using base Base +. +The resulting string is left-padded with zeroes till it has length Len +. +Base + must be in the range 2-36 to be meaningful, but no checking on this is performed. + If Base +is out of range, the resulting string will contain unreadable (non-alphanumeric) characters. + + + + + + + + + The representation of the given number. + + + + + + Number to represent. + + + + + + Minimal length of the returned string + + + + + + Base to use when converting + + + + + + Converts a string representation of a number to its numerical value, given a certain base. + + Numb2Dec + converts the number in string S to a decimal value. +It assumes the number is represented using Base as the base. +No checking is performed to see whether S contains a valid number using base Base. + None. + + + + + + + Numerical value of the string. + + + + + + String to convert + + + + + + Base to use when converting. + + + + + + Converts an integer to a binary string representation, inserting spaces at fixed locations. + + IntToBin + + + + converts Value to a string with it's binary (base 2) representation. +The resulting string contains at least Digits digits, with spaces inserted every Spaces digits. +Spaces should be a nonzero value. If Digits is larger than 32, it is truncated to 32. + If spaces is zero, a division by zero error will occur. + + + + + + + Resulting string + + + + + + Value to convert + + + + + + Number of bits in the resulting string. + + + + + + Number of digits after which to insert a space. + + + + + + Represent an integer with roman numerals + + IntToRoman + + + + converts Value to a string with the Roman representation of Value. +Number up to 1 million can be represented this way. + None. + + + + + + + + + Value + + + + + + + + + in roman numerals + + + + + + Value to convert + + + + + + Convert a string with a Roman number to it's decimal value. + + RomanToInt + returns the decimal equivalent of the Roman numerals in the string S. +Invalid characters are dropped from S. A negative numeral is supported as well. + None. + + + + + + + + Value of the string. + + + + + + String to convert. + + + + + + Set of digit characters + + + + + + Set of characters that contain all possible bracket characters + + + + + + Standard word delimiter values. + + + + + Various string handling routines + + + + + Possible options for call. + There is an typo error in the original Borland StrUtils unit. +This type just refers to the correct and is provided for compatibility only. + + + + + Standard characters for the SwitchChars argument of . + + + + +
+ +
+
diff --git a/docs/systhrds.xml b/docs/systhrds.xml new file mode 100644 index 0000000000..8731e025cd --- /dev/null +++ b/docs/systhrds.xml @@ -0,0 +1,17 @@ + + + + + + System threading routines and implementation of thread manager + + + + + + +