{%mainunit foundation.pas} (* NSString.h Copyright (c) 1994-2005, Apple, Inc. All rights reserved. *) {$ifdef HEADER} {$ifndef NSSTRING_PAS_H} {$define NSSTRING_PAS_H} {$include NSObject.inc} {$include NSRange.inc} {.$ifndef !defined(_OBJC_UNICHAR_H_)} {.$endif} const NSMaximumStringLength = (High(cint)-1); {$define _OBJC_UNICHAR_H_} NS_UNICHAR_IS_EIGHT_BIT = 0; {.$ifndef !defined(_OBJC_UNICHAR_H_)} {.$endif} type unichar = Word; //FOUNDATION_EXPORT NSString * const NSParseErrorException; // raised by -propertyList // These options apply to the various search/find and comparison methods (except where // noted). const NSCaseInsensitiveSearch = 1; NSLiteralSearch = 2; NSBackwardsSearch = 4; NSAnchoredSearch = 8; NSNumericSearch = 64; type NSStringEncoding = LongWord; const NSASCIIStringEncoding = 1; NSNEXTSTEPStringEncoding = 2; NSJapaneseEUCStringEncoding = 3; NSUTF8StringEncoding = 4; NSISOLatin1StringEncoding = 5; NSSymbolStringEncoding = 6; NSNonLossyASCIIStringEncoding = 7; NSShiftJISStringEncoding = 8; NSISOLatin2StringEncoding = 9; NSUnicodeStringEncoding = 10; NSWindowsCP1251StringEncoding = 11; NSWindowsCP1252StringEncoding = 12; NSWindowsCP1253StringEncoding = 13; NSWindowsCP1254StringEncoding = 14; NSWindowsCP1250StringEncoding = 15; NSISO2022JPStringEncoding = 21; NSMacOSRomanStringEncoding = 30; NSProprietaryStringEncoding = 65536; //FOUNDATION_EXPORT NSString * const NSCharacterConversionException; //extern void *_NSConstantStringClassReference; {$endif} {$endif} {$ifdef FORWARD} NSString = class; NSMutableString = class; NSSimpleCString = class; NSConstantString = class; {$endif} {$ifdef CLASSES} {$ifndef NSSTRING_PAS_C} {$define NSSTRING_PAS_C} {$include NSObject.inc} {$include NSRange.inc} { NSString } NSString = class(NSObject) public class function getClass: objc.id; override; // NSString primitive (funnel) methods. See below for the other methods. function length: LongWord; function characterAtIndex(__index: LongWord): unichar; procedure getCharacters(_buffer: unichar); procedure getCharacters_range(_buffer: unichar; _aRange: NSRange); function substringFromIndex(_from: LongWord): CFStringRef; function substringToIndex(__to: LongWord): CFStringRef; function substringWithRange(_range: NSRange): CFStringRef; function compare(__string: CFStringRef): NSComparisonResult; function compare_options(__string: CFStringRef; _mask: LongWord): NSComparisonResult; function compare_options_range(__string: CFStringRef; _mask: LongWord; _compareRange: NSRange): NSComparisonResult; function compare_options_range_locale(__string: CFStringRef; _mask: LongWord; _compareRange: NSRange; _dict: CFDictionaryRef): NSComparisonResult; function caseInsensitiveCompare(__string: CFStringRef): NSComparisonResult; function localizedCompare(__string: CFStringRef): NSComparisonResult; function localizedCaseInsensitiveCompare(__string: CFStringRef): NSComparisonResult; function isEqualToString(_aString: CFStringRef): LongBool; function hasPrefix(_aString: CFStringRef): LongBool; function hasSuffix(_aString: CFStringRef): LongBool; // These methods return length==0 if the target string is not found. So, to check for // containment: ([str rangeOfString:@"target"].length > 0). Note that the length of // the range returned by these methods might be different than the length of the target // string, due composed characters and such. function rangeOfString(_aString: CFStringRef): NSRange; function rangeOfString_options(_aString: CFStringRef; _mask: LongWord): NSRange; function rangeOfString_options_range(_aString: CFStringRef; _mask: LongWord; _searchRange: NSRange): NSRange; // These return the range of the first character from the set in the string, not the // range of a sequence of characters. function rangeOfCharacterFromSet(_aSet: CFCharacterSetRef): NSRange; function rangeOfCharacterFromSet_options(_aSet: CFCharacterSetRef; _mask: LongWord): NSRange; function rangeOfCharacterFromSet_options_range(_aSet: CFCharacterSetRef; _mask: LongWord; _searchRange: NSRange): NSRange; function rangeOfComposedCharacterSequenceAtIndex(__index: LongWord): NSRange; function stringByAppendingString(_aString: CFStringRef): CFStringRef; function stringByAppendingFormat(_format: CFStringRef): CFStringRef; function doubleValue: double; function floatValue: Single; function intValue: Integer; function componentsSeparatedByString(_separator: CFStringRef): CFArrayRef; function commonPrefixWithString_options(_aString: CFStringRef; _mask: LongWord): CFStringRef; function uppercaseString: CFStringRef; function lowercaseString: CFStringRef; function capitalizedString: CFStringRef; {.$ifdef MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED} function stringByTrimmingCharactersInSet(__set: CFCharacterSetRef): CFStringRef; function stringByPaddingToLength_withString_startingAtIndex(_newLength: LongWord; _padString: CFStringRef; _padIndex: LongWord): CFStringRef; {.$endif} procedure getLineStart_end_contentsEnd_forRange(_startPtr: PLongWord; _lineEndPtr: PLongWord; _contentsEndPtr: PLongWord; _range: NSRange); function lineRangeForRange(_range: NSRange): NSRange; {.$ifdef MAC_OS_X_VERSION_10_3 <= MAC_OS_X_VERSION_MAX_ALLOWED} procedure getParagraphStart_end_contentsEnd_forRange(_startPtr: PLongWord; _parEndPtr: PLongWord; _contentsEndPtr: PLongWord; _range: NSRange); function paragraphRangeForRange(_range: NSRange): NSRange; {.$endif} function description: CFStringRef; function hash: LongWord; // ** Encoding methods ** function fastestEncoding: NSStringEncoding; // Result in O(1) time; a rough estimate function smallestEncoding: NSStringEncoding; // Result in O(n) time; the encoding in which the string is most compact function dataUsingEncoding_allowLossyConversion(_encoding: NSStringEncoding; _lossy: LongBool): CFDataRef; function dataUsingEncoding(_encoding: NSStringEncoding): CFDataRef; function canBeConvertedToEncoding(_encoding: NSStringEncoding): LongBool; {.$ifdef MAC_OS_X_VERSION_10_4 <= MAC_OS_X_VERSION_MAX_ALLOWED} // Methods to convert NSString to a NULL-terminated cString using the specified encoding. // Note, these are the "new" cString methods, and are not deprecated like the older // cString methods which do not take encoding arguments. function cStringUsingEncoding(_encoding: NSStringEncoding): PChar; // "Autoreleased"; NULL return if encoding conversion not possible; for performance // reasons, lifetime of this should not be considered longer than the lifetime of the // receiving string (if the receiver string is freed, this might go invalid then, before // the end of the autorelease scope) function getCString_maxLength_encoding(_buffer: PChar; _maxBufferCount: LongWord; _encoding: NSStringEncoding): LongBool; // NO return if conversion not possible due to encoding errors or too small of a buffer. // The buffer should include room for maxBufferCount bytes plus the NULL termination // character, which this method adds. (So pass in one less than the size of the buffer.) // These return the maximum and exact number of bytes needed to store the receiver // in the specified encoding in non-external representation. The first one is O(1), // while the second one is O(n). These do not include space for a terminating null. function maximumLengthOfBytesUsingEncoding(_enc: NSStringEncoding): LongWord; // Result in O(1) time; the estimate may be way over what's needed function lengthOfBytesUsingEncoding(_enc: NSStringEncoding): LongWord; {.$endif} {.$ifdef MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED} function decomposedStringWithCanonicalMapping: CFStringRef; function precomposedStringWithCanonicalMapping: CFStringRef; function decomposedStringWithCompatibilityMapping: CFStringRef; function precomposedStringWithCompatibilityMapping: CFStringRef; {.$endif} function UTF8String: PChar; // Convenience to return null-terminated UTF8 representation // User-dependent encoding who value is derived from user's default language and potentially // other factors. The use of this encoding might sometimes be needed when interpreting // user documents with unknown encodings, in the absence of other hints. This encoding // should be used rarely, if at all. Note that some potential values here might result // in unexpected encoding conversions of even fairly straightforward NSString content // --- for instance, punctuation characters with a bidirectional encoding. class function defaultCStringEncoding: NSStringEncoding; // Should be rarely used class function availableStringEncodings: NSStringEncoding; constructor localizedNameOfStringEncoding(_encoding: NSStringEncoding); // ** Creation methods ** // In general creation methods in NSString do not apply to subclassers, as subclassers // are assumed to provide their own init methods which create the string in the way // the subclass wishes. Designated initializers of NSString are thus init and initWithCoder:. constructor init; constructor initWithCharactersNoCopy_length_freeWhenDone(_characters: unichar; _length: LongWord; _freeBuffer: LongBool); // "NoCopy" is a hint constructor initWithCharacters_length(_characters: unichar; _length: LongWord); constructor initWithUTF8String(_nullTerminatedCString: PChar); constructor initWithString(_aString: CFStringRef); constructor initWithFormat(_format: CFStringRef); // constructor initWithFormat_arguments(_format: CFStringRef; const _argList: array of const); constructor initWithFormat_locale(_format: CFStringRef; _dict: CFDictionaryRef); // constructor initWithFormat_locale_arguments(_format: CFStringRef; _dict: CFDictionaryRef; const _argList: array of const); constructor initWithData_encoding(_data: CFDataRef; _encoding: NSStringEncoding); constructor initWithBytes_length_encoding(_bytes: Pointer; _len: LongWord; _encoding: NSStringEncoding); {.$ifdef MAC_OS_X_VERSION_10_3 <= MAC_OS_X_VERSION_MAX_ALLOWED} constructor initWithBytesNoCopy_length_encoding_freeWhenDone(_bytes: Pointer; _len: LongWord; _encoding: NSStringEncoding; _freeBuffer: LongBool); {.$endif} constructor string_; constructor stringWithString(__string: CFStringRef); constructor stringWithCharacters_length(_characters: unichar; _length: LongWord); constructor stringWithUTF8String(_nullTerminatedCString: PChar); constructor stringWithFormat(_format: CFStringRef); constructor localizedStringWithFormat(_format: CFStringRef); {.$ifdef MAC_OS_X_VERSION_10_4 <= MAC_OS_X_VERSION_MAX_ALLOWED} constructor initWithCString_encoding(_nullTerminatedCString: PChar; _encoding: NSStringEncoding); constructor stringWithCString_encoding(_cString: PChar; _enc: NSStringEncoding); // These use the specified encoding. If nil is returned, the optional error return // indicates problem that was encountered (for instance, file system or encoding errors). constructor initWithContentsOfURL_encoding_error(_url: CFURLRef; _enc: NSStringEncoding; _error: objc.id {NSError}); constructor initWithContentsOfFile_encoding_error(_path: CFStringRef; _enc: NSStringEncoding; _error: objc.id {NSError}); constructor stringWithContentsOfURL_encoding_error(_url: CFURLRef; _enc: NSStringEncoding; _error: objc.id {NSError}); constructor stringWithContentsOfFile_encoding_error(_path: CFStringRef; _enc: NSStringEncoding; _error: objc.id {NSError}); // These try to determine the encoding, and return the encoding which was used. Note // that these methods might get "smarter" in subsequent releases of the system, and // use additional techniques for recognizing encodings. If nil is returned, the optional // error return indicates problem that was encountered (for instance, file system or // encoding errors). constructor initWithContentsOfURL_usedEncoding_error(_url: CFURLRef; _enc: NSStringEncoding; _error: objc.id {NSError}); constructor initWithContentsOfFile_usedEncoding_error(_path: CFStringRef; _enc: NSStringEncoding; _error: objc.id {NSError}); constructor stringWithContentsOfURL_usedEncoding_error(_url: CFURLRef; _enc: NSStringEncoding; _error: objc.id {NSError}); constructor stringWithContentsOfFile_usedEncoding_error(_path: CFStringRef; _enc: NSStringEncoding; _error: objc.id {NSError}); // Write to specified url or path using the specified encoding. The optional error // return is to indicate file system or encoding errors. function writeToURL_atomically_encoding_error(_url: CFURLRef; _useAuxiliaryFile: LongBool; _enc: NSStringEncoding; _error: objc.id {NSError}): LongBool; function writeToFile_atomically_encoding_error(_path: CFStringRef; _useAuxiliaryFile: LongBool; _enc: NSStringEncoding; _error: objc.id {NSError}): LongBool; {.$endif} function propertyList: objc.id; function propertyListFromStringsFileFormat: CFDictionaryRef; // The methods in this category are deprecated and will be removed from this header // file in the near future. These methods use [NSString defaultCStringEncoding] as the // encoding to convert to, which means the results depend on the user's language and // potentially other settings. This might be appropriate in some cases, but often these // methods are misused, resulting in issues when running in languages other then English. // UTF8String in general is a much better choice when converting arbitrary NSStrings // into 8-bit representations. Additional potential replacement methods are being introduced // in NSString as appropriate. function cString: PChar; function lossyCString: PChar; function cStringLength: LongWord; procedure getCString(_bytes: PChar); procedure getCString_maxLength(_bytes: PChar; _maxLength: LongWord); procedure getCString_maxLength_range_remainingRange(_bytes: PChar; _maxLength: LongWord; _aRange: NSRange; _leftoverRange: NSRangePointer); function writeToFile_atomically(_path: CFStringRef; _useAuxiliaryFile: LongBool): LongBool; function writeToURL_atomically(_url: CFURLRef; _atomically: LongBool): LongBool; constructor initWithContentsOfFile(_path: CFStringRef); constructor initWithContentsOfURL(_url: CFURLRef); constructor stringWithContentsOfFile(_path: CFStringRef); constructor stringWithContentsOfURL(_url: CFURLRef); constructor initWithCStringNoCopy_length_freeWhenDone(_bytes: PChar; _length: LongWord; _freeBuffer: LongBool); constructor initWithCString_length(_bytes: PChar; _length: LongWord); constructor initWithCString(_bytes: PChar); constructor stringWithCString_length(_bytes: PChar; _length: LongWord); constructor stringWithCString(_bytes: PChar); end; { NSMutableString } NSMutableString = class(NSString) public class function getClass: objc.id; override; // NSMutableString primitive (funnel) method. See below for the other mutation methods. procedure replaceCharactersInRange_withString(_range: NSRange; _aString: CFStringRef); procedure insertString_atIndex(_aString: CFStringRef; _loc: LongWord); procedure deleteCharactersInRange(_range: NSRange); procedure appendString(_aString: CFStringRef); procedure appendFormat(_format: CFStringRef); procedure setString(_aString: CFStringRef); // In addition to these two, NSMutableString responds properly to all NSString creation // methods. constructor initWithCapacity(_capacity: LongWord); constructor stringWithCapacity(_capacity: LongWord); {.$ifdef MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED} // This method replaces all occurrences of the target string with the replacement string, // in the specified range of the receiver string, and returns the number of replacements. // NSBackwardsSearch means the search is done from the end of the range (the results // could be different); NSAnchoredSearch means only anchored (but potentially multiple) // instances will be replaced. NSLiteralSearch and NSCaseInsensitiveSearch also apply. // NSNumericSearch is ignored. Use NSMakeRange(0, [receiver length]) to process whole // string. function replaceOccurrencesOfString_withString_options_range(_target: CFStringRef; _replacement: CFStringRef; _opts: LongWord; _searchRange: NSRange): LongWord; {.$endif} end; {.$ifndef !defined(_OBJC_UNICHAR_H_)} {.$endif} { NSSimpleCString } NSSimpleCString = class(NSString) public class function getClass: objc.id; override; end; { NSConstantString } NSConstantString = class(NSSimpleCString) public class function getClass: objc.id; override; end; {$endif} {$endif} {$ifdef IMPLEMENTATION} const StrNSString_NSString = 'NSString'; StrNSString_length = 'length'; StrNSString_characterAtIndex = 'characterAtIndex:'; StrNSString_getCharacters = 'getCharacters:'; StrNSString_getCharacters_range = 'getCharacters:range:'; StrNSString_substringFromIndex = 'substringFromIndex:'; StrNSString_substringToIndex = 'substringToIndex:'; StrNSString_substringWithRange = 'substringWithRange:'; StrNSString_compare = 'compare:'; StrNSString_compare_options = 'compare:options:'; StrNSString_compare_options_range = 'compare:options:range:'; StrNSString_compare_options_range_locale = 'compare:options:range:locale:'; StrNSString_caseInsensitiveCompare = 'caseInsensitiveCompare:'; StrNSString_localizedCompare = 'localizedCompare:'; StrNSString_localizedCaseInsensitiveCompare = 'localizedCaseInsensitiveCompare:'; StrNSString_isEqualToString = 'isEqualToString:'; StrNSString_hasPrefix = 'hasPrefix:'; StrNSString_hasSuffix = 'hasSuffix:'; StrNSString_rangeOfString = 'rangeOfString:'; StrNSString_rangeOfString_options = 'rangeOfString:options:'; StrNSString_rangeOfString_options_range = 'rangeOfString:options:range:'; StrNSString_rangeOfCharacterFromSet = 'rangeOfCharacterFromSet:'; StrNSString_rangeOfCharacterFromSet_options = 'rangeOfCharacterFromSet:options:'; StrNSString_rangeOfCharacterFromSet_options_range = 'rangeOfCharacterFromSet:options:range:'; StrNSString_rangeOfComposedCharacterSequenceAtIndex = 'rangeOfComposedCharacterSequenceAtIndex:'; StrNSString_stringByAppendingString = 'stringByAppendingString:'; StrNSString_stringByAppendingFormat = 'stringByAppendingFormat:'; StrNSString_doubleValue = 'doubleValue'; StrNSString_floatValue = 'floatValue'; StrNSString_intValue = 'intValue'; StrNSString_componentsSeparatedByString = 'componentsSeparatedByString:'; StrNSString_commonPrefixWithString_options = 'commonPrefixWithString:options:'; StrNSString_uppercaseString = 'uppercaseString'; StrNSString_lowercaseString = 'lowercaseString'; StrNSString_capitalizedString = 'capitalizedString'; StrNSString_stringByTrimmingCharactersInSet = 'stringByTrimmingCharactersInSet:'; StrNSString_stringByPaddingToLength_withString_startingAtIndex = 'stringByPaddingToLength:withString:startingAtIndex:'; StrNSString_getLineStart_end_contentsEnd_forRange = 'getLineStart:end:contentsEnd:forRange:'; StrNSString_lineRangeForRange = 'lineRangeForRange:'; StrNSString_getParagraphStart_end_contentsEnd_forRange = 'getParagraphStart:end:contentsEnd:forRange:'; StrNSString_paragraphRangeForRange = 'paragraphRangeForRange:'; StrNSString_description = 'description'; StrNSString_hash = 'hash'; StrNSString_fastestEncoding = 'fastestEncoding'; StrNSString_smallestEncoding = 'smallestEncoding'; StrNSString_dataUsingEncoding_allowLossyConversion = 'dataUsingEncoding:allowLossyConversion:'; StrNSString_dataUsingEncoding = 'dataUsingEncoding:'; StrNSString_canBeConvertedToEncoding = 'canBeConvertedToEncoding:'; StrNSString_cStringUsingEncoding = 'cStringUsingEncoding:'; StrNSString_getCString_maxLength_encoding = 'getCString:maxLength:encoding:'; StrNSString_maximumLengthOfBytesUsingEncoding = 'maximumLengthOfBytesUsingEncoding:'; StrNSString_lengthOfBytesUsingEncoding = 'lengthOfBytesUsingEncoding:'; StrNSString_decomposedStringWithCanonicalMapping = 'decomposedStringWithCanonicalMapping'; StrNSString_precomposedStringWithCanonicalMapping = 'precomposedStringWithCanonicalMapping'; StrNSString_decomposedStringWithCompatibilityMapping = 'decomposedStringWithCompatibilityMapping'; StrNSString_precomposedStringWithCompatibilityMapping = 'precomposedStringWithCompatibilityMapping'; StrNSString_UTF8String = 'UTF8String'; StrNSString_defaultCStringEncoding = 'defaultCStringEncoding'; StrNSString_availableStringEncodings = 'availableStringEncodings'; StrNSString_localizedNameOfStringEncoding = 'localizedNameOfStringEncoding:'; StrNSString_init = 'init'; StrNSString_initWithCharactersNoCopy_length_freeWhenDone = 'initWithCharactersNoCopy:length:freeWhenDone:'; StrNSString_initWithCharacters_length = 'initWithCharacters:length:'; StrNSString_initWithUTF8String = 'initWithUTF8String:'; StrNSString_initWithString = 'initWithString:'; StrNSString_initWithFormat = 'initWithFormat:'; StrNSString_initWithFormat_arguments = 'initWithFormat:arguments:'; StrNSString_initWithFormat_locale = 'initWithFormat:locale:'; StrNSString_initWithFormat_locale_arguments = 'initWithFormat:locale:arguments:'; StrNSString_initWithData_encoding = 'initWithData:encoding:'; StrNSString_initWithBytes_length_encoding = 'initWithBytes:length:encoding:'; StrNSString_initWithBytesNoCopy_length_encoding_freeWhenDone = 'initWithBytesNoCopy:length:encoding:freeWhenDone:'; StrNSString_string = 'string'; StrNSString_stringWithString = 'stringWithString:'; StrNSString_stringWithCharacters_length = 'stringWithCharacters:length:'; StrNSString_stringWithUTF8String = 'stringWithUTF8String:'; StrNSString_stringWithFormat = 'stringWithFormat:'; StrNSString_localizedStringWithFormat = 'localizedStringWithFormat:'; StrNSString_initWithCString_encoding = 'initWithCString:encoding:'; StrNSString_stringWithCString_encoding = 'stringWithCString:encoding:'; StrNSString_initWithContentsOfURL_encoding_error = 'initWithContentsOfURL:encoding:error:'; StrNSString_initWithContentsOfFile_encoding_error = 'initWithContentsOfFile:encoding:error:'; StrNSString_stringWithContentsOfURL_encoding_error = 'stringWithContentsOfURL:encoding:error:'; StrNSString_stringWithContentsOfFile_encoding_error = 'stringWithContentsOfFile:encoding:error:'; StrNSString_initWithContentsOfURL_usedEncoding_error = 'initWithContentsOfURL:usedEncoding:error:'; StrNSString_initWithContentsOfFile_usedEncoding_error = 'initWithContentsOfFile:usedEncoding:error:'; StrNSString_stringWithContentsOfURL_usedEncoding_error = 'stringWithContentsOfURL:usedEncoding:error:'; StrNSString_stringWithContentsOfFile_usedEncoding_error = 'stringWithContentsOfFile:usedEncoding:error:'; StrNSString_writeToURL_atomically_encoding_error = 'writeToURL:atomically:encoding:error:'; StrNSString_writeToFile_atomically_encoding_error = 'writeToFile:atomically:encoding:error:'; StrNSMutableString_NSMutableString = 'NSMutableString'; StrNSMutableString_replaceCharactersInRange_withString = 'replaceCharactersInRange:withString:'; StrNSMutableString_insertString_atIndex = 'insertString:atIndex:'; StrNSMutableString_deleteCharactersInRange = 'deleteCharactersInRange:'; StrNSMutableString_appendString = 'appendString:'; StrNSMutableString_appendFormat = 'appendFormat:'; StrNSMutableString_setString = 'setString:'; StrNSMutableString_initWithCapacity = 'initWithCapacity:'; StrNSMutableString_stringWithCapacity = 'stringWithCapacity:'; StrNSMutableString_replaceOccurrencesOfString_withString_options_range = 'replaceOccurrencesOfString:withString:options:range:'; StrNSString_propertyList = 'propertyList'; StrNSString_propertyListFromStringsFileFormat = 'propertyListFromStringsFileFormat'; StrNSString_cString = 'cString'; StrNSString_lossyCString = 'lossyCString'; StrNSString_cStringLength = 'cStringLength'; StrNSString_getCString = 'getCString:'; StrNSString_getCString_maxLength = 'getCString:maxLength:'; StrNSString_getCString_maxLength_range_remainingRange = 'getCString:maxLength:range:remainingRange:'; StrNSString_writeToFile_atomically = 'writeToFile:atomically:'; StrNSString_writeToURL_atomically = 'writeToURL:atomically:'; StrNSString_initWithContentsOfFile = 'initWithContentsOfFile:'; StrNSString_initWithContentsOfURL = 'initWithContentsOfURL:'; StrNSString_stringWithContentsOfFile = 'stringWithContentsOfFile:'; StrNSString_stringWithContentsOfURL = 'stringWithContentsOfURL:'; StrNSString_initWithCStringNoCopy_length_freeWhenDone = 'initWithCStringNoCopy:length:freeWhenDone:'; StrNSString_initWithCString_length = 'initWithCString:length:'; StrNSString_initWithCString = 'initWithCString:'; StrNSString_stringWithCString_length = 'stringWithCString:length:'; StrNSString_stringWithCString = 'stringWithCString:'; StrNSSimpleCString_NSSimpleCString = 'NSSimpleCString'; StrNSConstantString_NSConstantString = 'NSConstantString'; { NSString } class function NSString.getClass: objc.id; begin Result := objc_getClass(StrNSString_NSString); end; function NSString.length: LongWord; begin Result := LongWord(objc_msgSend(Handle, sel_registerName(PChar(StrNSString_length)), [])); end; function NSString.characterAtIndex(__index: LongWord): unichar; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;__index: LongWord): unichar; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := unichar(vmethod(Handle, sel_registerName(PChar(StrNSString_characterAtIndex)), __index)); end; procedure NSString.getCharacters(_buffer: unichar); type TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_buffer: unichar); cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); vmethod(Handle, sel_registerName(PChar(StrNSString_getCharacters)), _buffer); end; procedure NSString.getCharacters_range(_buffer: unichar; _aRange: NSRange); type TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_buffer: unichar; _aRange: NSRange); cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); vmethod(Handle, sel_registerName(PChar(StrNSString_getCharacters_range)), _buffer, _aRange); end; function NSString.substringFromIndex(_from: LongWord): CFStringRef; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_from: LongWord): CFStringRef; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := CFStringRef(vmethod(Handle, sel_registerName(PChar(StrNSString_substringFromIndex)), _from)); end; function NSString.substringToIndex(__to: LongWord): CFStringRef; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;__to: LongWord): CFStringRef; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := CFStringRef(vmethod(Handle, sel_registerName(PChar(StrNSString_substringToIndex)), __to)); end; function NSString.substringWithRange(_range: NSRange): CFStringRef; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_range: NSRange): CFStringRef; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := CFStringRef(vmethod(Handle, sel_registerName(PChar(StrNSString_substringWithRange)), _range)); end; function NSString.compare(__string: CFStringRef): NSComparisonResult; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;__string: CFStringRef): NSComparisonResult; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := NSComparisonResult(vmethod(Handle, sel_registerName(PChar(StrNSString_compare)), __string)); end; function NSString.compare_options(__string: CFStringRef; _mask: LongWord): NSComparisonResult; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;__string: CFStringRef; _mask: LongWord): NSComparisonResult; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := NSComparisonResult(vmethod(Handle, sel_registerName(PChar(StrNSString_compare_options)), __string, _mask)); end; function NSString.compare_options_range(__string: CFStringRef; _mask: LongWord; _compareRange: NSRange): NSComparisonResult; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;__string: CFStringRef; _mask: LongWord; _compareRange: NSRange): NSComparisonResult; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := NSComparisonResult(vmethod(Handle, sel_registerName(PChar(StrNSString_compare_options_range)), __string, _mask, _compareRange)); end; function NSString.compare_options_range_locale(__string: CFStringRef; _mask: LongWord; _compareRange: NSRange; _dict: CFDictionaryRef): NSComparisonResult; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;__string: CFStringRef; _mask: LongWord; _compareRange: NSRange; _dict: CFDictionaryRef): NSComparisonResult; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := NSComparisonResult(vmethod(Handle, sel_registerName(PChar(StrNSString_compare_options_range_locale)), __string, _mask, _compareRange, _dict)); end; function NSString.caseInsensitiveCompare(__string: CFStringRef): NSComparisonResult; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;__string: CFStringRef): NSComparisonResult; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := NSComparisonResult(vmethod(Handle, sel_registerName(PChar(StrNSString_caseInsensitiveCompare)), __string)); end; function NSString.localizedCompare(__string: CFStringRef): NSComparisonResult; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;__string: CFStringRef): NSComparisonResult; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := NSComparisonResult(vmethod(Handle, sel_registerName(PChar(StrNSString_localizedCompare)), __string)); end; function NSString.localizedCaseInsensitiveCompare(__string: CFStringRef): NSComparisonResult; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;__string: CFStringRef): NSComparisonResult; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := NSComparisonResult(vmethod(Handle, sel_registerName(PChar(StrNSString_localizedCaseInsensitiveCompare)), __string)); end; function NSString.isEqualToString(_aString: CFStringRef): LongBool; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_aString: CFStringRef): LongBool; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := LongBool(vmethod(Handle, sel_registerName(PChar(StrNSString_isEqualToString)), _aString)); end; function NSString.hasPrefix(_aString: CFStringRef): LongBool; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_aString: CFStringRef): LongBool; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := LongBool(vmethod(Handle, sel_registerName(PChar(StrNSString_hasPrefix)), _aString)); end; function NSString.hasSuffix(_aString: CFStringRef): LongBool; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_aString: CFStringRef): LongBool; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := LongBool(vmethod(Handle, sel_registerName(PChar(StrNSString_hasSuffix)), _aString)); end; function NSString.rangeOfString(_aString: CFStringRef): NSRange; type TmsgSendWrapper = procedure (result_param: Pointer; param1: objc.id; param2: SEL;_aString: CFStringRef); cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend_fpret); vmethod(@Result, Handle, sel_registerName(PChar(StrNSString_rangeOfString)), _aString); end; function NSString.rangeOfString_options(_aString: CFStringRef; _mask: LongWord): NSRange; type TmsgSendWrapper = procedure (result_param: Pointer; param1: objc.id; param2: SEL;_aString: CFStringRef; _mask: LongWord); cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend_fpret); vmethod(@Result, Handle, sel_registerName(PChar(StrNSString_rangeOfString_options)), _aString, _mask); end; function NSString.rangeOfString_options_range(_aString: CFStringRef; _mask: LongWord; _searchRange: NSRange): NSRange; type TmsgSendWrapper = procedure (result_param: Pointer; param1: objc.id; param2: SEL;_aString: CFStringRef; _mask: LongWord; _searchRange: NSRange); cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend_fpret); vmethod(@Result, Handle, sel_registerName(PChar(StrNSString_rangeOfString_options_range)), _aString, _mask, _searchRange); end; function NSString.rangeOfCharacterFromSet(_aSet: CFCharacterSetRef): NSRange; type TmsgSendWrapper = procedure (result_param: Pointer; param1: objc.id; param2: SEL;_aSet: CFCharacterSetRef); cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend_fpret); vmethod(@Result, Handle, sel_registerName(PChar(StrNSString_rangeOfCharacterFromSet)), _aSet); end; function NSString.rangeOfCharacterFromSet_options(_aSet: CFCharacterSetRef; _mask: LongWord): NSRange; type TmsgSendWrapper = procedure (result_param: Pointer; param1: objc.id; param2: SEL;_aSet: CFCharacterSetRef; _mask: LongWord); cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend_fpret); vmethod(@Result, Handle, sel_registerName(PChar(StrNSString_rangeOfCharacterFromSet_options)), _aSet, _mask); end; function NSString.rangeOfCharacterFromSet_options_range(_aSet: CFCharacterSetRef; _mask: LongWord; _searchRange: NSRange): NSRange; type TmsgSendWrapper = procedure (result_param: Pointer; param1: objc.id; param2: SEL;_aSet: CFCharacterSetRef; _mask: LongWord; _searchRange: NSRange); cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend_fpret); vmethod(@Result, Handle, sel_registerName(PChar(StrNSString_rangeOfCharacterFromSet_options_range)), _aSet, _mask, _searchRange); end; function NSString.rangeOfComposedCharacterSequenceAtIndex(__index: LongWord): NSRange; type TmsgSendWrapper = procedure (result_param: Pointer; param1: objc.id; param2: SEL;__index: LongWord); cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend_fpret); vmethod(@Result, Handle, sel_registerName(PChar(StrNSString_rangeOfComposedCharacterSequenceAtIndex)), __index); end; function NSString.stringByAppendingString(_aString: CFStringRef): CFStringRef; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_aString: CFStringRef): CFStringRef; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := CFStringRef(vmethod(Handle, sel_registerName(PChar(StrNSString_stringByAppendingString)), _aString)); end; function NSString.stringByAppendingFormat(_format: CFStringRef): CFStringRef; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_format: CFStringRef): CFStringRef; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := CFStringRef(vmethod(Handle, sel_registerName(PChar(StrNSString_stringByAppendingFormat)), _format)); end; function NSString.doubleValue: double; begin Result := objc_msgSend_fpret(Handle, sel_registerName(PChar(StrNSString_doubleValue)), []); end; function NSString.floatValue: Single; begin Result := Single(objc_msgSend(Handle, sel_registerName(PChar(StrNSString_floatValue)), [])); end; function NSString.intValue: Integer; begin Result := Integer(objc_msgSend(Handle, sel_registerName(PChar(StrNSString_intValue)), [])); end; function NSString.componentsSeparatedByString(_separator: CFStringRef): CFArrayRef; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_separator: CFStringRef): CFArrayRef; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := CFArrayRef(vmethod(Handle, sel_registerName(PChar(StrNSString_componentsSeparatedByString)), _separator)); end; function NSString.commonPrefixWithString_options(_aString: CFStringRef; _mask: LongWord): CFStringRef; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_aString: CFStringRef; _mask: LongWord): CFStringRef; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := CFStringRef(vmethod(Handle, sel_registerName(PChar(StrNSString_commonPrefixWithString_options)), _aString, _mask)); end; function NSString.uppercaseString: CFStringRef; begin Result := CFStringRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSString_uppercaseString)), [])); end; function NSString.lowercaseString: CFStringRef; begin Result := CFStringRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSString_lowercaseString)), [])); end; function NSString.capitalizedString: CFStringRef; begin Result := CFStringRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSString_capitalizedString)), [])); end; {.$ifdef MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED} function NSString.stringByTrimmingCharactersInSet(__set: CFCharacterSetRef): CFStringRef; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;__set: CFCharacterSetRef): CFStringRef; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := CFStringRef(vmethod(Handle, sel_registerName(PChar(StrNSString_stringByTrimmingCharactersInSet)), __set)); end; function NSString.stringByPaddingToLength_withString_startingAtIndex(_newLength: LongWord; _padString: CFStringRef; _padIndex: LongWord): CFStringRef; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_newLength: LongWord; _padString: CFStringRef; _padIndex: LongWord): CFStringRef; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := CFStringRef(vmethod(Handle, sel_registerName(PChar(StrNSString_stringByPaddingToLength_withString_startingAtIndex)), _newLength, _padString, _padIndex)); end; {.$endif} procedure NSString.getLineStart_end_contentsEnd_forRange(_startPtr: PLongWord; _lineEndPtr: PLongWord; _contentsEndPtr: PLongWord; _range: NSRange); type TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_startPtr: PLongWord; _lineEndPtr: PLongWord; _contentsEndPtr: PLongWord; _range: NSRange); cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); vmethod(Handle, sel_registerName(PChar(StrNSString_getLineStart_end_contentsEnd_forRange)), _startPtr, _lineEndPtr, _contentsEndPtr, _range); end; function NSString.lineRangeForRange(_range: NSRange): NSRange; type TmsgSendWrapper = procedure (result_param: Pointer; param1: objc.id; param2: SEL;_range: NSRange); cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend_fpret); vmethod(@Result, Handle, sel_registerName(PChar(StrNSString_lineRangeForRange)), _range); end; {.$ifdef MAC_OS_X_VERSION_10_3 <= MAC_OS_X_VERSION_MAX_ALLOWED} procedure NSString.getParagraphStart_end_contentsEnd_forRange(_startPtr: PLongWord; _parEndPtr: PLongWord; _contentsEndPtr: PLongWord; _range: NSRange); type TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_startPtr: PLongWord; _parEndPtr: PLongWord; _contentsEndPtr: PLongWord; _range: NSRange); cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); vmethod(Handle, sel_registerName(PChar(StrNSString_getParagraphStart_end_contentsEnd_forRange)), _startPtr, _parEndPtr, _contentsEndPtr, _range); end; function NSString.paragraphRangeForRange(_range: NSRange): NSRange; type TmsgSendWrapper = procedure (result_param: Pointer; param1: objc.id; param2: SEL;_range: NSRange); cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend_fpret); vmethod(@Result, Handle, sel_registerName(PChar(StrNSString_paragraphRangeForRange)), _range); end; {.$endif} function NSString.description: CFStringRef; begin Result := CFStringRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSString_description)), [])); end; function NSString.hash: LongWord; begin Result := LongWord(objc_msgSend(Handle, sel_registerName(PChar(StrNSString_hash)), [])); end; function NSString.fastestEncoding: NSStringEncoding; begin Result := NSStringEncoding(objc_msgSend(Handle, sel_registerName(PChar(StrNSString_fastestEncoding)), [])); end; function NSString.smallestEncoding: NSStringEncoding; begin Result := NSStringEncoding(objc_msgSend(Handle, sel_registerName(PChar(StrNSString_smallestEncoding)), [])); end; function NSString.dataUsingEncoding_allowLossyConversion(_encoding: NSStringEncoding; _lossy: LongBool): CFDataRef; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_encoding: NSStringEncoding; _lossy: LongBool): CFDataRef; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := CFDataRef(vmethod(Handle, sel_registerName(PChar(StrNSString_dataUsingEncoding_allowLossyConversion)), _encoding, _lossy)); end; function NSString.dataUsingEncoding(_encoding: NSStringEncoding): CFDataRef; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_encoding: NSStringEncoding): CFDataRef; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := CFDataRef(vmethod(Handle, sel_registerName(PChar(StrNSString_dataUsingEncoding)), _encoding)); end; function NSString.canBeConvertedToEncoding(_encoding: NSStringEncoding): LongBool; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_encoding: NSStringEncoding): LongBool; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := LongBool(vmethod(Handle, sel_registerName(PChar(StrNSString_canBeConvertedToEncoding)), _encoding)); end; {.$ifdef MAC_OS_X_VERSION_10_4 <= MAC_OS_X_VERSION_MAX_ALLOWED} function NSString.cStringUsingEncoding(_encoding: NSStringEncoding): PChar; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_encoding: NSStringEncoding): PChar; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := PChar(vmethod(Handle, sel_registerName(PChar(StrNSString_cStringUsingEncoding)), _encoding)); end; function NSString.getCString_maxLength_encoding(_buffer: PChar; _maxBufferCount: LongWord; _encoding: NSStringEncoding): LongBool; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_buffer: PChar; _maxBufferCount: LongWord; _encoding: NSStringEncoding): LongBool; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := LongBool(vmethod(Handle, sel_registerName(PChar(StrNSString_getCString_maxLength_encoding)), _buffer, _maxBufferCount, _encoding)); end; function NSString.maximumLengthOfBytesUsingEncoding(_enc: NSStringEncoding): LongWord; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_enc: NSStringEncoding): LongWord; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := LongWord(vmethod(Handle, sel_registerName(PChar(StrNSString_maximumLengthOfBytesUsingEncoding)), _enc)); end; function NSString.lengthOfBytesUsingEncoding(_enc: NSStringEncoding): LongWord; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_enc: NSStringEncoding): LongWord; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := LongWord(vmethod(Handle, sel_registerName(PChar(StrNSString_lengthOfBytesUsingEncoding)), _enc)); end; {.$endif} {.$ifdef MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED} function NSString.decomposedStringWithCanonicalMapping: CFStringRef; begin Result := CFStringRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSString_decomposedStringWithCanonicalMapping)), [])); end; function NSString.precomposedStringWithCanonicalMapping: CFStringRef; begin Result := CFStringRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSString_precomposedStringWithCanonicalMapping)), [])); end; function NSString.decomposedStringWithCompatibilityMapping: CFStringRef; begin Result := CFStringRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSString_decomposedStringWithCompatibilityMapping)), [])); end; function NSString.precomposedStringWithCompatibilityMapping: CFStringRef; begin Result := CFStringRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSString_precomposedStringWithCompatibilityMapping)), [])); end; {.$endif} function NSString.UTF8String: PChar; begin Result := PChar(objc_msgSend(Handle, sel_registerName(PChar(StrNSString_UTF8String)), [])); end; class function NSString.defaultCStringEncoding: NSStringEncoding; begin Result := NSStringEncoding(objc_msgSend(getClass, sel_registerName(PChar(StrNSString_defaultCStringEncoding)), [])); end; class function NSString.availableStringEncodings: NSStringEncoding; begin Result := NSStringEncoding(objc_msgSend(getClass, sel_registerName(PChar(StrNSString_availableStringEncodings)), [])); end; constructor NSString.localizedNameOfStringEncoding(_encoding: NSStringEncoding); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_encoding: NSStringEncoding): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(ClassID, sel_registerName(PChar(StrNSString_localizedNameOfStringEncoding)), _encoding); end; constructor NSString.init; type TmsgSendWrapper = function (param1: objc.id; param2: SEL): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSString_init))); end; constructor NSString.initWithCharactersNoCopy_length_freeWhenDone(_characters: unichar; _length: LongWord; _freeBuffer: LongBool); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_characters: unichar; _length: LongWord; _freeBuffer: LongBool): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSString_initWithCharactersNoCopy_length_freeWhenDone)), _characters, _length, _freeBuffer); end; constructor NSString.initWithCharacters_length(_characters: unichar; _length: LongWord); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_characters: unichar; _length: LongWord): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSString_initWithCharacters_length)), _characters, _length); end; constructor NSString.initWithUTF8String(_nullTerminatedCString: PChar); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_nullTerminatedCString: PChar): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSString_initWithUTF8String)), _nullTerminatedCString); end; constructor NSString.initWithString(_aString: CFStringRef); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_aString: CFStringRef): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSString_initWithString)), _aString); end; constructor NSString.initWithFormat(_format: CFStringRef); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_format: CFStringRef): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSString_initWithFormat)), _format); end; {constructor NSString.initWithFormat_arguments(_format: CFStringRef; const _argList: array of const); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_format: CFStringRef; const _argList: array of const): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSString_initWithFormat_arguments)), _format, _argList); end;} constructor NSString.initWithFormat_locale(_format: CFStringRef; _dict: CFDictionaryRef); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_format: CFStringRef; _dict: CFDictionaryRef): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSString_initWithFormat_locale)), _format, _dict); end; {constructor NSString.initWithFormat_locale_arguments(_format: CFStringRef; _dict: CFDictionaryRef; const _argList: array of const); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_format: CFStringRef; _dict: CFDictionaryRef; const _argList: array of const): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSString_initWithFormat_locale_arguments)), _format, _dict, _argList); end;} constructor NSString.initWithData_encoding(_data: CFDataRef; _encoding: NSStringEncoding); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_data: CFDataRef; _encoding: NSStringEncoding): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSString_initWithData_encoding)), _data, _encoding); end; constructor NSString.initWithBytes_length_encoding(_bytes: Pointer; _len: LongWord; _encoding: NSStringEncoding); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_bytes: Pointer; _len: LongWord; _encoding: NSStringEncoding): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSString_initWithBytes_length_encoding)), _bytes, _len, _encoding); end; {.$ifdef MAC_OS_X_VERSION_10_3 <= MAC_OS_X_VERSION_MAX_ALLOWED} constructor NSString.initWithBytesNoCopy_length_encoding_freeWhenDone(_bytes: Pointer; _len: LongWord; _encoding: NSStringEncoding; _freeBuffer: LongBool); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_bytes: Pointer; _len: LongWord; _encoding: NSStringEncoding; _freeBuffer: LongBool): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSString_initWithBytesNoCopy_length_encoding_freeWhenDone)), _bytes, _len, _encoding, _freeBuffer); end; {.$endif} constructor NSString.string_; type TmsgSendWrapper = function (param1: objc.id; param2: SEL): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(ClassID, sel_registerName(PChar(StrNSString_string))); end; constructor NSString.stringWithString(__string: CFStringRef); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;__string: CFStringRef): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(ClassID, sel_registerName(PChar(StrNSString_stringWithString)), __string); end; constructor NSString.stringWithCharacters_length(_characters: unichar; _length: LongWord); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_characters: unichar; _length: LongWord): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(ClassID, sel_registerName(PChar(StrNSString_stringWithCharacters_length)), _characters, _length); end; constructor NSString.stringWithUTF8String(_nullTerminatedCString: PChar); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_nullTerminatedCString: PChar): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(ClassID, sel_registerName(PChar(StrNSString_stringWithUTF8String)), _nullTerminatedCString); end; constructor NSString.stringWithFormat(_format: CFStringRef); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_format: CFStringRef): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(ClassID, sel_registerName(PChar(StrNSString_stringWithFormat)), _format); end; constructor NSString.localizedStringWithFormat(_format: CFStringRef); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_format: CFStringRef): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(ClassID, sel_registerName(PChar(StrNSString_localizedStringWithFormat)), _format); end; {.$ifdef MAC_OS_X_VERSION_10_4 <= MAC_OS_X_VERSION_MAX_ALLOWED} constructor NSString.initWithCString_encoding(_nullTerminatedCString: PChar; _encoding: NSStringEncoding); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_nullTerminatedCString: PChar; _encoding: NSStringEncoding): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSString_initWithCString_encoding)), _nullTerminatedCString, _encoding); end; constructor NSString.stringWithCString_encoding(_cString: PChar; _enc: NSStringEncoding); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_cString: PChar; _enc: NSStringEncoding): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(ClassID, sel_registerName(PChar(StrNSString_stringWithCString_encoding)), _cString, _enc); end; constructor NSString.initWithContentsOfURL_encoding_error(_url: CFURLRef; _enc: NSStringEncoding; _error: objc.id {NSError}); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_url: CFURLRef; _enc: NSStringEncoding; _error: objc.id {NSError}): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSString_initWithContentsOfURL_encoding_error)), _url, _enc, _error); end; constructor NSString.initWithContentsOfFile_encoding_error(_path: CFStringRef; _enc: NSStringEncoding; _error: objc.id {NSError}); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_path: CFStringRef; _enc: NSStringEncoding; _error: objc.id {NSError}): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSString_initWithContentsOfFile_encoding_error)), _path, _enc, _error); end; constructor NSString.stringWithContentsOfURL_encoding_error(_url: CFURLRef; _enc: NSStringEncoding; _error: objc.id {NSError}); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_url: CFURLRef; _enc: NSStringEncoding; _error: objc.id {NSError}): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(ClassID, sel_registerName(PChar(StrNSString_stringWithContentsOfURL_encoding_error)), _url, _enc, _error); end; constructor NSString.stringWithContentsOfFile_encoding_error(_path: CFStringRef; _enc: NSStringEncoding; _error: objc.id {NSError}); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_path: CFStringRef; _enc: NSStringEncoding; _error: objc.id {NSError}): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(ClassID, sel_registerName(PChar(StrNSString_stringWithContentsOfFile_encoding_error)), _path, _enc, _error); end; constructor NSString.initWithContentsOfURL_usedEncoding_error(_url: CFURLRef; _enc: NSStringEncoding; _error: objc.id {NSError}); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_url: CFURLRef; _enc: NSStringEncoding; _error: objc.id {NSError}): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSString_initWithContentsOfURL_usedEncoding_error)), _url, _enc, _error); end; constructor NSString.initWithContentsOfFile_usedEncoding_error(_path: CFStringRef; _enc: NSStringEncoding; _error: objc.id {NSError}); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_path: CFStringRef; _enc: NSStringEncoding; _error: objc.id {NSError}): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSString_initWithContentsOfFile_usedEncoding_error)), _path, _enc, _error); end; constructor NSString.stringWithContentsOfURL_usedEncoding_error(_url: CFURLRef; _enc: NSStringEncoding; _error: objc.id {NSError}); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_url: CFURLRef; _enc: NSStringEncoding; _error: objc.id {NSError}): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(ClassID, sel_registerName(PChar(StrNSString_stringWithContentsOfURL_usedEncoding_error)), _url, _enc, _error); end; constructor NSString.stringWithContentsOfFile_usedEncoding_error(_path: CFStringRef; _enc: NSStringEncoding; _error: objc.id {NSError}); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_path: CFStringRef; _enc: NSStringEncoding; _error: objc.id {NSError}): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(ClassID, sel_registerName(PChar(StrNSString_stringWithContentsOfFile_usedEncoding_error)), _path, _enc, _error); end; function NSString.writeToURL_atomically_encoding_error(_url: CFURLRef; _useAuxiliaryFile: LongBool; _enc: NSStringEncoding; _error: objc.id {NSError}): LongBool; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_url: CFURLRef; _useAuxiliaryFile: LongBool; _enc: NSStringEncoding; _error: objc.id {NSError}): LongBool; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := LongBool(vmethod(Handle, sel_registerName(PChar(StrNSString_writeToURL_atomically_encoding_error)), _url, _useAuxiliaryFile, _enc, _error)); end; function NSString.writeToFile_atomically_encoding_error(_path: CFStringRef; _useAuxiliaryFile: LongBool; _enc: NSStringEncoding; _error: objc.id {NSError}): LongBool; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_path: CFStringRef; _useAuxiliaryFile: LongBool; _enc: NSStringEncoding; _error: objc.id {NSError}): LongBool; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := LongBool(vmethod(Handle, sel_registerName(PChar(StrNSString_writeToFile_atomically_encoding_error)), _path, _useAuxiliaryFile, _enc, _error)); end; {.$endif} function NSString.propertyList: objc.id; begin Result := objc.id(objc_msgSend(Handle, sel_registerName(PChar(StrNSString_propertyList)), [])); end; function NSString.propertyListFromStringsFileFormat: CFDictionaryRef; begin Result := CFDictionaryRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSString_propertyListFromStringsFileFormat)), [])); end; function NSString.cString: PChar; begin Result := PChar(objc_msgSend(Handle, sel_registerName(PChar(StrNSString_cString)), [])); end; function NSString.lossyCString: PChar; begin Result := PChar(objc_msgSend(Handle, sel_registerName(PChar(StrNSString_lossyCString)), [])); end; function NSString.cStringLength: LongWord; begin Result := LongWord(objc_msgSend(Handle, sel_registerName(PChar(StrNSString_cStringLength)), [])); end; procedure NSString.getCString(_bytes: PChar); type TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_bytes: PChar); cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); vmethod(Handle, sel_registerName(PChar(StrNSString_getCString)), _bytes); end; procedure NSString.getCString_maxLength(_bytes: PChar; _maxLength: LongWord); type TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_bytes: PChar; _maxLength: LongWord); cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); vmethod(Handle, sel_registerName(PChar(StrNSString_getCString_maxLength)), _bytes, _maxLength); end; procedure NSString.getCString_maxLength_range_remainingRange(_bytes: PChar; _maxLength: LongWord; _aRange: NSRange; _leftoverRange: NSRangePointer); type TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_bytes: PChar; _maxLength: LongWord; _aRange: NSRange; _leftoverRange: NSRangePointer); cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); vmethod(Handle, sel_registerName(PChar(StrNSString_getCString_maxLength_range_remainingRange)), _bytes, _maxLength, _aRange, _leftoverRange); end; function NSString.writeToFile_atomically(_path: CFStringRef; _useAuxiliaryFile: LongBool): LongBool; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_path: CFStringRef; _useAuxiliaryFile: LongBool): LongBool; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := LongBool(vmethod(Handle, sel_registerName(PChar(StrNSString_writeToFile_atomically)), _path, _useAuxiliaryFile)); end; function NSString.writeToURL_atomically(_url: CFURLRef; _atomically: LongBool): LongBool; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_url: CFURLRef; _atomically: LongBool): LongBool; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := LongBool(vmethod(Handle, sel_registerName(PChar(StrNSString_writeToURL_atomically)), _url, _atomically)); end; constructor NSString.initWithContentsOfFile(_path: CFStringRef); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_path: CFStringRef): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSString_initWithContentsOfFile)), _path); end; constructor NSString.initWithContentsOfURL(_url: CFURLRef); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_url: CFURLRef): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSString_initWithContentsOfURL)), _url); end; constructor NSString.stringWithContentsOfFile(_path: CFStringRef); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_path: CFStringRef): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(ClassID, sel_registerName(PChar(StrNSString_stringWithContentsOfFile)), _path); end; constructor NSString.stringWithContentsOfURL(_url: CFURLRef); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_url: CFURLRef): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(ClassID, sel_registerName(PChar(StrNSString_stringWithContentsOfURL)), _url); end; constructor NSString.initWithCStringNoCopy_length_freeWhenDone(_bytes: PChar; _length: LongWord; _freeBuffer: LongBool); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_bytes: PChar; _length: LongWord; _freeBuffer: LongBool): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSString_initWithCStringNoCopy_length_freeWhenDone)), _bytes, _length, _freeBuffer); end; constructor NSString.initWithCString_length(_bytes: PChar; _length: LongWord); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_bytes: PChar; _length: LongWord): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSString_initWithCString_length)), _bytes, _length); end; constructor NSString.initWithCString(_bytes: PChar); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_bytes: PChar): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSString_initWithCString)), _bytes); end; constructor NSString.stringWithCString_length(_bytes: PChar; _length: LongWord); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_bytes: PChar; _length: LongWord): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(ClassID, sel_registerName(PChar(StrNSString_stringWithCString_length)), _bytes, _length); end; constructor NSString.stringWithCString(_bytes: PChar); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_bytes: PChar): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(ClassID, sel_registerName(PChar(StrNSString_stringWithCString)), _bytes); end; { NSMutableString } class function NSMutableString.getClass: objc.id; begin Result := objc_getClass(StrNSMutableString_NSMutableString); end; procedure NSMutableString.replaceCharactersInRange_withString(_range: NSRange; _aString: CFStringRef); type TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_range: NSRange; _aString: CFStringRef); cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); vmethod(Handle, sel_registerName(PChar(StrNSMutableString_replaceCharactersInRange_withString)), _range, _aString); end; procedure NSMutableString.insertString_atIndex(_aString: CFStringRef; _loc: LongWord); type TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_aString: CFStringRef; _loc: LongWord); cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); vmethod(Handle, sel_registerName(PChar(StrNSMutableString_insertString_atIndex)), _aString, _loc); end; procedure NSMutableString.deleteCharactersInRange(_range: NSRange); type TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_range: NSRange); cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); vmethod(Handle, sel_registerName(PChar(StrNSMutableString_deleteCharactersInRange)), _range); end; procedure NSMutableString.appendString(_aString: CFStringRef); type TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_aString: CFStringRef); cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); vmethod(Handle, sel_registerName(PChar(StrNSMutableString_appendString)), _aString); end; procedure NSMutableString.appendFormat(_format: CFStringRef); type TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_format: CFStringRef); cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); vmethod(Handle, sel_registerName(PChar(StrNSMutableString_appendFormat)), _format); end; procedure NSMutableString.setString(_aString: CFStringRef); type TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_aString: CFStringRef); cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); vmethod(Handle, sel_registerName(PChar(StrNSMutableString_setString)), _aString); end; constructor NSMutableString.initWithCapacity(_capacity: LongWord); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_capacity: LongWord): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSMutableString_initWithCapacity)), _capacity); end; constructor NSMutableString.stringWithCapacity(_capacity: LongWord); type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_capacity: LongWord): objc.id; cdecl; var vmethod: TmsgSendWrapper; begin ClassID := getClass(); vmethod := TmsgSendWrapper(@objc_msgSend); Handle := vmethod(ClassID, sel_registerName(PChar(StrNSMutableString_stringWithCapacity)), _capacity); end; {.$ifdef MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED} function NSMutableString.replaceOccurrencesOfString_withString_options_range(_target: CFStringRef; _replacement: CFStringRef; _opts: LongWord; _searchRange: NSRange): LongWord; type TmsgSendWrapper = function (param1: objc.id; param2: SEL;_target: CFStringRef; _replacement: CFStringRef; _opts: LongWord; _searchRange: NSRange): LongWord; cdecl; var vmethod: TmsgSendWrapper; begin vmethod := TmsgSendWrapper(@objc_msgSend); Result := LongWord(vmethod(Handle, sel_registerName(PChar(StrNSMutableString_replaceOccurrencesOfString_withString_options_range)), _target, _replacement, _opts, _searchRange)); end; {.$endif} { NSSimpleCString } class function NSSimpleCString.getClass: objc.id; begin Result := objc_getClass(StrNSSimpleCString_NSSimpleCString); end; { NSConstantString } class function NSConstantString.getClass: objc.id; begin Result := objc_getClass(StrNSConstantString_NSConstantString); end; {$endif}