CkString Delphi DLL Reference Documentation
CkString
Current Version: 10.0.0
The Chilkat string class.
Create/Dispose
var myObject: HCkString; begin myObject := CkString_Create(); // ... CkString_Dispose(myObject); end;
Creates an instance of the HCkString object and returns a handle (i.e. a Pointer). The handle is passed in the 1st argument for the functions listed on this page.
Objects created by calling CkString_Create must be freed by calling this method. A memory leak occurs if a handle is not disposed by calling this function.
Properties
NumArabic
The number of Arabic characters contained in this string.
topNumAscii
The number of us-ascii characters contained in this string.
topNumCentralEuro
The number of Central European and Eastern European characters found in this string. These are characters specific to Polish, Czech, Slovak, Hungarian, Slovene, Croatian, Serbian (Latin script), Romanian and Albanian.
topNumChinese
The number of Chinese characters contained in this string.
topNumCyrillic
The number of Cyrillic characters contained in this string. The Cyrillic alphabet also called azbuka, from the old name of the first two letters) is actually a family of alphabets, subsets of which are used by certain East and South Slavic languages "” Belarusian, Bulgarian, Macedonian, Russian, Rusyn, Serbian and Ukrainian"”as well as many other languages of the former Soviet Union, Asia and Eastern Europe.
topNumGreek
The number of Greek characters contained in this string.
topNumHebrew
The number of Hebrew characters contained in this string.
topNumJapanese
The number of Japanese characters contained in this string.
topNumKorean
The number of Korean characters contained in this string.
topNumLatin
The number of Latin characters contained in this string. Latin characters include all major Western European languages, such as German, Spanish, French, Italian, Nordic languages, etc.
Note: This is the number of chars that are Latin characters that do not fall in the us-ascii range. In other words, the 8bit Latin chars.
topNumThai
The number of Thai characters contained in this string.
topMethods
append
str: pbyte) stdcall;
The str is appended to end of this instance.
topappendAnsi
str: pbyte) stdcall;
Appends an ANSI string to the end of this instance. str should always be a null terminated ANSI string regardless of the Utf8 property setting.
topappendChar
c: Char) stdcall;
Appends a single ANSI character to the end of this instance.
topappendCurrentDateRfc822
Appends the current date/time to the end of this instance. The date/time is formatted according to the RFC822 standard, which is the typical format used in the "Date" header field of email. For example: "Fri, 27 Jul 2012 17:41:41 -0500"
topappendEnc
str: pbyte;
charsetEncoding: pbyte) stdcall;
Appends a string of any character encoding to the end of this instance. Examples of charsetEncoding are: Shift_JIS, windows-1255, iso-8859-2, gb2312, etc. The str should point to a null-terminated string that uses the charset specified by charsetEncoding.
appendHexData
byteData: pbyte;
numBytes: LongWord) stdcall;
Converts the binary data to a hexidecimal string representation and appends to the end of this instance. The hex data is appended in 2-byte chunks with 16 bytes per line. For example:
6861 6C6C 6861 6C6C 6861 6C6C 6861 6C6C 6861 6C6C 6861 6C6C 6861 6C6C 6861 6C6C 6861 6C6C 6861 6C6C 6861 6C6C 6861 6C6Ctop
appendInt
n: Integer) stdcall;
Appends the decimal string representation of an integer to the end of this instance.
topappendLastWindowsError
For many Win32 Platform SDK functions, such as CreateFile, error information must be retrieved by using the Win32 functions GetLastError and FormatMessage. This method calls these Win32 functions to format the error and appends it to the string.
This method would only be used by Win32 applications that call Platform SDK functions.
topappendN
str: pbyte;
numBytes: LongWord) stdcall;
Appends N bytes of character data to the end of this instance. If the Utf8 property is set to True, then str should point to characters in the utf-8 encoding, otherwise it should point to characters using the ANSI encoding. Note: numBytes is not necessarily the number of characters. It is the length, in bytes, of the string to be appended. This method exists to allow for non-null terminated strings to be appended.
topappendNU
wideStr: PWideChar;
numChars: Integer) stdcall;
Append N Unicode characters to the end of this instance. The wideStr points to the 2-byte per char Unicode string. The numChars is the number of Unicode characters to be appended (not the number of bytes).
topappendRandom
numBytes: Integer;
encoding: pbyte) stdcall;
Appends numBytes random bytes to the end of this instance. Because arbitrary byte values in the range 0 to 255 do not necessarily represent valid characters, the bytes must be encoded to a string friendly representation such as hex, base64, etc. The encoding specifies the encoding to be used. Possible values are "hex", "base64", "quoted-printable", "asc", or "url".
topappendStr
strObj: HCkString) stdcall;
Appends the contents of strObj to the end of this instance.
topappendU
unicode: PWideChar) stdcall;
Append a Unicode string to the CkString object.
topappendUtf8
str: pbyte) stdcall;
Appends a utf-8 string to the existing contents of this instance. str should always be a null terminated utf-8 string regardless of the Utf8 property setting.
topbase64Decode
charsetEncoding: pbyte) stdcall;
In-place base64 decodes the string and inteprets the results according to the character encoding specified.
base64DecodeW
charsetEncoding: PWideChar) stdcall;
The utf-16 version of base64Decode.
topbase64Encode
charsetEncoding: pbyte) stdcall;
In-place base64 encodes the string. Internally, the string is first converted to the character encoding specified and then base-64 encoded. Typical charsetEncoding values are "utf-8", "ANSI", "iso-8859-1", etc.
base64EncodeW
charsetEncoding: PWideChar) stdcall;
The utf-16 version of base64Encode.
topbeginsWith
substr: pbyte): wordbool; stdcall;
Return True if this string begins with substr (case sensitive), otherwise returns False.
topbeginsWithStr
strObj: HCkString): wordbool; stdcall;
Returns True if the string begins with the contents of strObj. Otherwise returns False. This method is case sensitive.
topbeginsWithW
str: PWideChar): wordbool; stdcall;
The utf-16 version of beginsWith.
topcharAt
idx: Integer): Char; stdcall;
Returns the ANSI character at a specified index.The first character is at index 0.
topcharAtU
idx: Integer): WideChar; stdcall;
Return the Nth character as a Unicode character.
topchopAtFirstChar
ch: Char) stdcall;
Finds the first occurrence of ch and discards the characters at and following ch.
topchopAtStr
subStrObj: HCkString) stdcall;
Finds the first occurrence of a substring and chops it at that point. The result is that the substring and all subsequent characters are removed from the string.
topclear
Clears the string. The string contains 0 characters after calling this method.
topclone
Creates a copy of the string. As with any newly created Chilkat object instance returned by a Chilkat method, the returned CkString object must be deleted by the calling application.
Returns nil on failure
topcompareStr
str: HCkString): Integer; stdcall;
Compare two strings. A return value = 0 means they are equal. Return value = 1 indicates that calling object is lexicographically less than argument. Return value = -1 indicates that calling object is lexicographically greater than argument.
topcontainsSubstring
substr: pbyte): wordbool; stdcall;
Returns True if the string contains the specified substring, otherwise returns False. The string comparison is case-sensitive.
topcontainsSubstringNoCase
substr: pbyte): wordbool; stdcall;
Same as containsSubstring except the matching is case insensitive.
topcontainsSubstringNoCaseW
substr: PWideChar): wordbool; stdcall;
The utf-16 version of containsSubstringNoCase.
topcontainsSubstringW
substr: PWideChar): wordbool; stdcall;
The utf-16 version of containsSubstring.
topcountCharOccurances
ch: Char): Integer; stdcall;
Returns the number of occurrences of the specified ANSI char.
topdecodeXMLSpecial
Decodes XML special characters. For example, < is converted to '<'
topdoubleValue
Converts the string to a double and returns the value.
topeliminateChar
ansiChar: Char;
startIndex: Integer) stdcall;
Eliminate all occurrences of a particular ANSI character.
topencodeXMLSpecial
Encodes XML special characters. For example, '<' is converted to <
topendsWith
substr: pbyte): wordbool; stdcall;
Returns True if the string ends with substr (case-sensitive). Otherwise returns False.
topendsWithStr
substrObj: HCkString): wordbool; stdcall;
Returns True if the string ends with the specified substring, otherwise returns False.
topendsWithW
s: PWideChar): wordbool; stdcall;
The utf-16 version of endsWith.
topentityDecode
Decodes any HTML entities found within the string, replacing them with the characters represented.
topentityEncode
HTML encodes any characters that are special to HTML or cannot be represented by 7-bit us-ascii.
topequals
str: pbyte): wordbool; stdcall;
Returns True if the strings are equal, otherwise returns False. (case-sensitive)
topequalsIgnoreCase
str: pbyte): wordbool; stdcall;
Returns True if the strings are equal, otherwise returns False. (case-insensitive)
topequalsIgnoreCaseStr
strObj: HCkString): wordbool; stdcall;
Returns True if the strings are equal, otherwise returns False (case-insensitive)
topequalsIgnoreCaseW
s: PWideChar): wordbool; stdcall;
The utf-16 version of equalsIgnoreCase.
topequalsStr
strObj: HCkString): wordbool; stdcall;
Returns True if the strings are equal, otherwise returns False. (case-sensitive)
topequalsW
s: PWideChar): wordbool; stdcall;
The utf-16 version of the "equals" method.
topgetChar
idx: Integer): HCkString; stdcall;
Returns a new CkString object containing the Nth character. (Note, it does not contain the Nth byte, but the Nth character.) For languages such as Chinese, Japanese, etc. individual characters are represented by multiple or varying number of bytes.
Returns nil on failure
topgetEnc
encoding: pbyte): pbyte; stdcall;
Returns the string as a null-terminated byte sequence in the character encoding specified by encoding. The encoding can be any encoding specified at the link below, except for charsets that contain 0 (null) bytes in individual character byte representations, such as utf-16, utf-32, etc.
getNumChars
Returns the number of characters in the string.
topgetSizeAnsi
Returns the size, in bytes, of the ANSI encoding of the string.
topgetSizeUnicode
Returns the size, in bytes, of the Unicode encoding of the string.
topgetSizeUtf8
Returns the size, in bytes, of the utf-8 encoding of the string.
topgetString
Returns the contents of this instance.
topgetStringAnsi
Returns the string as null-terminated ANSI.
topgetStringUtf8
Returns the string as null-terminated utf-8.
topgetUnicode
Return a pointer to memory containing the string in Unicode.
tophexDecode
charsetEncoding: pbyte) stdcall;
Hex decodes a string and inteprets the bytes according to the character encoding specified.
hexDecodeW
charsetEncoding: PWideChar) stdcall;
The utf-16 version of hexDecode.
tophexEncode
charsetEncoding: pbyte) stdcall;
Converts the string to the character encoding specified and replaces the string contents with the hex encoding of the character data.
hexEncodeW
charsetEncoding: PWideChar) stdcall;
The utf-16 version of hexEncode.
topindexOf
substr: pbyte): Integer; stdcall;
Returns the index of the first occurrence of a substring. Returns -1 if not found.
topindexOfStr
substrObj: HCkString): Integer; stdcall;
Returns the index of the first occurrence of a substring. Returns -1 if not found.
topindexOfW
s: PWideChar): Integer; stdcall;
The utf-16 version of "indexOf".
topintValue
Converts the string to an integer and returns the integer value.
topisEmpty
Returns True if the string object is empty, otherwise returns False.
toplastChar
Returns the last ANSI character in the string.
toploadFile
path: pbyte;
charsetEncoding: pbyte): wordbool; stdcall;
Load the contents of a text file into the CkString object. The string is cleared before loading. The character encoding of the text file is specified by charsetEncoding. This method allows for text files in any charset to be loaded: utf-8, Unicode, Shift_JIS, iso-8859-1, etc.
Returns True for success, False for failure.
loadFileW
path: PWideChar;
charsetEncoding: PWideChar): wordbool; stdcall;
matches
strPattern: pbyte): wordbool; stdcall;
Returns True if the string matches the strPattern, which may contain one or more asterisk wildcard characters. Returns False if the string does not match. This method is case-sensitive.
topmatchesNoCase
strPattern: pbyte): wordbool; stdcall;
Returns True if the string matches the strPattern, which may contain one or more asterisk wildcard characters. Returns False if the string does not match. This method is case-insensitive.
topmatchesNoCaseW
s: PWideChar): wordbool; stdcall;
The utf-16 version of matchesNoCase.
topmatchesStr
strPatternObj: HCkString): wordbool; stdcall;
Returns True if the string matches a pattern, otherwise returns False. The pattern may contain any number of wildcard '*' characters which represent 0 or more occurrences of any character. This method is case-sensitive.
topmatchesW
s: PWideChar): wordbool; stdcall;
The utf-16 version of the "matches" method.
topminimizeMemory
Minimizes the amount of memory consumed by this object. For example, consider the following: A CkString object is loaded with the contents of a text file. The "replaceAllOccurances" method is called, replacing longer substrings with shorter replacements. The actual string length will become shorter than the internal buffer space that is allocated. The minimizeMemory method will, if necessary, allocate a new internal buffer that is exactly the size needed to hold the current contents of the string, copy the string to the new internal buffer, and deallocate the old buffer.
topobfuscate
Obfuscates the string. (The unobfuscate method can be called to reverse the obfuscation to restore the original string.)
The Chilkat string obfuscation algorithm works by taking the utf-8 bytes of the string, base64 encoding it, and then scrambling the letters of the base64 encoded string. It is deterministic in that the same string will always obfuscate to the same result. It is not a secure way of encrypting a string. It is only meant to be a simple means of transforming a string into something unintelligible.
topprepend
str: pbyte) stdcall;
Prepends str to this instance.
topprependW
s: PWideChar) stdcall;
The utf-16 version of the "prepend" method.
toppunyDecode
In-place decodes the string from punycode.
toppunyEncode
In-place encodes the string to punycode.
topqpDecode
charsetEncoding: pbyte) stdcall;
Quoted-printable decodes the string and interprets the resulting character data according to the specified character encoding. The result is that the quoted-printable string is in-place decoded.
qpDecodeW
charset: PWideChar) stdcall;
The utf-16 version of the qpDecode method.
topqpEncode
charsetEncoding: pbyte) stdcall;
Quoted-printable encodes the string. The string is first converted to the charset specified, and those bytes are QP-encoded. The contents of the string are replaced with the QP-encoded result.
qpEncodeW
charset: PWideChar) stdcall;
The utf-16 version of the qpEncode method.
topremoveAll
substr: HCkString): Integer; stdcall;
Removes all occurrences of substr.
topremoveCharOccurances
ch: Char) stdcall;
Removes all occurrences of a specific ANSI character from the string.
topremoveChunk
charStartPos: Integer;
numChars: Integer) stdcall;
Removes a chunk of characters specified by starting index and length.
topremoveDelimited
beginDelim: pbyte;
endDelim: pbyte;
caseSensitive: wordbool) stdcall;
Remove all occurrences of strings delimited by beginDelim and endDelim. Also removes the delimiters.
topremoveFirst
substr: HCkString): wordbool; stdcall;
Removes the first occurrence of a substring.
topreplaceAll
findStrObj: HCkString;
replaceStrObj: HCkString): Integer; stdcall;
Replaces all occurrences of a substring with another. The replacement string is allowed to be empty or different in length.
topreplaceAllOccurances
findStr: pbyte;
replaceStr: pbyte): Integer; stdcall;
Replaces all occurrences of a substring with another substring. The replacement string is allowed to be empty or different in length.
topreplaceAllOccurancesW
pattern: PWideChar;
replacement: PWideChar): Integer; stdcall;
The utf-16 version of the replaceAllOccurances method.
topreplaceChar
findCh: Char;
replaceCh: Char) stdcall;
Replaces all occurrences of a specified ANSI character with another.
topreplaceFirst
findStrObj: HCkString;
replaceStrObj: HCkString): wordbool; stdcall;
Replaces the first occurrence of a substring with another. The replacement string is allowed to be empty or different in length.
topreplaceFirstOccurance
findStr: pbyte;
replaceStr: pbyte): wordbool; stdcall;
Replaces the first occurrence of a substring with another. The replacement string is allowed to be empty or different in length. (Chilkat is aware of the misspelling of the word "occurrence", but unfortunately it is too late to change..)
topreplaceFirstOccuranceW
pattern: PWideChar;
replacement: PWideChar): wordbool; stdcall;
The utf-16 version of replaceFirstOccurrance. (Chilkat is aware of the misspelling of the word "occurrence", but unfortunately it is too late to change..)
topsaveToFile
path: pbyte;
charsetEncoding: pbyte): wordbool; stdcall;
Saves the string to a file using the character encoding specified by charsetEncoding. If a file of the same name exists, it is overwritten. For charsets such as "utf-8", "utf-16", or others that have a possible BOM/preamble, the preamble is output by default. To exclude the BOM/preamble, prepend "no-bom-" to the charset name. For example "no-bom-utf-8".
Returns True for success, False for failure.
saveToFileW
path: PWideChar;
charset: PWideChar): wordbool; stdcall;
setStr
s: HCkString) stdcall;
Replaces the contents of the string with another.
topsetString
str: pbyte) stdcall;
Clears the contents of this instance and appends str.
topsetStringAnsi
s: pbyte) stdcall;
Set the CkString object from an ANSI string.
topsetStringU
unicode: PWideChar) stdcall;
Set the CkString object from a Unicode string.
topsetStringUtf8
s: pbyte) stdcall;
Set the string object from a utf-8 string.
topshorten
n: Integer) stdcall;
Discards the last N characters.
topsplit
delimiterChar: Char;
exceptDoubleQuoted: wordbool;
exceptEscaped: wordbool;
keepEmpty: wordbool): HCkStringArray; stdcall;
Splits a string into a collection of strings using a delimiter character. If exceptEscaped is True, then delimiter chars escaped with a backslash are ignored. If exceptDoubleQuoted is True, then delimiter chars inside quotes are ignored. If keepEmpty is False, then empty strings are excluded from being added to the returned CkStringArray object.
Returns nil on failure
topsplit2
delimiterChars: pbyte;
exceptDoubleQuoted: wordbool;
exceptEscaped: wordbool;
keepEmpty: wordbool): HCkStringArray; stdcall;
split2W
splitCharSet: PWideChar;
exceptDoubleQuoted: wordbool;
exceptEscaped: wordbool;
keepEmpty: wordbool): HCkStringArray; stdcall;
splitAtWS
substring
startCharIndex: Integer;
numChars: Integer): HCkString; stdcall;
Returns a substring specified by starting character position and number of characters. (The 1st char is at index 0.)
Returns nil on failure
toptoCRLF
Converts all line endings to CRLF.
toptokenize
Tokenizes a string. The string is split at whitespace characters, and any single punctuation character is returned as a separate token. For example, this string:
CkStringArray *CkString::tokenize(char *punctuation) const
is tokenized to
CkStringArray
*
CkString
:
:
tokenize
(
*
punctuation
)
const
Returns nil on failure
toptokenizeW
toLF
Converts all line endings to bare-LF (Unix/Linux style line endings).
toptoLowerCase
Converts the string to lowercase.
toptoUpperCase
Converts the string to uppercase.
toptrim
Trim SPACE and Tab characters from both ends of the string.
toptrim2
Trim SPACE, Tab, CR, and LF characters from both ends of the string.
toptrimInsideSpaces
Replaces all tabs, CR's, and LF's, with SPACE chars, and removes extra SPACE's so there are no occurrences of more than one SPACE char in a row.
topunobfuscate
Unobfuscates the string.
The Chilkat string obfuscation algorithm works by taking the utf-8 bytes of the string, base64 encoding it, and then scrambling the letters of the base64 encoded string. It is deterministic in that the same string will always obfuscate to the same result. It is not a secure way of encrypting a string. It is only meant to be a simple means of transforming a string into something unintelligible.
topurlDecode
charsetEncoding: pbyte) stdcall;
URL decodes the string and interprets the resulting byte data in the specified charset encoding.
urlDecodeW
charsetEncoding: PWideChar) stdcall;
The utf-16 version of the urlDecode method.
topurlEncode
charsetEncoding: pbyte) stdcall;
URL encodes the string. The string is first converted to the specified charset encoding, and those bytes are URL-encoded. The contents of the string are replaced with the URL-encoded result.
urlEncodeW
charsetEncoding: PWideChar) stdcall;
The utf-16 version of the urlEncode method.
top