home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 …ember: Reference Library / Apple Developer Reference Library (December 1999) (Disk 1).iso / pc / technical documentation / develop / develop issue 24 / develop issue 24 code / scriptable database 1.0a15.sea / Scriptable Database 1.0a15 / Blue / MoreStrings.cp < prev    next >
MacBinary  |  1996-02-19  |  17.4 KB  |  [TEXT/CWIE]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert MS-DOS Code Page Info (other/dosCodePage) ext Unsupported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Mon Feb 19 22:26:39 1996, modified Mon Feb 19 22:26:39 1996, creator 'CWIE', type ASCII, 17075 bytes "MoreStrings.cp" , at 0x4333 410 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[CWIE]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0e 4d 6f 72 65 53 74 | 72 69 6e 67 73 2e 63 70 |..MoreSt|rings.cp|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 43 57 49 | 45 01 00 00 00 00 00 00 |.TEXTCWI|E.......|
|00000050| 00 00 00 00 00 42 b3 00 | 00 01 9a ad 4e ef ef ad |.....B..|....N...|
|00000060| 4e ef ef 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |N.......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 2d 1b 00 00 |........|....-...|
|00000080| 23 69 6e 63 6c 75 64 65 | 20 22 4d 6f 72 65 53 74 |#include| "MoreSt|
|00000090| 72 69 6e 67 73 2e 68 22 | 0d 23 69 6e 63 6c 75 64 |rings.h"|.#includ|
|000000a0| 65 20 22 45 78 63 65 70 | 74 69 6f 6e 73 2e 68 22 |e "Excep|tions.h"|
|000000b0| 0d 0d 23 69 6e 63 6c 75 | 64 65 20 3c 41 45 52 65 |..#inclu|de <AERe|
|000000c0| 67 69 73 74 72 79 2e 68 | 3e 0d 23 69 6e 63 6c 75 |gistry.h|>.#inclu|
|000000d0| 64 65 20 3c 54 65 78 74 | 55 74 69 6c 73 2e 68 3e |de <Text|Utils.h>|
|000000e0| 0d 0d 0d 0d 0d 2f 2f 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.....//=|========|
|000000f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000100| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000110| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000120| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000130| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 0d |========|=======.|
|00000140| 2f 2f 20 43 4c 41 53 53 | 20 54 53 74 72 69 6e 67 |// CLASS| TString|
|00000150| 0d 2f 2f 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.//=====|========|
|00000160| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000170| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000180| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000190| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000001a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 0d 0d 0d 54 53 |========|===...TS|
|000001b0| 74 72 69 6e 67 3a 3a 54 | 53 74 72 69 6e 67 28 29 |tring::T|String()|
|000001c0| 20 3a 0d 09 66 53 74 72 | 28 6e 69 6c 29 2c 0d 09 | :..fStr|(nil),..|
|000001d0| 66 53 74 72 69 6e 67 53 | 63 72 69 70 74 28 73 6d |fStringS|cript(sm|
|000001e0| 53 79 73 74 65 6d 53 63 | 72 69 70 74 29 2c 0d 09 |SystemSc|ript),..|
|000001f0| 66 53 74 72 69 6e 67 4c | 61 6e 67 75 61 67 65 28 |fStringL|anguage(|
|00000200| 73 63 72 69 70 74 44 65 | 66 4c 61 6e 67 29 2c 0d |scriptDe|fLang),.|
|00000210| 09 66 41 63 74 75 61 6c | 53 69 7a 65 49 6e 42 79 |.fActual|SizeInBy|
|00000220| 74 65 73 28 30 29 2c 0d | 09 66 4d 61 78 69 6d 75 |tes(0),.|.fMaximu|
|00000230| 6d 53 69 7a 65 49 6e 42 | 79 74 65 73 28 32 35 36 |mSizeInB|ytes(256|
|00000240| 29 2c 0d 09 66 53 74 6f | 72 61 67 65 41 6c 6c 6f |),..fSto|rageAllo|
|00000250| 63 61 74 65 64 49 6e 48 | 65 61 70 28 74 72 75 65 |catedInH|eap(true|
|00000260| 29 0d 7b 0d 09 66 53 74 | 72 20 3d 20 6e 65 77 20 |).{..fSt|r = new |
|00000270| 75 6e 73 69 67 6e 65 64 | 20 63 68 61 72 5b 66 4d |unsigned| char[fM|
|00000280| 61 78 69 6d 75 6d 53 69 | 7a 65 49 6e 42 79 74 65 |aximumSi|zeInByte|
|00000290| 73 5d 3b 0d 09 66 53 74 | 72 5b 30 5d 20 3d 20 30 |s];..fSt|r[0] = 0|
|000002a0| 3b 0d 7d 0d 0d 54 53 74 | 72 69 6e 67 3a 3a 54 53 |;.}..TSt|ring::TS|
|000002b0| 74 72 69 6e 67 28 63 6f | 6e 73 74 20 54 53 74 72 |tring(co|nst TStr|
|000002c0| 69 6e 67 26 20 73 74 72 | 69 6e 67 29 20 3a 0d 09 |ing& str|ing) :..|
|000002d0| 66 53 74 72 28 6e 69 6c | 29 2c 0d 09 66 53 74 72 |fStr(nil|),..fStr|
|000002e0| 69 6e 67 53 63 72 69 70 | 74 28 73 6d 53 79 73 74 |ingScrip|t(smSyst|
|000002f0| 65 6d 53 63 72 69 70 74 | 29 2c 0d 09 66 53 74 72 |emScript|),..fStr|
|00000300| 69 6e 67 4c 61 6e 67 75 | 61 67 65 28 73 63 72 69 |ingLangu|age(scri|
|00000310| 70 74 44 65 66 4c 61 6e | 67 29 2c 0d 09 66 41 63 |ptDefLan|g),..fAc|
|00000320| 74 75 61 6c 53 69 7a 65 | 49 6e 42 79 74 65 73 28 |tualSize|InBytes(|
|00000330| 30 29 2c 0d 09 66 4d 61 | 78 69 6d 75 6d 53 69 7a |0),..fMa|ximumSiz|
|00000340| 65 49 6e 42 79 74 65 73 | 28 73 74 72 69 6e 67 2e |eInBytes|(string.|
|00000350| 53 74 72 69 6e 67 4c 65 | 6e 67 74 68 28 29 29 2c |StringLe|ngth()),|
|00000360| 0d 09 66 53 74 6f 72 61 | 67 65 41 6c 6c 6f 63 61 |..fStora|geAlloca|
|00000370| 74 65 64 49 6e 48 65 61 | 70 28 74 72 75 65 29 0d |tedInHea|p(true).|
|00000380| 7b 0d 09 66 53 74 72 20 | 3d 20 6e 65 77 20 75 6e |{..fStr |= new un|
|00000390| 73 69 67 6e 65 64 20 63 | 68 61 72 5b 66 4d 61 78 |signed c|har[fMax|
|000003a0| 69 6d 75 6d 53 69 7a 65 | 49 6e 42 79 74 65 73 5d |imumSize|InBytes]|
|000003b0| 3b 0d 09 66 53 74 72 5b | 30 5d 20 3d 20 30 3b 0d |;..fStr[|0] = 0;.|
|000003c0| 09 0d 09 2a 74 68 69 73 | 20 3d 20 73 74 72 69 6e |...*this| = strin|
|000003d0| 67 3b 0d 7d 0d 0d 54 53 | 74 72 69 6e 67 3a 3a 54 |g;.}..TS|tring::T|
|000003e0| 53 74 72 69 6e 67 28 63 | 6f 6e 73 74 20 54 44 65 |String(c|onst TDe|
|000003f0| 73 63 72 69 70 74 6f 72 | 26 20 64 65 73 63 29 20 |scriptor|& desc) |
|00000400| 3a 0d 09 66 53 74 72 28 | 6e 69 6c 29 2c 0d 09 66 |:..fStr(|nil),..f|
|00000410| 53 74 72 69 6e 67 53 63 | 72 69 70 74 28 73 6d 53 |StringSc|ript(smS|
|00000420| 79 73 74 65 6d 53 63 72 | 69 70 74 29 2c 0d 09 66 |ystemScr|ipt),..f|
|00000430| 53 74 72 69 6e 67 4c 61 | 6e 67 75 61 67 65 28 73 |StringLa|nguage(s|
|00000440| 63 72 69 70 74 44 65 66 | 4c 61 6e 67 29 2c 0d 09 |criptDef|Lang),..|
|00000450| 66 41 63 74 75 61 6c 53 | 69 7a 65 49 6e 42 79 74 |fActualS|izeInByt|
|00000460| 65 73 28 30 29 2c 0d 09 | 66 4d 61 78 69 6d 75 6d |es(0),..|fMaximum|
|00000470| 53 69 7a 65 49 6e 42 79 | 74 65 73 28 32 35 36 29 |SizeInBy|tes(256)|
|00000480| 2c 0d 09 66 53 74 6f 72 | 61 67 65 41 6c 6c 6f 63 |,..fStor|ageAlloc|
|00000490| 61 74 65 64 49 6e 48 65 | 61 70 28 74 72 75 65 29 |atedInHe|ap(true)|
|000004a0| 0d 7b 0d 09 66 53 74 72 | 20 3d 20 6e 65 77 20 75 |.{..fStr| = new u|
|000004b0| 6e 73 69 67 6e 65 64 20 | 63 68 61 72 5b 66 4d 61 |nsigned |char[fMa|
|000004c0| 78 69 6d 75 6d 53 69 7a | 65 49 6e 42 79 74 65 73 |ximumSiz|eInBytes|
|000004d0| 5d 3b 0d 09 66 53 74 72 | 5b 30 5d 20 3d 20 30 3b |];..fStr|[0] = 0;|
|000004e0| 0d 09 0d 09 2a 74 68 69 | 73 20 3d 20 64 65 73 63 |....*thi|s = desc|
|000004f0| 3b 0d 7d 0d 0d 54 53 74 | 72 69 6e 67 3a 3a 54 53 |;.}..TSt|ring::TS|
|00000500| 74 72 69 6e 67 28 55 49 | 6e 74 33 32 20 6d 61 78 |tring(UI|nt32 max|
|00000510| 69 6d 75 6d 53 69 7a 65 | 29 20 3a 0d 09 66 53 74 |imumSize|) :..fSt|
|00000520| 72 28 6e 69 6c 29 2c 0d | 09 66 53 74 72 69 6e 67 |r(nil),.|.fString|
|00000530| 53 63 72 69 70 74 28 73 | 6d 53 79 73 74 65 6d 53 |Script(s|mSystemS|
|00000540| 63 72 69 70 74 29 2c 0d | 09 66 53 74 72 69 6e 67 |cript),.|.fString|
|00000550| 4c 61 6e 67 75 61 67 65 | 28 73 63 72 69 70 74 44 |Language|(scriptD|
|00000560| 65 66 4c 61 6e 67 29 2c | 0d 09 66 41 63 74 75 61 |efLang),|..fActua|
|00000570| 6c 53 69 7a 65 49 6e 42 | 79 74 65 73 28 30 29 2c |lSizeInB|ytes(0),|
|00000580| 0d 09 66 4d 61 78 69 6d | 75 6d 53 69 7a 65 49 6e |..fMaxim|umSizeIn|
|00000590| 42 79 74 65 73 28 6d 61 | 78 69 6d 75 6d 53 69 7a |Bytes(ma|ximumSiz|
|000005a0| 65 29 2c 0d 09 66 53 74 | 6f 72 61 67 65 41 6c 6c |e),..fSt|orageAll|
|000005b0| 6f 63 61 74 65 64 49 6e | 48 65 61 70 28 74 72 75 |ocatedIn|Heap(tru|
|000005c0| 65 29 0d 7b 0d 09 66 53 | 74 72 20 3d 20 6e 65 77 |e).{..fS|tr = new|
|000005d0| 20 75 6e 73 69 67 6e 65 | 64 20 63 68 61 72 5b 66 | unsigne|d char[f|
|000005e0| 4d 61 78 69 6d 75 6d 53 | 69 7a 65 49 6e 42 79 74 |MaximumS|izeInByt|
|000005f0| 65 73 5d 3b 0d 09 66 53 | 74 72 5b 30 5d 20 3d 20 |es];..fS|tr[0] = |
|00000600| 30 3b 0d 7d 0d 0d 54 53 | 74 72 69 6e 67 3a 3a 54 |0;.}..TS|tring::T|
|00000610| 53 74 72 69 6e 67 28 75 | 6e 73 69 67 6e 65 64 20 |String(u|nsigned |
|00000620| 63 68 61 72 2a 20 73 74 | 72 69 6e 67 45 78 74 65 |char* st|ringExte|
|00000630| 72 6e 61 6c 53 74 6f 72 | 61 67 65 2c 20 55 49 6e |rnalStor|age, UIn|
|00000640| 74 33 32 20 6d 61 78 69 | 6d 75 6d 53 69 7a 65 2c |t32 maxi|mumSize,|
|00000650| 20 55 49 6e 74 33 32 20 | 63 75 72 72 65 6e 74 53 | UInt32 |currentS|
|00000660| 69 7a 65 49 6e 42 79 74 | 65 73 2c 20 53 63 72 69 |izeInByt|es, Scri|
|00000670| 70 74 43 6f 64 65 20 73 | 74 72 69 6e 67 53 63 72 |ptCode s|tringScr|
|00000680| 69 70 74 2c 20 4c 61 6e | 67 43 6f 64 65 20 73 74 |ipt, Lan|gCode st|
|00000690| 72 69 6e 67 4c 61 6e 67 | 75 61 67 65 29 20 3a 0d |ringLang|uage) :.|
|000006a0| 09 66 53 74 72 28 73 74 | 72 69 6e 67 45 78 74 65 |.fStr(st|ringExte|
|000006b0| 72 6e 61 6c 53 74 6f 72 | 61 67 65 29 2c 0d 09 66 |rnalStor|age),..f|
|000006c0| 53 74 72 69 6e 67 53 63 | 72 69 70 74 28 73 74 72 |StringSc|ript(str|
|000006d0| 69 6e 67 53 63 72 69 70 | 74 29 2c 0d 09 66 53 74 |ingScrip|t),..fSt|
|000006e0| 72 69 6e 67 4c 61 6e 67 | 75 61 67 65 28 73 74 72 |ringLang|uage(str|
|000006f0| 69 6e 67 4c 61 6e 67 75 | 61 67 65 29 2c 0d 09 66 |ingLangu|age),..f|
|00000700| 4d 61 78 69 6d 75 6d 53 | 69 7a 65 49 6e 42 79 74 |MaximumS|izeInByt|
|00000710| 65 73 28 6d 61 78 69 6d | 75 6d 53 69 7a 65 29 2c |es(maxim|umSize),|
|00000720| 0d 09 66 53 74 6f 72 61 | 67 65 41 6c 6c 6f 63 61 |..fStora|geAlloca|
|00000730| 74 65 64 49 6e 48 65 61 | 70 28 66 61 6c 73 65 29 |tedInHea|p(false)|
|00000740| 0d 7b 0d 09 74 68 69 73 | 2d 3e 53 65 74 4c 65 6e |.{..this|->SetLen|
|00000750| 67 74 68 28 63 75 72 72 | 65 6e 74 53 69 7a 65 49 |gth(curr|entSizeI|
|00000760| 6e 42 79 74 65 73 29 3b | 0d 7d 0d 0d 54 53 74 72 |nBytes);|.}..TStr|
|00000770| 69 6e 67 3a 3a 54 53 74 | 72 69 6e 67 28 75 6e 73 |ing::TSt|ring(uns|
|00000780| 69 67 6e 65 64 20 63 68 | 61 72 2a 20 73 74 72 69 |igned ch|ar* stri|
|00000790| 6e 67 45 78 74 65 72 6e | 61 6c 53 74 6f 72 61 67 |ngExtern|alStorag|
|000007a0| 65 29 20 3a 0d 09 66 53 | 74 72 28 73 74 72 69 6e |e) :..fS|tr(strin|
|000007b0| 67 45 78 74 65 72 6e 61 | 6c 53 74 6f 72 61 67 65 |gExterna|lStorage|
|000007c0| 29 2c 0d 09 66 53 74 72 | 69 6e 67 53 63 72 69 70 |),..fStr|ingScrip|
|000007d0| 74 28 73 6d 53 79 73 74 | 65 6d 53 63 72 69 70 74 |t(smSyst|emScript|
|000007e0| 29 2c 0d 09 66 53 74 72 | 69 6e 67 4c 61 6e 67 75 |),..fStr|ingLangu|
|000007f0| 61 67 65 28 73 63 72 69 | 70 74 44 65 66 4c 61 6e |age(scri|ptDefLan|
|00000800| 67 29 2c 0d 09 66 41 63 | 74 75 61 6c 53 69 7a 65 |g),..fAc|tualSize|
|00000810| 49 6e 42 79 74 65 73 28 | 73 74 72 69 6e 67 45 78 |InBytes(|stringEx|
|00000820| 74 65 72 6e 61 6c 53 74 | 6f 72 61 67 65 5b 30 5d |ternalSt|orage[0]|
|00000830| 29 2c 0d 09 66 4d 61 78 | 69 6d 75 6d 53 69 7a 65 |),..fMax|imumSize|
|00000840| 49 6e 42 79 74 65 73 28 | 32 35 36 29 2c 0d 09 66 |InBytes(|256),..f|
|00000850| 53 74 6f 72 61 67 65 41 | 6c 6c 6f 63 61 74 65 64 |StorageA|llocated|
|00000860| 49 6e 48 65 61 70 28 66 | 61 6c 73 65 29 0d 7b 0d |InHeap(f|alse).{.|
|00000870| 7d 0d 0d 54 53 74 72 69 | 6e 67 3a 3a 7e 54 53 74 |}..TStri|ng::~TSt|
|00000880| 72 69 6e 67 28 29 0d 7b | 0d 09 69 66 28 66 53 74 |ring().{|..if(fSt|
|00000890| 6f 72 61 67 65 41 6c 6c | 6f 63 61 74 65 64 49 6e |orageAll|ocatedIn|
|000008a0| 48 65 61 70 29 0d 09 09 | 64 65 6c 65 74 65 20 66 |Heap)...|delete f|
|000008b0| 53 74 72 3b 0d 7d 0d 0d | 0d 2f 2f 2d 2d 2d 2d 2d |Str;.}..|.//-----|
|000008c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000008d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000008e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000008f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000900| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000910| 2d 2d 2d 0d 2f 2f 20 54 | 53 74 72 69 6e 67 3a 3a |---.// T|String::|
|00000920| 54 44 65 73 63 72 69 70 | 74 6f 72 3a 20 0d 2f 2f |TDescrip|tor: .//|
|00000930| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000940| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000950| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000960| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000970| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000980| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 54 53 74 72 69 6e 67 |--------|.TString|
|00000990| 3a 3a 6f 70 65 72 61 74 | 6f 72 20 54 44 65 73 63 |::operat|or TDesc|
|000009a0| 72 69 70 74 6f 72 28 29 | 20 63 6f 6e 73 74 0d 7b |riptor()| const.{|
|000009b0| 0d 09 54 44 65 73 63 72 | 69 70 74 6f 72 20 72 65 |..TDescr|iptor re|
|000009c0| 73 75 6c 74 3b 0d 09 0d | 09 2f 2f 0d 09 2f 2f 20 |sult;...|.//..// |
|000009d0| 49 66 20 74 68 69 73 20 | 73 74 72 69 6e 67 20 64 |If this |string d|
|000009e0| 6f 65 73 6e 27 74 20 68 | 61 76 65 20 61 6e 79 20 |oesn't h|ave any |
|000009f0| 70 61 72 74 69 63 75 6c | 61 72 20 73 63 72 69 70 |particul|ar scrip|
|00000a00| 74 20 63 6f 64 65 20 61 | 73 73 6f 63 69 61 74 65 |t code a|ssociate|
|00000a10| 64 20 77 69 74 68 20 69 | 74 2c 0d 09 2f 2f 20 74 |d with i|t,..// t|
|00000a20| 68 65 6e 20 62 75 69 6c | 64 20 61 20 74 79 70 65 |hen buil|d a type|
|00000a30| 43 68 61 72 20 64 65 73 | 63 72 69 70 74 6f 72 2e |Char des|criptor.|
|00000a40| 20 20 4f 74 68 65 72 77 | 69 73 65 2c 20 6d 61 6b | Otherw|ise, mak|
|00000a50| 65 20 61 20 74 79 70 65 | 49 6e 74 6c 54 65 78 74 |e a type|IntlText|
|00000a60| 20 64 65 73 63 72 69 70 | 74 6f 72 2e 0d 09 2f 2f | descrip|tor...//|
|00000a70| 0d 09 69 66 28 74 68 69 | 73 2d 3e 53 74 72 69 6e |..if(thi|s->Strin|
|00000a80| 67 53 63 72 69 70 74 28 | 29 20 3d 3d 20 73 6d 53 |gScript(|) == smS|
|00000a90| 79 73 74 65 6d 53 63 72 | 69 70 74 29 0d 09 7b 0d |ystemScr|ipt)..{.|
|00000aa0| 09 09 72 65 73 75 6c 74 | 2e 53 65 74 44 65 73 63 |..result|.SetDesc|
|00000ab0| 72 69 70 74 6f 72 44 61 | 74 61 28 54 43 6f 6e 73 |riptorDa|ta(TCons|
|00000ac0| 74 44 61 74 61 52 65 66 | 65 72 65 6e 63 65 28 74 |tDataRef|erence(t|
|00000ad0| 79 70 65 43 68 61 72 2c | 20 28 63 68 61 72 2a 29 |ypeChar,| (char*)|
|00000ae0| 74 68 69 73 2d 3e 54 65 | 78 74 53 74 61 72 74 28 |this->Te|xtStart(|
|00000af0| 29 2c 20 74 68 69 73 2d | 3e 53 74 72 69 6e 67 4c |), this-|>StringL|
|00000b00| 65 6e 67 74 68 28 29 29 | 29 3b 0d 09 7d 09 0d 09 |ength())|);..}...|
|00000b10| 65 6c 73 65 0d 09 7b 0d | 09 09 53 49 6e 74 33 32 |else..{.|..SInt32|
|00000b20| 20 64 61 74 61 53 69 7a | 65 20 3d 20 74 68 69 73 | dataSiz|e = this|
|00000b30| 2d 3e 53 74 72 69 6e 67 | 4c 65 6e 67 74 68 28 29 |->String|Length()|
|00000b40| 20 2b 20 28 73 69 7a 65 | 6f 66 28 53 63 72 69 70 | + (size|of(Scrip|
|00000b50| 74 43 6f 64 65 29 20 2b | 20 73 69 7a 65 6f 66 28 |tCode) +| sizeof(|
|00000b60| 4c 61 6e 67 43 6f 64 65 | 29 29 3b 0d 09 09 73 74 |LangCode|));...st|
|00000b70| 72 75 63 74 20 49 6e 74 | 6c 54 65 78 74 2a 20 74 |ruct Int|lText* t|
|00000b80| 68 65 49 6e 74 6c 54 65 | 78 74 20 3d 20 28 73 74 |heIntlTe|xt = (st|
|00000b90| 72 75 63 74 20 49 6e 74 | 6c 54 65 78 74 2a 29 20 |ruct Int|lText*) |
|00000ba0| 6e 65 77 20 63 68 61 72 | 5b 64 61 74 61 53 69 7a |new char|[dataSiz|
|00000bb0| 65 5d 3b 0d 09 09 74 68 | 65 49 6e 74 6c 54 65 78 |e];...th|eIntlTex|
|00000bc0| 74 2d 3e 74 68 65 53 63 | 72 69 70 74 43 6f 64 65 |t->theSc|riptCode|
|00000bd0| 20 3d 20 74 68 69 73 2d | 3e 53 74 72 69 6e 67 53 | = this-|>StringS|
|00000be0| 63 72 69 70 74 28 29 3b | 0d 09 09 74 68 65 49 6e |cript();|...theIn|
|00000bf0| 74 6c 54 65 78 74 2d 3e | 74 68 65 4c 61 6e 67 43 |tlText->|theLangC|
|00000c00| 6f 64 65 20 3d 20 74 68 | 69 73 2d 3e 53 74 72 69 |ode = th|is->Stri|
|00000c10| 6e 67 4c 61 6e 67 75 61 | 67 65 28 29 3b 0d 09 09 |ngLangua|ge();...|
|00000c20| 54 55 70 64 61 74 61 44 | 61 74 61 52 65 66 65 72 |TUpdataD|ataRefer|
|00000c30| 65 6e 63 65 20 75 70 64 | 61 74 65 52 65 66 65 72 |ence upd|ateRefer|
|00000c40| 65 6e 63 65 28 74 79 70 | 65 43 68 61 72 2c 20 26 |ence(typ|eChar, &|
|00000c50| 74 68 65 49 6e 74 6c 54 | 65 78 74 2d 3e 74 68 65 |theIntlT|ext->the|
|00000c60| 54 65 78 74 5b 30 5d 2c | 20 30 2c 20 74 68 69 73 |Text[0],| 0, this|
|00000c70| 2d 3e 53 74 72 69 6e 67 | 4c 65 6e 67 74 68 28 29 |->String|Length()|
|00000c80| 29 3b 0d 09 09 75 70 64 | 61 74 65 52 65 66 65 72 |);...upd|ateRefer|
|00000c90| 65 6e 63 65 2e 43 6f 70 | 79 46 72 6f 6d 28 54 43 |ence.Cop|yFrom(TC|
|00000ca0| 6f 6e 73 74 44 61 74 61 | 52 65 66 65 72 65 6e 63 |onstData|Referenc|
|00000cb0| 65 28 74 79 70 65 43 68 | 61 72 2c 20 28 63 68 61 |e(typeCh|ar, (cha|
|00000cc0| 72 2a 29 74 68 69 73 2d | 3e 54 65 78 74 53 74 61 |r*)this-|>TextSta|
|00000cd0| 72 74 28 29 2c 20 74 68 | 69 73 2d 3e 53 74 72 69 |rt(), th|is->Stri|
|00000ce0| 6e 67 4c 65 6e 67 74 68 | 28 29 29 29 3b 0d 09 09 |ngLength|()));...|
|00000cf0| 0d 09 09 72 65 73 75 6c | 74 2e 53 65 74 44 65 73 |...resul|t.SetDes|
|00000d00| 63 72 69 70 74 6f 72 44 | 61 74 61 28 75 70 64 61 |criptorD|ata(upda|
|00000d10| 74 65 52 65 66 65 72 65 | 6e 63 65 29 3b 0d 09 09 |teRefere|nce);...|
|00000d20| 64 65 6c 65 74 65 20 74 | 68 65 49 6e 74 6c 54 65 |delete t|heIntlTe|
|00000d30| 78 74 3b 0d 09 7d 0d 09 | 0d 09 72 65 74 75 72 6e |xt;..}..|..return|
|00000d40| 20 72 65 73 75 6c 74 3b | 0d 7d 20 2f 2f 20 54 53 | result;|.} // TS|
|00000d50| 74 72 69 6e 67 3a 3a 6f | 70 65 72 61 74 6f 72 20 |tring::o|perator |
|00000d60| 54 44 65 73 63 72 69 70 | 74 6f 72 20 0d 0d 2f 2f |TDescrip|tor ..//|
|00000d70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000da0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000db0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000dc0| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 2f 2f 20 54 53 74 72 |--------|.// TStr|
|00000dd0| 69 6e 67 3a 3a 6f 70 65 | 72 61 74 6f 72 3d 3a 20 |ing::ope|rator=: |
|00000de0| 0d 2f 2f 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.//-----|--------|
|00000df0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 54 53 74 72 |--------|---.TStr|
|00000e40| 69 6e 67 26 20 54 53 74 | 72 69 6e 67 3a 3a 6f 70 |ing& TSt|ring::op|
|00000e50| 65 72 61 74 6f 72 3d 28 | 63 6f 6e 73 74 20 54 53 |erator=(|const TS|
|00000e60| 74 72 69 6e 67 26 20 72 | 68 73 29 0d 7b 0d 09 74 |tring& r|hs).{..t|
|00000e70| 68 69 73 2d 3e 52 65 70 | 6c 61 63 65 28 6b 53 74 |his->Rep|lace(kSt|
|00000e80| 72 69 6e 67 53 74 61 72 | 74 2c 20 6b 53 74 72 69 |ringStar|t, kStri|
|00000e90| 6e 67 45 6e 64 2c 20 72 | 68 73 29 3b 0d 0d 09 72 |ngEnd, r|hs);...r|
|00000ea0| 65 74 75 72 6e 20 2a 74 | 68 69 73 3b 0d 7d 20 2f |eturn *t|his;.} /|
|00000eb0| 2f 20 54 53 74 72 69 6e | 67 3a 3a 6f 70 65 72 61 |/ TStrin|g::opera|
|00000ec0| 74 6f 72 3d 20 0d 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |tor= ../|/-------|
|00000ed0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ee0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ef0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f20| 2d 0d 2f 2f 20 54 53 74 | 72 69 6e 67 3a 3a 6f 70 |-.// TSt|ring::op|
|00000f30| 65 72 61 74 6f 72 3d 3a | 20 0d 2f 2f 2d 2d 2d 2d |erator=:| .//----|
|00000f40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f90| 2d 2d 2d 2d 0d 54 53 74 | 72 69 6e 67 26 20 54 53 |----.TSt|ring& TS|
|00000fa0| 74 72 69 6e 67 3a 3a 6f | 70 65 72 61 74 6f 72 3d |tring::o|perator=|
|00000fb0| 28 63 6f 6e 73 74 20 54 | 44 65 73 63 72 69 70 74 |(const T|Descript|
|00000fc0| 6f 72 26 20 64 65 73 63 | 29 0d 7b 0d 09 69 66 28 |or& desc|).{..if(|
|00000fd0| 64 65 73 63 2e 44 65 73 | 63 72 69 70 74 6f 72 54 |desc.Des|criptorT|
|00000fe0| 79 70 65 28 29 20 3d 3d | 20 74 79 70 65 49 6e 74 |ype() ==| typeInt|
|00000ff0| 6c 54 65 78 74 29 0d 09 | 7b 0d 09 09 53 49 6e 74 |lText)..|{...SInt|
|00001000| 33 32 20 64 61 74 61 53 | 69 7a 65 20 3d 20 64 65 |32 dataS|ize = de|
|00001010| 73 63 2e 44 61 74 61 53 | 69 7a 65 28 29 3b 0d 09 |sc.DataS|ize();..|
|00001020| 09 74 68 69 73 2d 3e 45 | 78 70 61 6e 64 54 6f 46 |.this->E|xpandToF|
|00001030| 69 74 28 64 61 74 61 53 | 69 7a 65 29 3b 0d 09 09 |it(dataS|ize);...|
|00001040| 73 74 72 75 63 74 20 49 | 6e 74 6c 54 65 78 74 2a |struct I|ntlText*|
|00001050| 20 74 68 65 49 6e 74 6c | 54 65 78 74 20 3d 20 28 | theIntl|Text = (|
|00001060| 73 74 72 75 63 74 20 49 | 6e 74 6c 54 65 78 74 2a |struct I|ntlText*|
|00001070| 29 20 6e 65 77 20 63 68 | 61 72 5b 64 61 74 61 53 |) new ch|ar[dataS|
|00001080| 69 7a 65 5d 3b 0d 09 09 | 54 55 70 64 61 74 61 44 |ize];...|TUpdataD|
|00001090| 61 74 61 52 65 66 65 72 | 65 6e 63 65 20 75 70 64 |ataRefer|ence upd|
|000010a0| 61 74 65 52 65 66 65 72 | 65 6e 63 65 28 74 79 70 |ateRefer|ence(typ|
|000010b0| 65 49 6e 74 6c 54 65 78 | 74 2c 20 28 63 68 61 72 |eIntlTex|t, (char|
|000010c0| 2a 29 74 68 65 49 6e 74 | 6c 54 65 78 74 2c 20 30 |*)theInt|lText, 0|
|000010d0| 2c 20 64 61 74 61 53 69 | 7a 65 29 3b 0d 09 09 64 |, dataSi|ze);...d|
|000010e0| 65 73 63 2e 47 65 74 44 | 65 73 63 72 69 70 74 6f |esc.GetD|escripto|
|000010f0| 72 44 61 74 61 28 75 70 | 64 61 74 65 52 65 66 65 |rData(up|dateRefe|
|00001100| 72 65 6e 63 65 29 3b 0d | 09 09 53 49 6e 74 33 32 |rence);.|..SInt32|
|00001110| 20 72 61 77 54 65 78 74 | 53 69 7a 65 20 3d 20 75 | rawText|Size = u|
|00001120| 70 64 61 74 65 52 65 66 | 65 72 65 6e 63 65 2e 44 |pdateRef|erence.D|
|00001130| 61 74 61 4c 65 6e 67 74 | 68 28 29 20 2d 20 28 73 |ataLengt|h() - (s|
|00001140| 69 7a 65 6f 66 28 53 63 | 72 69 70 74 43 6f 64 65 |izeof(Sc|riptCode|
|00001150| 29 20 2b 20 73 69 7a 65 | 6f 66 28 4c 61 6e 67 43 |) + size|of(LangC|
|00001160| 6f 64 65 29 29 3b 0d 09 | 09 0d 09 09 2f 2f 0d 09 |ode));..|....//..|
|00001170| 09 2f 2f 20 49 6e 20 61 | 64 64 69 74 69 6f 6e 20 |.// In a|ddition |
|00001180| 74 6f 20 74 68 65 20 73 | 74 72 69 6e 67 2c 20 77 |to the s|tring, w|
|00001190| 65 27 6c 6c 20 61 6c 73 | 6f 20 67 65 74 20 61 20 |e'll als|o get a |
|000011a0| 68 65 61 64 65 72 20 77 | 69 74 68 0d 09 09 2f 2f |header w|ith...//|
|000011b0| 20 73 63 72 69 70 74 20 | 61 6e 64 20 6c 61 6e 67 | script |and lang|
|000011c0| 75 61 67 65 20 63 6f 64 | 65 20 69 6e 66 6f 72 6d |uage cod|e inform|
|000011d0| 61 74 69 6f 6e 20 69 6e | 20 69 74 20 73 74 75 63 |ation in| it stuc|
|000011e0| 6b 20 6f 6e 20 74 68 65 | 0d 09 09 2f 2f 20 62 65 |k on the|...// be|
|000011f0| 67 69 6e 6e 69 6e 67 20 | 6f 66 20 6f 75 72 20 64 |ginning |of our d|
|00001200| 61 74 61 2e 0d 09 09 2f | 2f 0d 09 09 54 53 74 72 |ata..../|/...TStr|
|00001210| 69 6e 67 20 74 68 65 49 | 6e 74 6c 53 74 72 69 6e |ing theI|ntlStrin|
|00001220| 67 28 28 75 6e 73 69 67 | 6e 65 64 20 63 68 61 72 |g((unsig|ned char|
|00001230| 2a 29 74 68 65 49 6e 74 | 6c 54 65 78 74 2d 3e 74 |*)theInt|lText->t|
|00001240| 68 65 54 65 78 74 2c 20 | 72 61 77 54 65 78 74 53 |heText, |rawTextS|
|00001250| 69 7a 65 2c 20 72 61 77 | 54 65 78 74 53 69 7a 65 |ize, raw|TextSize|
|00001260| 2c 20 74 68 65 49 6e 74 | 6c 54 65 78 74 2d 3e 74 |, theInt|lText->t|
|00001270| 68 65 53 63 72 69 70 74 | 43 6f 64 65 2c 20 74 68 |heScript|Code, th|
|00001280| 65 49 6e 74 6c 54 65 78 | 74 2d 3e 74 68 65 4c 61 |eIntlTex|t->theLa|
|00001290| 6e 67 43 6f 64 65 29 3b | 0d 09 09 2a 74 68 69 73 |ngCode);|...*this|
|000012a0| 20 3d 20 74 68 65 49 6e | 74 6c 53 74 72 69 6e 67 | = theIn|tlString|
|000012b0| 3b 0d 09 09 64 65 6c 65 | 74 65 20 74 68 65 49 6e |;...dele|te theIn|
|000012c0| 74 6c 54 65 78 74 3b 0d | 09 7d 0d 09 69 66 28 64 |tlText;.|.}..if(d|
|000012d0| 65 73 63 2e 44 65 73 63 | 72 69 70 74 6f 72 54 79 |esc.Desc|riptorTy|
|000012e0| 70 65 28 29 20 3d 3d 20 | 74 79 70 65 43 68 61 72 |pe() == |typeChar|
|000012f0| 29 0d 09 7b 0d 09 09 53 | 49 6e 74 33 32 20 64 61 |)..{...S|Int32 da|
|00001300| 74 61 53 69 7a 65 20 3d | 20 64 65 73 63 2e 44 61 |taSize =| desc.Da|
|00001310| 74 61 53 69 7a 65 28 29 | 3b 0d 09 09 74 68 69 73 |taSize()|;...this|
|00001320| 2d 3e 45 78 70 61 6e 64 | 54 6f 46 69 74 28 64 61 |->Expand|ToFit(da|
|00001330| 74 61 53 69 7a 65 29 3b | 0d 09 09 54 55 70 64 61 |taSize);|...TUpda|
|00001340| 74 61 44 61 74 61 52 65 | 66 65 72 65 6e 63 65 20 |taDataRe|ference |
|00001350| 75 70 64 61 74 65 52 65 | 66 65 72 65 6e 63 65 28 |updateRe|ference(|
|00001360| 74 79 70 65 43 68 61 72 | 2c 20 28 63 68 61 72 2a |typeChar|, (char*|
|00001370| 29 74 68 69 73 2d 3e 54 | 65 78 74 53 74 61 72 74 |)this->T|extStart|
|00001380| 28 29 2c 20 74 68 69 73 | 2d 3e 53 74 72 69 6e 67 |(), this|->String|
|00001390| 4c 65 6e 67 74 68 28 29 | 2c 20 74 68 69 73 2d 3e |Length()|, this->|
|000013a0| 4d 61 78 69 6d 75 6d 53 | 69 7a 65 49 6e 42 79 74 |MaximumS|izeInByt|
|000013b0| 65 73 28 29 29 3b 0d 09 | 09 64 65 73 63 2e 47 65 |es());..|.desc.Ge|
|000013c0| 74 44 65 73 63 72 69 70 | 74 6f 72 44 61 74 61 28 |tDescrip|torData(|
|000013d0| 75 70 64 61 74 65 52 65 | 66 65 72 65 6e 63 65 29 |updateRe|ference)|
|000013e0| 3b 0d 09 09 66 53 74 72 | 69 6e 67 53 63 72 69 70 |;...fStr|ingScrip|
|000013f0| 74 20 3d 20 73 6d 53 79 | 73 74 65 6d 53 63 72 69 |t = smSy|stemScri|
|00001400| 70 74 3b 0d 09 09 66 53 | 74 72 69 6e 67 4c 61 6e |pt;...fS|tringLan|
|00001410| 67 75 61 67 65 20 3d 20 | 73 63 72 69 70 74 44 65 |guage = |scriptDe|
|00001420| 66 4c 61 6e 67 3b 0d 09 | 09 74 68 69 73 2d 3e 53 |fLang;..|.this->S|
|00001430| 65 74 4c 65 6e 67 74 68 | 28 75 70 64 61 74 65 52 |etLength|(updateR|
|00001440| 65 66 65 72 65 6e 63 65 | 2e 44 61 74 61 4c 65 6e |eference|.DataLen|
|00001450| 67 74 68 28 29 29 3b 0d | 09 7d 0d 09 65 6c 73 65 |gth());.|.}..else|
|00001460| 0d 09 7b 0d 09 09 4f 53 | 45 72 72 20 65 72 72 20 |..{...OS|Err err |
|00001470| 3d 20 6e 6f 45 72 72 3b | 0d 09 09 54 44 65 73 63 |= noErr;|...TDesc|
|00001480| 72 69 70 74 6f 72 20 63 | 6f 65 72 63 65 64 44 65 |riptor c|oercedDe|
|00001490| 73 63 72 69 70 74 6f 72 | 20 3d 20 64 65 73 63 2e |scriptor| = desc.|
|000014a0| 41 74 74 65 6d 70 74 54 | 6f 43 6f 65 72 63 65 28 |AttemptT|oCoerce(|
|000014b0| 74 79 70 65 49 6e 74 6c | 54 65 78 74 2c 20 65 72 |typeIntl|Text, er|
|000014c0| 72 29 3b 0d 09 09 69 66 | 28 63 6f 65 72 63 65 64 |r);...if|(coerced|
|000014d0| 44 65 73 63 72 69 70 74 | 6f 72 2e 44 65 73 63 72 |Descript|or.Descr|
|000014e0| 69 70 74 6f 72 54 79 70 | 65 28 29 20 3d 3d 20 74 |iptorTyp|e() == t|
|000014f0| 79 70 65 49 6e 74 6c 54 | 65 78 74 29 0d 09 09 09 |ypeIntlT|ext)....|
|00001500| 2a 74 68 69 73 20 3d 20 | 63 6f 65 72 63 65 64 44 |*this = |coercedD|
|00001510| 65 73 63 72 69 70 74 6f | 72 3b 0d 09 09 65 6c 73 |escripto|r;...els|
|00001520| 65 0d 09 09 7b 0d 09 09 | 09 63 6f 65 72 63 65 64 |e...{...|.coerced|
|00001530| 44 65 73 63 72 69 70 74 | 6f 72 2e 44 69 73 70 6f |Descript|or.Dispo|
|00001540| 73 65 28 29 3b 0d 09 09 | 09 63 6f 65 72 63 65 64 |se();...|.coerced|
|00001550| 44 65 73 63 72 69 70 74 | 6f 72 20 3d 20 64 65 73 |Descript|or = des|
|00001560| 63 2e 41 74 74 65 6d 70 | 74 54 6f 43 6f 65 72 63 |c.Attemp|tToCoerc|
|00001570| 65 28 74 79 70 65 43 68 | 61 72 2c 20 65 72 72 29 |e(typeCh|ar, err)|
|00001580| 3b 0d 09 09 09 69 66 28 | 63 6f 65 72 63 65 64 44 |;....if(|coercedD|
|00001590| 65 73 63 72 69 70 74 6f | 72 2e 44 65 73 63 72 69 |escripto|r.Descri|
|000015a0| 70 74 6f 72 54 79 70 65 | 28 29 20 3d 3d 20 74 79 |ptorType|() == ty|
|000015b0| 70 65 43 68 61 72 29 0d | 09 09 09 09 2a 74 68 69 |peChar).|....*thi|
|000015c0| 73 20 3d 20 63 6f 65 72 | 63 65 64 44 65 73 63 72 |s = coer|cedDescr|
|000015d0| 69 70 74 6f 72 3b 0d 09 | 09 7d 0d 09 09 63 6f 65 |iptor;..|.}...coe|
|000015e0| 72 63 65 64 44 65 73 63 | 72 69 70 74 6f 72 2e 44 |rcedDesc|riptor.D|
|000015f0| 69 73 70 6f 73 65 28 29 | 3b 0d 09 7d 0d 09 0d 09 |ispose()|;..}....|
|00001600| 72 65 74 75 72 6e 20 2a | 74 68 69 73 3b 0d 7d 20 |return *|this;.} |
|00001610| 2f 2f 20 54 53 74 72 69 | 6e 67 3a 3a 6f 70 65 72 |// TStri|ng::oper|
|00001620| 61 74 6f 72 3d 20 0d 0d | 2f 2f 2d 2d 2d 2d 2d 2d |ator= ..|//------|
|00001630| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001640| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001650| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001660| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001670| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001680| 2d 2d 0d 2f 2f 20 54 53 | 74 72 69 6e 67 3a 3a 53 |--.// TS|tring::S|
|00001690| 65 74 4c 65 6e 67 74 68 | 3a 20 0d 2f 2f 2d 2d 2d |etLength|: .//---|
|000016a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000016b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000016c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000016d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000016e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000016f0| 2d 2d 2d 2d 2d 0d 76 6f | 69 64 20 54 53 74 72 69 |-----.vo|id TStri|
|00001700| 6e 67 3a 3a 53 65 74 4c | 65 6e 67 74 68 28 55 49 |ng::SetL|ength(UI|
|00001710| 6e 74 33 32 20 6e 65 77 | 4c 65 6e 67 74 68 29 0d |nt32 new|Length).|
|00001720| 7b 0d 09 66 41 63 74 75 | 61 6c 53 69 7a 65 49 6e |{..fActu|alSizeIn|
|00001730| 42 79 74 65 73 20 3d 20 | 6e 65 77 4c 65 6e 67 74 |Bytes = |newLengt|
|00001740| 68 3b 0d 09 69 66 28 6e | 65 77 4c 65 6e 67 74 68 |h;..if(n|ewLength|
|00001750| 20 3c 20 32 35 35 29 0d | 09 09 66 53 74 72 5b 30 | < 255).|..fStr[0|
|00001760| 5d 20 3d 20 6e 65 77 4c | 65 6e 67 74 68 3b 0d 09 |] = newL|ength;..|
|00001770| 65 6c 73 65 0d 09 09 66 | 53 74 72 5b 30 5d 20 3d |else...f|Str[0] =|
|00001780| 20 32 35 35 3b 0d 7d 20 | 2f 2f 20 54 53 74 72 69 | 255;.} |// TStri|
|00001790| 6e 67 3a 3a 4c 65 6e 67 | 74 68 20 0d 0d 2f 2f 2d |ng::Leng|th ..//-|
|000017a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000017b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000017c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000017d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000017e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000017f0| 2d 2d 2d 2d 2d 2d 2d 0d | 2f 2f 20 54 53 74 72 69 |-------.|// TStri|
|00001800| 6e 67 3a 3a 43 6f 72 72 | 65 63 74 49 6e 74 65 72 |ng::Corr|ectInter|
|00001810| 6e 61 6c 4c 65 6e 67 74 | 68 3a 20 0d 2f 2f 2d 2d |nalLengt|h: .//--|
|00001820| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001830| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001840| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001850| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001860| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001870| 2d 2d 2d 2d 2d 2d 0d 76 | 6f 69 64 20 54 53 74 72 |------.v|oid TStr|
|00001880| 69 6e 67 3a 3a 43 6f 72 | 72 65 63 74 49 6e 74 65 |ing::Cor|rectInte|
|00001890| 72 6e 61 6c 4c 65 6e 67 | 74 68 28 29 20 63 6f 6e |rnalLeng|th() con|
|000018a0| 73 74 0d 7b 0d 09 69 66 | 28 66 53 74 72 5b 30 5d |st.{..if|(fStr[0]|
|000018b0| 20 21 3d 20 32 35 35 29 | 0d 09 09 28 28 54 53 74 | != 255)|...((TSt|
|000018c0| 72 69 6e 67 2a 29 74 68 | 69 73 29 2d 3e 66 41 63 |ring*)th|is)->fAc|
|000018d0| 74 75 61 6c 53 69 7a 65 | 49 6e 42 79 74 65 73 20 |tualSize|InBytes |
|000018e0| 3d 20 66 53 74 72 5b 30 | 5d 3b 0d 09 65 6c 73 65 |= fStr[0|];..else|
|000018f0| 20 69 66 28 66 41 63 74 | 75 61 6c 53 69 7a 65 49 | if(fAct|ualSizeI|
|00001900| 6e 42 79 74 65 73 20 3c | 20 32 35 35 29 0d 09 09 |nBytes <| 255)...|
|00001910| 28 28 54 53 74 72 69 6e | 67 2a 29 74 68 69 73 29 |((TStrin|g*)this)|
|00001920| 2d 3e 66 41 63 74 75 61 | 6c 53 69 7a 65 49 6e 42 |->fActua|lSizeInB|
|00001930| 79 74 65 73 20 3d 20 32 | 35 35 3b 0d 7d 20 2f 2f |ytes = 2|55;.} //|
|00001940| 20 54 53 74 72 69 6e 67 | 3a 3a 4c 65 6e 67 74 68 | TString|::Length|
|00001950| 20 0d 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | ..//---|--------|
|00001960| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001970| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001980| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001990| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000019a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 2f 2f |--------|-----.//|
|000019b0| 20 54 53 74 72 69 6e 67 | 3a 3a 4c 65 6e 67 74 68 | TString|::Length|
|000019c0| 3a 20 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |: .//---|--------|
|000019d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000019e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000019f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 55 49 |--------|-----.UI|
|00001a20| 6e 74 33 32 20 54 53 74 | 72 69 6e 67 3a 3a 53 74 |nt32 TSt|ring::St|
|00001a30| 72 69 6e 67 4c 65 6e 67 | 74 68 28 29 20 63 6f 6e |ringLeng|th() con|
|00001a40| 73 74 0d 7b 0d 09 74 68 | 69 73 2d 3e 43 6f 72 72 |st.{..th|is->Corr|
|00001a50| 65 63 74 49 6e 74 65 72 | 6e 61 6c 4c 65 6e 67 74 |ectInter|nalLengt|
|00001a60| 68 28 29 3b 0d 09 0d 09 | 72 65 74 75 72 6e 20 66 |h();....|return f|
|00001a70| 41 63 74 75 61 6c 53 69 | 7a 65 49 6e 42 79 74 65 |ActualSi|zeInByte|
|00001a80| 73 3b 0d 7d 20 2f 2f 20 | 54 53 74 72 69 6e 67 3a |s;.} // |TString:|
|00001a90| 3a 4c 65 6e 67 74 68 20 | 0d 0d 2f 2f 2d 2d 2d 2d |:Length |..//----|
|00001aa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ab0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ac0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ad0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ae0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001af0| 2d 2d 2d 2d 0d 2f 2f 20 | 54 53 74 72 69 6e 67 3a |----.// |TString:|
|00001b00| 3a 53 69 7a 65 49 6e 42 | 79 74 65 73 3a 20 0d 2f |:SizeInB|ytes: ./|
|00001b10| 2f 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/-------|--------|
|00001b20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 55 49 6e 74 33 32 |--------|-.UInt32|
|00001b70| 20 54 53 74 72 69 6e 67 | 3a 3a 53 69 7a 65 49 6e | TString|::SizeIn|
|00001b80| 42 79 74 65 73 28 29 20 | 63 6f 6e 73 74 0d 7b 0d |Bytes() |const.{.|
|00001b90| 09 2f 2f 0d 09 2f 2f 20 | 41 64 64 20 6f 6e 65 20 |.//..// |Add one |
|00001ba0| 66 6f 72 20 74 68 65 20 | 6c 65 6e 67 74 68 20 62 |for the |length b|
|00001bb0| 79 74 65 0d 09 2f 2f 0d | 09 72 65 74 75 72 6e 20 |yte..//.|.return |
|00001bc0| 74 68 69 73 2d 3e 53 74 | 72 69 6e 67 4c 65 6e 67 |this->St|ringLeng|
|00001bd0| 74 68 28 29 20 2b 20 31 | 3b 0d 7d 20 2f 2f 20 54 |th() + 1|;.} // T|
|00001be0| 53 74 72 69 6e 67 3a 3a | 53 69 7a 65 49 6e 42 79 |String::|SizeInBy|
|00001bf0| 74 65 73 20 0d 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |tes ..//|--------|
|00001c00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c50| 0d 2f 2f 20 54 53 74 72 | 69 6e 67 3a 3a 4d 61 78 |.// TStr|ing::Max|
|00001c60| 69 6d 75 6d 53 69 7a 65 | 49 6e 42 79 74 65 73 3a |imumSize|InBytes:|
|00001c70| 20 0d 2f 2f 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | .//----|--------|
|00001c80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ca0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001cb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001cc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 55 49 6e |--------|----.UIn|
|00001cd0| 74 33 32 20 54 53 74 72 | 69 6e 67 3a 3a 4d 61 78 |t32 TStr|ing::Max|
|00001ce0| 69 6d 75 6d 53 69 7a 65 | 49 6e 42 79 74 65 73 28 |imumSize|InBytes(|
|00001cf0| 29 20 63 6f 6e 73 74 0d | 7b 0d 09 72 65 74 75 72 |) const.|{..retur|
|00001d00| 6e 20 66 4d 61 78 69 6d | 75 6d 53 69 7a 65 49 6e |n fMaxim|umSizeIn|
|00001d10| 42 79 74 65 73 3b 0d 7d | 20 2f 2f 20 54 53 74 72 |Bytes;.}| // TStr|
|00001d20| 69 6e 67 3a 3a 4d 61 78 | 69 6d 75 6d 53 69 7a 65 |ing::Max|imumSize|
|00001d30| 49 6e 42 79 74 65 73 20 | 0d 0d 2f 2f 2d 2d 2d 2d |InBytes |..//----|
|00001d40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d90| 2d 2d 2d 2d 0d 2f 2f 20 | 54 53 74 72 69 6e 67 3a |----.// |TString:|
|00001da0| 3a 45 6d 70 74 79 3a 20 | 0d 2f 2f 2d 2d 2d 2d 2d |:Empty: |.//-----|
|00001db0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001dc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001dd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001de0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001df0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001e00| 2d 2d 2d 0d 42 6f 6f 6c | 65 61 6e 20 54 53 74 72 |---.Bool|ean TStr|
|00001e10| 69 6e 67 3a 3a 45 6d 70 | 74 79 28 29 20 63 6f 6e |ing::Emp|ty() con|
|00001e20| 73 74 0d 7b 0d 09 72 65 | 74 75 72 6e 20 28 74 68 |st.{..re|turn (th|
|00001e30| 69 73 2d 3e 53 74 72 69 | 6e 67 4c 65 6e 67 74 68 |is->Stri|ngLength|
|00001e40| 28 29 20 3d 3d 20 30 29 | 3b 0d 7d 20 2f 2f 20 54 |() == 0)|;.} // T|
|00001e50| 53 74 72 69 6e 67 3a 3a | 45 6d 70 74 79 20 0d 0d |String::|Empty ..|
|00001e60| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00001e70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001e80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001e90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ea0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001eb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 2f 2f 20 54 53 |--------|--.// TS|
|00001ec0| 74 72 69 6e 67 3a 3a 43 | 6c 65 61 72 53 74 72 69 |tring::C|learStri|
|00001ed0| 6e 67 3a 20 0d 2f 2f 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ng: .//-|--------|
|00001ee0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ef0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00001f30| 76 6f 69 64 20 54 53 74 | 72 69 6e 67 3a 3a 43 6c |void TSt|ring::Cl|
|00001f40| 65 61 72 53 74 72 69 6e | 67 28 29 0d 7b 0d 09 74 |earStrin|g().{..t|
|00001f50| 68 69 73 2d 3e 53 65 74 | 4c 65 6e 67 74 68 28 30 |his->Set|Length(0|
|00001f60| 29 3b 0d 7d 20 2f 2f 20 | 54 53 74 72 69 6e 67 3a |);.} // |TString:|
|00001f70| 3a 43 6c 65 61 72 53 74 | 72 69 6e 67 20 0d 0d 2f |:ClearSt|ring ../|
|00001f80| 2f 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/-------|--------|
|00001f90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001fa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001fb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001fc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001fd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 2f 2f 20 54 53 74 |--------|-.// TSt|
|00001fe0| 72 69 6e 67 3a 3a 43 6f | 6d 70 61 72 65 53 74 72 |ring::Co|mpareStr|
|00001ff0| 69 6e 67 4f 72 64 65 72 | 3a 20 0d 2f 2f 2d 2d 2d |ingOrder|: .//---|
|00002000| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002010| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002020| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002030| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002040| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002050| 2d 2d 2d 2d 2d 0d 53 49 | 6e 74 31 36 20 54 53 74 |-----.SI|nt16 TSt|
|00002060| 72 69 6e 67 3a 3a 43 6f | 6d 70 61 72 65 53 74 72 |ring::Co|mpareStr|
|00002070| 69 6e 67 4f 72 64 65 72 | 28 63 6f 6e 73 74 20 54 |ingOrder|(const T|
|00002080| 53 74 72 69 6e 67 26 20 | 63 6f 6d 70 61 72 65 57 |String& |compareW|
|00002090| 69 74 68 29 20 63 6f 6e | 73 74 0d 7b 0d 09 72 65 |ith) con|st.{..re|
|000020a0| 74 75 72 6e 20 49 55 54 | 65 78 74 4f 72 64 65 72 |turn IUT|extOrder|
|000020b0| 28 74 68 69 73 2d 3e 54 | 65 78 74 53 74 61 72 74 |(this->T|extStart|
|000020c0| 28 29 2c 20 63 6f 6d 70 | 61 72 65 57 69 74 68 2e |(), comp|areWith.|
|000020d0| 54 65 78 74 53 74 61 72 | 74 28 29 2c 0d 09 09 74 |TextStar|t(),...t|
|000020e0| 68 69 73 2d 3e 53 74 72 | 69 6e 67 4c 65 6e 67 74 |his->Str|ingLengt|
|000020f0| 68 28 29 2c 20 63 6f 6d | 70 61 72 65 57 69 74 68 |h(), com|pareWith|
|00002100| 2e 53 74 72 69 6e 67 4c | 65 6e 67 74 68 28 29 2c |.StringL|ength(),|
|00002110| 0d 09 09 74 68 69 73 2d | 3e 53 74 72 69 6e 67 53 |...this-|>StringS|
|00002120| 63 72 69 70 74 28 29 2c | 20 63 6f 6d 70 61 72 65 |cript(),| compare|
|00002130| 57 69 74 68 2e 53 74 72 | 69 6e 67 53 63 72 69 70 |With.Str|ingScrip|
|00002140| 74 28 29 2c 0d 09 09 74 | 68 69 73 2d 3e 53 74 72 |t(),...t|his->Str|
|00002150| 69 6e 67 4c 61 6e 67 75 | 61 67 65 28 29 2c 20 63 |ingLangu|age(), c|
|00002160| 6f 6d 70 61 72 65 57 69 | 74 68 2e 53 74 72 69 6e |ompareWi|th.Strin|
|00002170| 67 4c 61 6e 67 75 61 67 | 65 28 29 29 3b 0d 7d 0d |gLanguag|e());.}.|
|00002180| 0d 2f 2f 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.//-----|--------|
|00002190| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 2f 2f 20 54 |--------|---.// T|
|000021e0| 53 74 72 69 6e 67 3a 3a | 45 71 75 69 76 61 6c 65 |String::|Equivale|
|000021f0| 6e 74 3a 20 0d 2f 2f 2d | 2d 2d 2d 2d 2d 2d 2d 2d |nt: .//-|--------|
|00002200| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002210| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002220| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002230| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002240| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00002250| 42 6f 6f 6c 65 61 6e 20 | 54 53 74 72 69 6e 67 3a |Boolean |TString:|
|00002260| 3a 45 71 75 69 76 61 6c | 65 6e 74 28 63 6f 6e 73 |:Equival|ent(cons|
|00002270| 74 20 54 53 74 72 69 6e | 67 26 20 63 6f 6d 70 61 |t TStrin|g& compa|
|00002280| 72 65 57 69 74 68 29 20 | 63 6f 6e 73 74 0d 7b 0d |reWith) |const.{.|
|00002290| 09 42 6f 6f 6c 65 61 6e | 20 69 73 45 71 75 61 6c |.Boolean| isEqual|
|000022a0| 20 3d 20 66 61 6c 73 65 | 3b 0d 09 0d 09 69 73 45 | = false|;....isE|
|000022b0| 71 75 61 6c 20 3d 20 28 | 74 68 69 73 2d 3e 43 6f |qual = (|this->Co|
|000022c0| 6d 70 61 72 65 53 74 72 | 69 6e 67 4f 72 64 65 72 |mpareStr|ingOrder|
|000022d0| 28 63 6f 6d 70 61 72 65 | 57 69 74 68 29 20 3d 3d |(compare|With) ==|
|000022e0| 20 30 29 3b 0d 09 0d 09 | 72 65 74 75 72 6e 20 69 | 0);....|return i|
|000022f0| 73 45 71 75 61 6c 3b 0d | 7d 20 2f 2f 20 54 53 74 |sEqual;.|} // TSt|
|00002300| 72 69 6e 67 3a 3a 45 71 | 75 69 76 61 6c 65 6e 74 |ring::Eq|uivalent|
|00002310| 20 0d 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | ..//---|--------|
|00002320| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002330| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002340| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002350| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002360| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 2f 2f |--------|-----.//|
|00002370| 20 54 53 74 72 69 6e 67 | 3a 3a 45 71 75 61 6c 3a | TString|::Equal:|
|00002380| 20 63 61 73 65 20 69 6e | 73 65 6e 73 69 74 69 76 | case in|sensitiv|
|00002390| 65 2c 20 64 69 61 63 72 | 69 74 69 63 61 6c 20 73 |e, diacr|itical s|
|000023a0| 65 6e 73 69 74 69 76 65 | 0d 2f 2f 2d 2d 2d 2d 2d |ensitive|.//-----|
|000023b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000023c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000023d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000023e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000023f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002400| 2d 2d 2d 0d 42 6f 6f 6c | 65 61 6e 20 54 53 74 72 |---.Bool|ean TStr|
|00002410| 69 6e 67 3a 3a 45 71 75 | 61 6c 28 63 6f 6e 73 74 |ing::Equ|al(const|
|00002420| 20 54 53 74 72 69 6e 67 | 26 20 63 6f 6d 70 61 72 | TString|& compar|
|00002430| 65 57 69 74 68 29 20 63 | 6f 6e 73 74 0d 7b 0d 09 |eWith) c|onst.{..|
|00002440| 72 65 74 75 72 6e 20 74 | 68 69 73 2d 3e 45 71 75 |return t|his->Equ|
|00002450| 69 76 61 6c 65 6e 74 28 | 63 6f 6d 70 61 72 65 57 |ivalent(|compareW|
|00002460| 69 74 68 29 3b 0d 7d 20 | 2f 2f 20 54 53 74 72 69 |ith);.} |// TStri|
|00002470| 6e 67 3a 3a 45 71 75 61 | 6c 20 0d 0d 2f 2f 2d 2d |ng::Equa|l ..//--|
|00002480| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002490| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000024a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000024b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000024c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000024d0| 2d 2d 2d 2d 2d 2d 0d 2f | 2f 20 54 53 74 72 69 6e |------./|/ TStrin|
|000024e0| 67 3a 3a 45 78 61 63 74 | 6c 79 45 71 75 61 6c 3a |g::Exact|lyEqual:|
|000024f0| 20 63 61 73 65 20 73 65 | 6e 73 69 74 69 76 65 2c | case se|nsitive,|
|00002500| 20 64 69 61 63 72 69 74 | 69 63 61 6c 20 73 65 6e | diacrit|ical sen|
|00002510| 73 69 74 69 76 65 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |sitive./|/-------|
|00002520| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002530| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002540| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002550| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002560| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002570| 2d 0d 42 6f 6f 6c 65 61 | 6e 20 54 53 74 72 69 6e |-.Boolea|n TStrin|
|00002580| 67 3a 3a 45 78 61 63 74 | 6c 79 45 71 75 61 6c 28 |g::Exact|lyEqual(|
|00002590| 63 6f 6e 73 74 20 54 53 | 74 72 69 6e 67 26 20 63 |const TS|tring& c|
|000025a0| 6f 6d 70 61 72 65 57 69 | 74 68 29 20 63 6f 6e 73 |ompareWi|th) cons|
|000025b0| 74 0d 7b 0d 09 72 65 74 | 75 72 6e 20 74 68 69 73 |t.{..ret|urn this|
|000025c0| 2d 3e 45 71 75 69 76 61 | 6c 65 6e 74 28 63 6f 6d |->Equiva|lent(com|
|000025d0| 70 61 72 65 57 69 74 68 | 29 3b 0d 7d 20 2f 2f 20 |pareWith|);.} // |
|000025e0| 54 53 74 72 69 6e 67 3a | 3a 45 78 61 63 74 6c 79 |TString:|:Exactly|
|000025f0| 45 71 75 61 6c 20 0d 0d | 2f 2f 2d 2d 2d 2d 2d 2d |Equal ..|//------|
|00002600| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002610| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002620| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002630| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002640| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002650| 2d 2d 0d 2f 2f 20 54 53 | 74 72 69 6e 67 3a 3a 4e |--.// TS|tring::N|
|00002660| 65 61 72 6c 79 45 71 75 | 61 6c 3a 20 63 61 73 65 |earlyEqu|al: case|
|00002670| 20 69 6e 73 65 6e 73 69 | 74 69 76 65 2c 20 64 69 | insensi|tive, di|
|00002680| 61 63 72 69 74 69 63 61 | 6c 20 69 6e 73 65 6e 73 |acritica|l insens|
|00002690| 69 74 69 76 65 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |itive.//|--------|
|000026a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000026b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000026c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000026d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000026e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000026f0| 0d 42 6f 6f 6c 65 61 6e | 20 54 53 74 72 69 6e 67 |.Boolean| TString|
|00002700| 3a 3a 4e 65 61 72 6c 79 | 45 71 75 61 6c 28 63 6f |::Nearly|Equal(co|
|00002710| 6e 73 74 20 54 53 74 72 | 69 6e 67 26 20 63 6f 6d |nst TStr|ing& com|
|00002720| 70 61 72 65 57 69 74 68 | 29 20 63 6f 6e 73 74 0d |pareWith|) const.|
|00002730| 7b 0d 09 72 65 74 75 72 | 6e 20 74 68 69 73 2d 3e |{..retur|n this->|
|00002740| 45 71 75 69 76 61 6c 65 | 6e 74 28 63 6f 6d 70 61 |Equivale|nt(compa|
|00002750| 72 65 57 69 74 68 29 3b | 0d 7d 20 2f 2f 20 54 53 |reWith);|.} // TS|
|00002760| 74 72 69 6e 67 3a 3a 4e | 65 61 72 6c 79 45 71 75 |tring::N|earlyEqu|
|00002770| 61 6c 20 0d 0d 2f 2f 2d | 2d 2d 2d 2d 2d 2d 2d 2d |al ..//-|--------|
|00002780| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002790| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000027a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000027b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000027c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|000027d0| 2f 2f 20 54 53 74 72 69 | 6e 67 3a 3a 46 69 6e 64 |// TStri|ng::Find|
|000027e0| 4f 66 66 73 65 74 3a 20 | 0d 2f 2f 2d 2d 2d 2d 2d |Offset: |.//-----|
|000027f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002800| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002810| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002820| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002830| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002840| 2d 2d 2d 0d 53 49 6e 74 | 33 32 20 54 53 74 72 69 |---.SInt|32 TStri|
|00002850| 6e 67 3a 3a 46 69 6e 64 | 4f 66 66 73 65 74 28 63 |ng::Find|Offset(c|
|00002860| 6f 6e 73 74 20 54 53 74 | 72 69 6e 67 26 20 73 65 |onst TSt|ring& se|
|00002870| 61 72 63 68 50 61 74 74 | 65 72 6e 29 20 63 6f 6e |archPatt|ern) con|
|00002880| 73 74 0d 7b 0d 09 53 49 | 6e 74 33 32 09 09 66 6f |st.{..SI|nt32..fo|
|00002890| 75 6e 64 53 74 61 72 74 | 49 6e 64 65 78 20 3d 20 |undStart|Index = |
|000028a0| 6b 53 75 62 73 74 72 69 | 6e 67 4e 6f 74 46 6f 75 |kSubstri|ngNotFou|
|000028b0| 6e 64 3b 0d 09 0d 09 69 | 66 28 73 65 61 72 63 68 |nd;....i|f(search|
|000028c0| 50 61 74 74 65 72 6e 2e | 53 74 72 69 6e 67 4c 65 |Pattern.|StringLe|
|000028d0| 6e 67 74 68 28 29 20 3e | 20 30 29 0d 09 7b 0d 09 |ngth() >| 0)..{..|
|000028e0| 09 2f 2f 0d 09 09 2f 2f | 20 53 65 61 72 63 68 20 |.//...//| Search |
|000028f0| 74 68 72 6f 75 67 68 20 | 74 68 69 73 20 73 74 72 |through |this str|
|00002900| 69 6e 67 20 74 6f 20 73 | 65 65 20 69 66 20 77 65 |ing to s|ee if we|
|00002910| 20 63 61 6e 20 66 69 6e | 64 20 74 68 65 0d 09 09 | can fin|d the...|
|00002920| 2f 2f 20 73 65 61 72 63 | 68 20 70 61 74 74 65 72 |// searc|h patter|
|00002930| 6e 20 61 74 20 61 6e 79 | 20 6f 66 66 73 65 74 2e |n at any| offset.|
|00002940| 0d 09 09 2f 2f 0d 09 09 | 2f 2f 20 53 6b 69 70 20 |...//...|// Skip |
|00002950| 63 6f 6d 70 61 72 69 73 | 6f 6e 73 20 61 74 20 62 |comparis|ons at b|
|00002960| 79 74 65 20 6f 66 66 73 | 65 74 73 20 74 68 61 74 |yte offs|ets that|
|00002970| 20 61 72 65 20 69 6e 20 | 74 68 65 20 6d 69 64 64 | are in |the midd|
|00002980| 6c 65 0d 09 09 2f 2f 20 | 6f 66 20 6d 75 6c 74 69 |le...// |of multi|
|00002990| 2d 62 79 74 65 20 63 68 | 61 72 61 63 74 65 72 73 |-byte ch|aracters|
|000029a0| 2e 0d 09 09 2f 2f 0d 09 | 09 55 49 6e 74 33 32 20 |....//..|.UInt32 |
|000029b0| 62 79 74 65 73 54 6f 43 | 68 65 63 6b 20 3d 20 74 |bytesToC|heck = t|
|000029c0| 68 69 73 2d 3e 53 74 72 | 69 6e 67 4c 65 6e 67 74 |his->Str|ingLengt|
|000029d0| 68 28 29 20 2d 20 73 65 | 61 72 63 68 50 61 74 74 |h() - se|archPatt|
|000029e0| 65 72 6e 2e 53 74 72 69 | 6e 67 4c 65 6e 67 74 68 |ern.Stri|ngLength|
|000029f0| 28 29 3b 0d 09 09 55 49 | 6e 74 33 32 20 63 75 72 |();...UI|nt32 cur|
|00002a00| 72 65 6e 74 50 6f 73 69 | 74 69 6f 6e 20 3d 20 30 |rentPosi|tion = 0|
|00002a10| 3b 0d 09 09 77 68 69 6c | 65 28 28 63 75 72 72 65 |;...whil|e((curre|
|00002a20| 6e 74 50 6f 73 69 74 69 | 6f 6e 20 3c 20 62 79 74 |ntPositi|on < byt|
|00002a30| 65 73 54 6f 43 68 65 63 | 6b 29 20 26 26 20 28 66 |esToChec|k) && (f|
|00002a40| 6f 75 6e 64 53 74 61 72 | 74 49 6e 64 65 78 20 3d |oundStar|tIndex =|
|00002a50| 3d 20 6b 53 75 62 73 74 | 72 69 6e 67 4e 6f 74 46 |= kSubst|ringNotF|
|00002a60| 6f 75 6e 64 29 29 0d 09 | 09 7b 0d 09 09 09 2f 2f |ound))..|.{....//|
|00002a70| 0d 09 09 09 2f 2f 20 49 | 66 20 74 68 69 73 43 68 |....// I|f thisCh|
|00002a80| 61 72 54 79 70 65 20 69 | 73 20 73 6d 53 69 6e 67 |arType i|s smSing|
|00002a90| 6c 65 42 79 74 65 20 6f | 72 20 73 6d 46 69 72 73 |leByte o|r smFirs|
|00002aa0| 74 42 79 74 65 2c 20 74 | 68 65 6e 20 77 65 20 77 |tByte, t|hen we w|
|00002ab0| 61 6e 74 0d 09 09 09 2f | 2f 20 74 6f 20 63 6f 6d |ant..../|/ to com|
|00002ac0| 70 61 72 65 20 61 74 20 | 74 68 69 73 20 70 6f 73 |pare at |this pos|
|00002ad0| 74 69 6f 6e 2e 20 20 49 | 66 20 69 74 20 69 73 20 |tion. I|f it is |
|00002ae0| 73 6d 4c 61 73 74 42 79 | 74 65 20 6f 72 20 73 6d |smLastBy|te or sm|
|00002af0| 4d 69 64 64 6c 65 42 79 | 74 65 2c 0d 09 09 09 2f |MiddleBy|te,..../|
|00002b00| 2f 20 74 68 65 6e 20 73 | 6b 69 70 20 69 74 2e 20 |/ then s|kip it. |
|00002b10| 0d 09 09 09 2f 2f 0d 09 | 09 09 2f 2f 20 43 68 61 |....//..|..// Cha|
|00002b20| 72 61 63 74 65 72 42 79 | 74 65 54 79 70 65 20 72 |racterBy|teType r|
|00002b30| 65 71 75 69 72 65 73 20 | 53 79 73 74 65 6d 20 37 |equires |System 7|
|00002b40| 2e 31 0d 09 09 09 2f 2f | 0d 09 09 09 53 49 6e 74 |.1....//|....SInt|
|00002b50| 31 36 20 74 68 69 73 43 | 68 61 72 54 79 70 65 20 |16 thisC|harType |
|00002b60| 3d 20 43 68 61 72 61 63 | 74 65 72 42 79 74 65 54 |= Charac|terByteT|
|00002b70| 79 70 65 28 28 63 68 61 | 72 2a 29 74 68 69 73 2d |ype((cha|r*)this-|
|00002b80| 3e 54 65 78 74 53 74 61 | 72 74 28 29 2c 20 63 75 |>TextSta|rt(), cu|
|00002b90| 72 72 65 6e 74 50 6f 73 | 69 74 69 6f 6e 2c 20 74 |rrentPos|ition, t|
|00002ba0| 68 69 73 2d 3e 53 74 72 | 69 6e 67 53 63 72 69 70 |his->Str|ingScrip|
|00002bb0| 74 28 29 29 3b 0d 09 09 | 09 69 66 28 28 74 68 69 |t());...|.if((thi|
|00002bc0| 73 43 68 61 72 54 79 70 | 65 20 3d 3d 20 73 6d 46 |sCharTyp|e == smF|
|00002bd0| 69 72 73 74 42 79 74 65 | 29 20 7c 7c 20 28 74 68 |irstByte|) || (th|
|00002be0| 69 73 43 68 61 72 54 79 | 70 65 20 3d 3d 20 73 6d |isCharTy|pe == sm|
|00002bf0| 46 69 72 73 74 42 79 74 | 65 29 29 0d 09 09 09 7b |FirstByt|e))....{|
|00002c00| 0d 09 09 09 09 54 53 74 | 72 69 6e 67 20 73 75 62 |.....TSt|ring sub|
|00002c10| 53 74 72 69 6e 67 28 28 | 75 6e 73 69 67 6e 65 64 |String((|unsigned|
|00002c20| 20 63 68 61 72 2a 29 28 | 74 68 69 73 2d 3e 54 65 | char*)(|this->Te|
|00002c30| 78 74 53 74 61 72 74 28 | 29 20 2b 20 63 75 72 72 |xtStart(|) + curr|
|00002c40| 65 6e 74 50 6f 73 69 74 | 69 6f 6e 29 2c 20 73 65 |entPosit|ion), se|
|00002c50| 61 72 63 68 50 61 74 74 | 65 72 6e 2e 53 74 72 69 |archPatt|ern.Stri|
|00002c60| 6e 67 4c 65 6e 67 74 68 | 28 29 2c 20 73 65 61 72 |ngLength|(), sear|
|00002c70| 63 68 50 61 74 74 65 72 | 6e 2e 53 74 72 69 6e 67 |chPatter|n.String|
|00002c80| 4c 65 6e 67 74 68 28 29 | 2c 20 74 68 69 73 2d 3e |Length()|, this->|
|00002c90| 53 74 72 69 6e 67 53 63 | 72 69 70 74 28 29 2c 20 |StringSc|ript(), |
|00002ca0| 74 68 69 73 2d 3e 53 74 | 72 69 6e 67 4c 61 6e 67 |this->St|ringLang|
|00002cb0| 75 61 67 65 28 29 29 3b | 0d 09 09 09 09 69 66 28 |uage());|.....if(|
|00002cc0| 73 75 62 53 74 72 69 6e | 67 2e 45 71 75 69 76 61 |subStrin|g.Equiva|
|00002cd0| 6c 65 6e 74 28 73 65 61 | 72 63 68 50 61 74 74 65 |lent(sea|rchPatte|
|00002ce0| 72 6e 29 29 0d 09 09 09 | 09 09 66 6f 75 6e 64 53 |rn))....|..foundS|
|00002cf0| 74 61 72 74 49 6e 64 65 | 78 20 3d 20 63 75 72 72 |tartInde|x = curr|
|00002d00| 65 6e 74 50 6f 73 69 74 | 69 6f 6e 3b 0d 09 09 09 |entPosit|ion;....|
|00002d10| 7d 0d 0d 09 09 09 2b 2b | 63 75 72 72 65 6e 74 50 |}.....++|currentP|
|00002d20| 6f 73 69 74 69 6f 6e 3b | 0d 09 09 7d 0d 09 7d 0d |osition;|...}..}.|
|00002d30| 09 0d 09 72 65 74 75 72 | 6e 20 66 6f 75 6e 64 53 |...retur|n foundS|
|00002d40| 74 61 72 74 49 6e 64 65 | 78 3b 0d 7d 20 2f 2f 20 |tartInde|x;.} // |
|00002d50| 54 53 74 72 69 6e 67 3a | 3a 43 6f 6e 74 61 69 6e |TString:|:Contain|
|00002d60| 73 20 0d 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |s ..//--|--------|
|00002d70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002d80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002d90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002da0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002db0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 2f |--------|------./|
|00002dc0| 2f 20 54 53 74 72 69 6e | 67 3a 3a 43 6f 6e 74 61 |/ TStrin|g::Conta|
|00002dd0| 69 6e 73 3a 20 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |ins: .//|--------|
|00002de0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002df0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002e00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002e10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002e20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002e30| 0d 42 6f 6f 6c 65 61 6e | 20 54 53 74 72 69 6e 67 |.Boolean| TString|
|00002e40| 3a 3a 43 6f 6e 74 61 69 | 6e 73 28 63 6f 6e 73 74 |::Contai|ns(const|
|00002e50| 20 54 53 74 72 69 6e 67 | 26 20 73 65 61 72 63 68 | TString|& search|
|00002e60| 50 61 74 74 65 72 6e 29 | 20 63 6f 6e 73 74 0d 7b |Pattern)| const.{|
|00002e70| 0d 09 72 65 74 75 72 6e | 20 74 68 69 73 2d 3e 46 |..return| this->F|
|00002e80| 69 6e 64 4f 66 66 73 65 | 74 28 73 65 61 72 63 68 |indOffse|t(search|
|00002e90| 50 61 74 74 65 72 6e 29 | 20 21 3d 20 6b 53 75 62 |Pattern)| != kSub|
|00002ea0| 73 74 72 69 6e 67 4e 6f | 74 46 6f 75 6e 64 3b 0d |stringNo|tFound;.|
|00002eb0| 7d 20 2f 2f 20 54 53 74 | 72 69 6e 67 3a 3a 43 6f |} // TSt|ring::Co|
|00002ec0| 6e 74 61 69 6e 73 20 0d | 0d 2f 2f 2d 2d 2d 2d 2d |ntains .|.//-----|
|00002ed0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ee0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ef0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002f00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002f10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002f20| 2d 2d 2d 0d 2f 2f 20 54 | 53 74 72 69 6e 67 3a 3a |---.// T|String::|
|00002f30| 44 65 6c 65 74 65 3a 20 | 0d 2f 2f 2d 2d 2d 2d 2d |Delete: |.//-----|
|00002f40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002f50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002f60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002f70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002f80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002f90| 2d 2d 2d 0d 76 6f 69 64 | 20 54 53 74 72 69 6e 67 |---.void| TString|
|00002fa0| 3a 3a 44 65 6c 65 74 65 | 28 55 49 6e 74 33 32 20 |::Delete|(UInt32 |
|00002fb0| 64 65 73 74 53 74 61 72 | 74 49 6e 64 65 78 2c 20 |destStar|tIndex, |
|00002fc0| 55 49 6e 74 33 32 20 64 | 65 73 74 45 6e 64 49 6e |UInt32 d|estEndIn|
|00002fd0| 64 65 78 29 0d 7b 0d 09 | 69 66 28 28 64 65 73 74 |dex).{..|if((dest|
|00002fe0| 53 74 61 72 74 49 6e 64 | 65 78 20 3e 3d 20 30 29 |StartInd|ex >= 0)|
|00002ff0| 20 26 26 20 28 64 65 73 | 74 53 74 61 72 74 49 6e | && (des|tStartIn|
|00003000| 64 65 78 20 3c 20 74 68 | 69 73 2d 3e 53 74 72 69 |dex < th|is->Stri|
|00003010| 6e 67 4c 65 6e 67 74 68 | 28 29 29 20 26 26 20 28 |ngLength|()) && (|
|00003020| 64 65 73 74 45 6e 64 49 | 6e 64 65 78 20 3e 20 64 |destEndI|ndex > d|
|00003030| 65 73 74 53 74 61 72 74 | 49 6e 64 65 78 29 29 0d |estStart|Index)).|
|00003040| 09 7b 0d 09 09 55 49 6e | 74 33 32 20 62 79 74 65 |.{...UIn|t32 byte|
|00003050| 73 54 6f 4d 6f 76 65 20 | 3d 20 74 68 69 73 2d 3e |sToMove |= this->|
|00003060| 53 74 72 69 6e 67 4c 65 | 6e 67 74 68 28 29 20 2d |StringLe|ngth() -|
|00003070| 20 64 65 73 74 45 6e 64 | 49 6e 64 65 78 3b 0d 09 | destEnd|Index;..|
|00003080| 09 0d 09 09 69 66 28 62 | 79 74 65 73 54 6f 4d 6f |....if(b|ytesToMo|
|00003090| 76 65 20 3e 20 30 29 0d | 09 09 7b 0d 09 09 09 43 |ve > 0).|..{....C|
|000030a0| 6f 70 79 4d 65 6d 6f 72 | 79 28 74 68 69 73 2d 3e |opyMemor|y(this->|
|000030b0| 54 65 78 74 53 74 61 72 | 74 28 29 20 2b 20 64 65 |TextStar|t() + de|
|000030c0| 73 74 45 6e 64 49 6e 64 | 65 78 2c 20 74 68 69 73 |stEndInd|ex, this|
|000030d0| 2d 3e 54 65 78 74 53 74 | 61 72 74 28 29 20 2b 20 |->TextSt|art() + |
|000030e0| 64 65 73 74 53 74 61 72 | 74 49 6e 64 65 78 2c 20 |destStar|tIndex, |
|000030f0| 62 79 74 65 73 54 6f 4d | 6f 76 65 29 3b 0d 09 09 |bytesToM|ove);...|
|00003100| 09 74 68 69 73 2d 3e 53 | 65 74 4c 65 6e 67 74 68 |.this->S|etLength|
|00003110| 28 64 65 73 74 53 74 61 | 72 74 49 6e 64 65 78 20 |(destSta|rtIndex |
|00003120| 2b 20 62 79 74 65 73 54 | 6f 4d 6f 76 65 29 3b 0d |+ bytesT|oMove);.|
|00003130| 09 09 7d 0d 09 09 65 6c | 73 65 0d 09 09 7b 0d 09 |..}...el|se...{..|
|00003140| 09 09 74 68 69 73 2d 3e | 53 65 74 4c 65 6e 67 74 |..this->|SetLengt|
|00003150| 68 28 64 65 73 74 53 74 | 61 72 74 49 6e 64 65 78 |h(destSt|artIndex|
|00003160| 29 3b 0d 09 09 7d 0d 09 | 7d 0d 7d 0d 0d 2f 2f 2d |);...}..|}.}..//-|
|00003170| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003180| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003190| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000031a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000031b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000031c0| 2d 2d 2d 2d 2d 2d 2d 0d | 2f 2f 20 54 53 74 72 69 |-------.|// TStri|
|000031d0| 6e 67 3a 3a 45 78 70 61 | 6e 64 54 6f 46 69 74 0d |ng::Expa|ndToFit.|
|000031e0| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|000031f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003200| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003210| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003220| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003230| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 76 6f 69 64 20 |--------|--.void |
|00003240| 54 53 74 72 69 6e 67 3a | 3a 45 78 70 61 6e 64 54 |TString:|:ExpandT|
|00003250| 6f 46 69 74 28 55 49 6e | 74 33 32 20 73 70 61 63 |oFit(UIn|t32 spac|
|00003260| 65 52 65 71 75 69 72 65 | 64 29 0d 7b 0d 09 69 66 |eRequire|d).{..if|
|00003270| 28 66 53 74 6f 72 61 67 | 65 41 6c 6c 6f 63 61 74 |(fStorag|eAllocat|
|00003280| 65 64 49 6e 48 65 61 70 | 20 26 26 20 28 74 68 69 |edInHeap| && (thi|
|00003290| 73 2d 3e 4d 61 78 69 6d | 75 6d 53 69 7a 65 49 6e |s->Maxim|umSizeIn|
|000032a0| 42 79 74 65 73 28 29 20 | 3c 20 73 70 61 63 65 52 |Bytes() |< spaceR|
|000032b0| 65 71 75 69 72 65 64 29 | 29 0d 09 7b 0d 09 09 2f |equired)|)..{.../|
|000032c0| 2f 0d 09 09 2f 2f 20 52 | 6f 75 6e 64 20 75 70 20 |/...// R|ound up |
|000032d0| 74 68 65 20 73 69 7a 65 | 20 74 6f 20 74 68 65 20 |the size| to the |
|000032e0| 6e 65 78 74 20 65 76 65 | 6e 20 6d 75 6c 74 69 70 |next eve|n multip|
|000032f0| 6c 65 20 6f 66 20 27 6b | 53 74 72 69 6e 67 41 6c |le of 'k|StringAl|
|00003300| 6c 6f 63 61 74 69 6f 6e | 43 68 75 6e 6b 27 0d 09 |location|Chunk'..|
|00003310| 09 2f 2f 0d 09 09 55 49 | 6e 74 33 32 20 6e 65 77 |.//...UI|nt32 new|
|00003320| 41 6c 6c 6f 63 61 74 69 | 6f 6e 53 69 7a 65 20 3d |Allocati|onSize =|
|00003330| 20 28 28 28 28 73 70 61 | 63 65 52 65 71 75 69 72 | ((((spa|ceRequir|
|00003340| 65 64 20 2b 20 6b 53 74 | 72 69 6e 67 41 6c 6c 6f |ed + kSt|ringAllo|
|00003350| 63 61 74 69 6f 6e 43 68 | 75 6e 6b 20 2d 20 31 29 |cationCh|unk - 1)|
|00003360| 20 2f 20 6b 53 74 72 69 | 6e 67 41 6c 6c 6f 63 61 | / kStri|ngAlloca|
|00003370| 74 69 6f 6e 43 68 75 6e | 6b 29 29 20 2a 20 6b 53 |tionChun|k)) * kS|
|00003380| 74 72 69 6e 67 41 6c 6c | 6f 63 61 74 69 6f 6e 43 |tringAll|ocationC|
|00003390| 68 75 6e 6b 29 3b 0d 09 | 09 75 6e 73 69 67 6e 65 |hunk);..|.unsigne|
|000033a0| 64 20 63 68 61 72 2a 20 | 6e 65 77 53 74 72 69 6e |d char* |newStrin|
|000033b0| 67 53 74 6f 72 61 67 65 | 20 3d 20 6e 65 77 20 75 |gStorage| = new u|
|000033c0| 6e 73 69 67 6e 65 64 20 | 63 68 61 72 5b 6e 65 77 |nsigned |char[new|
|000033d0| 41 6c 6c 6f 63 61 74 69 | 6f 6e 53 69 7a 65 5d 3b |Allocati|onSize];|
|000033e0| 0d 09 09 0d 09 09 43 6f | 70 79 4d 65 6d 6f 72 79 |......Co|pyMemory|
|000033f0| 28 26 66 53 74 72 5b 30 | 5d 2c 20 6e 65 77 53 74 |(&fStr[0|], newSt|
|00003400| 72 69 6e 67 53 74 6f 72 | 61 67 65 2c 20 74 68 69 |ringStor|age, thi|
|00003410| 73 2d 3e 53 69 7a 65 49 | 6e 42 79 74 65 73 28 29 |s->SizeI|nBytes()|
|00003420| 29 3b 0d 09 09 64 65 6c | 65 74 65 20 66 53 74 72 |);...del|ete fStr|
|00003430| 3b 0d 09 09 66 53 74 72 | 20 3d 20 6e 65 77 53 74 |;...fStr| = newSt|
|00003440| 72 69 6e 67 53 74 6f 72 | 61 67 65 3b 0d 09 09 66 |ringStor|age;...f|
|00003450| 4d 61 78 69 6d 75 6d 53 | 69 7a 65 49 6e 42 79 74 |MaximumS|izeInByt|
|00003460| 65 73 20 3d 20 6e 65 77 | 41 6c 6c 6f 63 61 74 69 |es = new|Allocati|
|00003470| 6f 6e 53 69 7a 65 3b 0d | 09 7d 0d 7d 0d 0d 2f 2f |onSize;.|.}.}..//|
|00003480| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003490| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000034a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000034b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000034c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000034d0| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 2f 2f 20 54 53 74 72 |--------|.// TStr|
|000034e0| 69 6e 67 3a 3a 49 6e 73 | 65 72 74 41 66 74 65 72 |ing::Ins|ertAfter|
|000034f0| 3a 20 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |: .//---|--------|
|00003500| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003510| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003520| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003530| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003540| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 42 6f |--------|-----.Bo|
|00003550| 6f 6c 65 61 6e 20 54 53 | 74 72 69 6e 67 3a 3a 49 |olean TS|tring::I|
|00003560| 6e 73 65 72 74 41 66 74 | 65 72 28 55 49 6e 74 33 |nsertAft|er(UInt3|
|00003570| 32 20 64 65 73 74 53 74 | 61 72 74 49 6e 64 65 78 |2 destSt|artIndex|
|00003580| 2c 20 63 6f 6e 73 74 20 | 54 53 74 72 69 6e 67 26 |, const |TString&|
|00003590| 20 72 65 70 6c 61 63 65 | 57 69 74 68 29 0d 7b 0d | replace|With).{.|
|000035a0| 09 55 49 6e 74 33 32 20 | 62 79 74 65 73 54 6f 49 |.UInt32 |bytesToI|
|000035b0| 6e 73 65 72 74 20 3d 20 | 72 65 70 6c 61 63 65 57 |nsert = |replaceW|
|000035c0| 69 74 68 2e 53 74 72 69 | 6e 67 4c 65 6e 67 74 68 |ith.Stri|ngLength|
|000035d0| 28 29 3b 0d 09 42 6f 6f | 6c 65 61 6e 20 69 6e 73 |();..Boo|lean ins|
|000035e0| 65 72 74 69 6f 6e 46 69 | 74 20 3d 20 74 72 75 65 |ertionFi|t = true|
|000035f0| 3b 0d 09 0d 09 69 66 28 | 28 64 65 73 74 53 74 61 |;....if(|(destSta|
|00003600| 72 74 49 6e 64 65 78 20 | 3e 3d 20 30 29 20 26 26 |rtIndex |>= 0) &&|
|00003610| 20 28 62 79 74 65 73 54 | 6f 49 6e 73 65 72 74 20 | (bytesT|oInsert |
|00003620| 3e 20 30 29 29 0d 09 7b | 0d 09 09 2f 2f 0d 09 09 |> 0))..{|...//...|
|00003630| 2f 2f 20 4d 61 6b 65 20 | 72 6f 6f 6d 20 66 6f 72 |// Make |room for|
|00003640| 20 74 68 65 20 69 6e 73 | 65 72 74 2c 20 69 66 20 | the ins|ert, if |
|00003650| 70 6f 73 73 69 62 6c 65 | 2e 20 20 49 66 20 74 68 |possible|. If th|
|00003660| 65 72 65 0d 09 09 2f 2f | 20 69 73 6e 27 74 20 65 |ere...//| isn't e|
|00003670| 6e 6f 75 67 68 20 73 70 | 61 63 65 2c 20 74 68 65 |nough sp|ace, the|
|00003680| 6e 20 74 72 75 6e 63 61 | 74 65 0d 09 09 2f 2f 09 |n trunca|te...//.|
|00003690| 0d 09 09 74 68 69 73 2d | 3e 45 78 70 61 6e 64 54 |...this-|>ExpandT|
|000036a0| 6f 46 69 74 28 74 68 69 | 73 2d 3e 53 74 72 69 6e |oFit(thi|s->Strin|
|000036b0| 67 4c 65 6e 67 74 68 28 | 29 20 2b 20 62 79 74 65 |gLength(|) + byte|
|000036c0| 73 54 6f 49 6e 73 65 72 | 74 29 3b 0d 09 09 53 49 |sToInser|t);...SI|
|000036d0| 6e 74 33 32 20 6f 76 65 | 72 66 6c 6f 77 41 6d 6f |nt32 ove|rflowAmo|
|000036e0| 75 6e 74 20 3d 20 28 74 | 68 69 73 2d 3e 53 74 72 |unt = (t|his->Str|
|000036f0| 69 6e 67 4c 65 6e 67 74 | 68 28 29 20 2b 20 62 79 |ingLengt|h() + by|
|00003700| 74 65 73 54 6f 49 6e 73 | 65 72 74 20 2b 20 31 29 |tesToIns|ert + 1)|
|00003710| 20 2d 20 74 68 69 73 2d | 3e 4d 61 78 69 6d 75 6d | - this-|>Maximum|
|00003720| 53 69 7a 65 49 6e 42 79 | 74 65 73 28 29 3b 0d 09 |SizeInBy|tes();..|
|00003730| 09 69 66 28 6f 76 65 72 | 66 6c 6f 77 41 6d 6f 75 |.if(over|flowAmou|
|00003740| 6e 74 20 3e 20 30 29 0d | 09 09 7b 0d 09 09 09 69 |nt > 0).|..{....i|
|00003750| 6e 73 65 72 74 69 6f 6e | 46 69 74 20 3d 20 66 61 |nsertion|Fit = fa|
|00003760| 6c 73 65 3b 0d 09 09 09 | 53 49 6e 74 33 32 20 6e |lse;....|SInt32 n|
|00003770| 65 77 4c 65 6e 67 74 68 | 20 3d 20 74 68 69 73 2d |ewLength| = this-|
|00003780| 3e 53 74 72 69 6e 67 4c | 65 6e 67 74 68 28 29 20 |>StringL|ength() |
|00003790| 2d 20 6f 76 65 72 66 6c | 6f 77 41 6d 6f 75 6e 74 |- overfl|owAmount|
|000037a0| 3b 0d 09 09 09 69 66 28 | 6e 65 77 4c 65 6e 67 74 |;....if(|newLengt|
|000037b0| 68 20 3c 20 64 65 73 74 | 53 74 61 72 74 49 6e 64 |h < dest|StartInd|
|000037c0| 65 78 29 0d 09 09 09 09 | 6e 65 77 4c 65 6e 67 74 |ex).....|newLengt|
|000037d0| 68 20 3d 20 64 65 73 74 | 53 74 61 72 74 49 6e 64 |h = dest|StartInd|
|000037e0| 65 78 3b 0d 09 09 09 6f | 76 65 72 66 6c 6f 77 41 |ex;....o|verflowA|
|000037f0| 6d 6f 75 6e 74 20 2d 3d | 20 28 74 68 69 73 2d 3e |mount -=| (this->|
|00003800| 53 74 72 69 6e 67 4c 65 | 6e 67 74 68 28 29 20 2d |StringLe|ngth() -|
|00003810| 20 6e 65 77 4c 65 6e 67 | 74 68 29 3b 0d 09 09 09 | newLeng|th);....|
|00003820| 74 68 69 73 2d 3e 53 65 | 74 4c 65 6e 67 74 68 28 |this->Se|tLength(|
|00003830| 6e 65 77 4c 65 6e 67 74 | 68 29 3b 0d 09 09 09 62 |newLengt|h);....b|
|00003840| 79 74 65 73 54 6f 49 6e | 73 65 72 74 20 2d 3d 20 |ytesToIn|sert -= |
|00003850| 6f 76 65 72 66 6c 6f 77 | 41 6d 6f 75 6e 74 3b 0d |overflow|Amount;.|
|00003860| 09 09 7d 0d 09 09 0d 09 | 09 69 66 28 62 79 74 65 |..}.....|.if(byte|
|00003870| 73 54 6f 49 6e 73 65 72 | 74 20 3e 20 30 29 0d 09 |sToInser|t > 0)..|
|00003880| 09 7b 0d 09 09 09 2f 2f | 0d 09 09 09 2f 2f 20 43 |.{....//|....// C|
|00003890| 61 6c 63 75 6c 61 74 65 | 20 68 6f 77 20 6d 61 6e |alculate| how man|
|000038a0| 79 20 62 79 74 65 73 20 | 77 65 20 6e 65 65 64 20 |y bytes |we need |
|000038b0| 74 6f 20 63 6f 70 79 20 | 61 66 74 65 72 20 74 68 |to copy |after th|
|000038c0| 65 0d 09 09 09 2f 2f 20 | 73 74 61 72 74 69 6e 67 |e....// |starting|
|000038d0| 20 69 6e 64 65 78 20 69 | 6e 20 6f 72 64 65 72 20 | index i|n order |
|000038e0| 74 6f 20 6d 61 6b 65 20 | 72 6f 6f 6d 20 66 6f 72 |to make |room for|
|000038f0| 20 74 68 65 20 69 6e 73 | 65 72 74 69 6f 6e 2e 0d | the ins|ertion..|
|00003900| 09 09 09 2f 2f 0d 09 09 | 09 69 66 28 64 65 73 74 |...//...|.if(dest|
|00003910| 53 74 61 72 74 49 6e 64 | 65 78 20 3e 20 74 68 69 |StartInd|ex > thi|
|00003920| 73 2d 3e 53 74 72 69 6e | 67 4c 65 6e 67 74 68 28 |s->Strin|gLength(|
|00003930| 29 29 0d 09 09 09 09 64 | 65 73 74 53 74 61 72 74 |)).....d|estStart|
|00003940| 49 6e 64 65 78 20 3d 20 | 74 68 69 73 2d 3e 53 74 |Index = |this->St|
|00003950| 72 69 6e 67 4c 65 6e 67 | 74 68 28 29 3b 0d 09 09 |ringLeng|th();...|
|00003960| 09 55 49 6e 74 33 32 20 | 62 79 74 65 73 54 6f 4d |.UInt32 |bytesToM|
|00003970| 6f 76 65 20 3d 20 74 68 | 69 73 2d 3e 53 74 72 69 |ove = th|is->Stri|
|00003980| 6e 67 4c 65 6e 67 74 68 | 28 29 20 2d 20 64 65 73 |ngLength|() - des|
|00003990| 74 53 74 61 72 74 49 6e | 64 65 78 3b 0d 09 09 09 |tStartIn|dex;....|
|000039a0| 0d 09 09 09 69 66 28 62 | 79 74 65 73 54 6f 4d 6f |....if(b|ytesToMo|
|000039b0| 76 65 20 3e 20 30 29 0d | 09 09 09 09 43 6f 70 79 |ve > 0).|....Copy|
|000039c0| 4d 65 6d 6f 72 79 28 74 | 68 69 73 2d 3e 54 65 78 |Memory(t|his->Tex|
|000039d0| 74 53 74 61 72 74 28 29 | 20 2b 20 64 65 73 74 53 |tStart()| + destS|
|000039e0| 74 61 72 74 49 6e 64 65 | 78 2c 20 74 68 69 73 2d |tartInde|x, this-|
|000039f0| 3e 54 65 78 74 53 74 61 | 72 74 28 29 20 2b 20 64 |>TextSta|rt() + d|
|00003a00| 65 73 74 53 74 61 72 74 | 49 6e 64 65 78 20 2b 20 |estStart|Index + |
|00003a10| 62 79 74 65 73 54 6f 49 | 6e 73 65 72 74 2c 20 62 |bytesToI|nsert, b|
|00003a20| 79 74 65 73 54 6f 4d 6f | 76 65 29 3b 0d 09 09 09 |ytesToMo|ve);....|
|00003a30| 43 6f 70 79 4d 65 6d 6f | 72 79 28 72 65 70 6c 61 |CopyMemo|ry(repla|
|00003a40| 63 65 57 69 74 68 2e 54 | 65 78 74 53 74 61 72 74 |ceWith.T|extStart|
|00003a50| 28 29 2c 20 74 68 69 73 | 2d 3e 54 65 78 74 53 74 |(), this|->TextSt|
|00003a60| 61 72 74 28 29 20 2b 20 | 64 65 73 74 53 74 61 72 |art() + |destStar|
|00003a70| 74 49 6e 64 65 78 2c 20 | 62 79 74 65 73 54 6f 49 |tIndex, |bytesToI|
|00003a80| 6e 73 65 72 74 29 3b 0d | 09 09 09 0d 09 09 09 74 |nsert);.|.......t|
|00003a90| 68 69 73 2d 3e 53 65 74 | 4c 65 6e 67 74 68 28 74 |his->Set|Length(t|
|00003aa0| 68 69 73 2d 3e 53 74 72 | 69 6e 67 4c 65 6e 67 74 |his->Str|ingLengt|
|00003ab0| 68 28 29 20 2b 20 62 79 | 74 65 73 54 6f 49 6e 73 |h() + by|tesToIns|
|00003ac0| 65 72 74 29 3b 0d 09 09 | 09 0d 09 09 09 2f 2f 0d |ert);...|.....//.|
|00003ad0| 09 09 09 2f 2f 20 41 6e | 79 20 74 69 6d 65 20 79 |...// An|y time y|
|00003ae0| 6f 75 20 72 65 70 6c 61 | 63 65 20 73 6f 6d 65 20 |ou repla|ce some |
|00003af0| 74 65 78 74 20 69 6e 20 | 61 20 73 74 72 69 6e 67 |text in |a string|
|00003b00| 2c 20 74 68 65 20 65 6e | 74 69 72 65 0d 09 09 09 |, the en|tire....|
|00003b10| 2f 2f 20 73 63 72 69 70 | 74 20 61 6e 64 20 6c 61 |// scrip|t and la|
|00003b20| 6e 67 75 61 67 65 20 6f | 66 20 74 68 65 20 64 65 |nguage o|f the de|
|00003b30| 73 74 69 6e 61 74 69 6f | 6e 20 73 74 72 69 6e 67 |stinatio|n string|
|00003b40| 20 74 61 6b 65 73 0d 09 | 09 09 2f 2f 20 6f 6e 20 | takes..|..// on |
|00003b50| 74 68 65 20 73 63 72 69 | 70 74 20 61 6e 64 20 6c |the scri|pt and l|
|00003b60| 61 6e 67 75 61 67 65 20 | 6f 66 20 74 68 65 20 69 |anguage |of the i|
|00003b70| 6e 73 65 72 74 65 64 20 | 74 65 78 74 2e 0d 09 09 |nserted |text....|
|00003b80| 09 2f 2f 0d 09 09 09 2f | 2f 20 53 75 63 68 20 69 |.//..../|/ Such i|
|00003b90| 73 20 74 68 65 20 6c 69 | 66 65 20 6f 66 20 73 69 |s the li|fe of si|
|00003ba0| 6e 67 6c 65 2d 73 63 72 | 69 70 74 20 73 74 72 69 |ngle-scr|ipt stri|
|00003bb0| 6e 67 73 2e 20 20 3a 3c | 0d 09 09 09 2f 2f 0d 09 |ngs. :<|....//..|
|00003bc0| 09 09 66 53 74 72 69 6e | 67 53 63 72 69 70 74 20 |..fStrin|gScript |
|00003bd0| 3d 20 72 65 70 6c 61 63 | 65 57 69 74 68 2e 53 74 |= replac|eWith.St|
|00003be0| 72 69 6e 67 53 63 72 69 | 70 74 28 29 3b 0d 09 09 |ringScri|pt();...|
|00003bf0| 09 66 53 74 72 69 6e 67 | 4c 61 6e 67 75 61 67 65 |.fString|Language|
|00003c00| 20 3d 20 72 65 70 6c 61 | 63 65 57 69 74 68 2e 53 | = repla|ceWith.S|
|00003c10| 74 72 69 6e 67 4c 61 6e | 67 75 61 67 65 28 29 3b |tringLan|guage();|
|00003c20| 0d 09 09 7d 0d 09 7d 0d | 09 0d 09 72 65 74 75 72 |...}..}.|...retur|
|00003c30| 6e 20 69 6e 73 65 72 74 | 69 6f 6e 46 69 74 3b 0d |n insert|ionFit;.|
|00003c40| 7d 0d 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |}..//---|--------|
|00003c50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003c60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003c70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003c80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003c90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 2f 2f |--------|-----.//|
|00003ca0| 20 54 53 74 72 69 6e 67 | 3a 3a 52 65 70 6c 61 63 | TString|::Replac|
|00003cb0| 65 3a 20 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |e: .//--|--------|
|00003cc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003cd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ce0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003cf0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003d00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 76 |--------|------.v|
|00003d10| 6f 69 64 20 54 53 74 72 | 69 6e 67 3a 3a 52 65 70 |oid TStr|ing::Rep|
|00003d20| 6c 61 63 65 28 55 49 6e | 74 33 32 20 64 65 73 74 |lace(UIn|t32 dest|
|00003d30| 53 74 61 72 74 49 6e 64 | 65 78 2c 20 55 49 6e 74 |StartInd|ex, UInt|
|00003d40| 33 32 20 64 65 73 74 45 | 6e 64 49 6e 64 65 78 2c |32 destE|ndIndex,|
|00003d50| 20 63 6f 6e 73 74 20 54 | 53 74 72 69 6e 67 26 20 | const T|String& |
|00003d60| 72 65 70 6c 61 63 65 57 | 69 74 68 29 0d 7b 0d 09 |replaceW|ith).{..|
|00003d70| 74 68 69 73 2d 3e 44 65 | 6c 65 74 65 28 64 65 73 |this->De|lete(des|
|00003d80| 74 53 74 61 72 74 49 6e | 64 65 78 2c 20 64 65 73 |tStartIn|dex, des|
|00003d90| 74 45 6e 64 49 6e 64 65 | 78 29 3b 0d 09 74 68 69 |tEndInde|x);..thi|
|00003da0| 73 2d 3e 49 6e 73 65 72 | 74 41 66 74 65 72 28 64 |s->Inser|tAfter(d|
|00003db0| 65 73 74 53 74 61 72 74 | 49 6e 64 65 78 2c 20 72 |estStart|Index, r|
|00003dc0| 65 70 6c 61 63 65 57 69 | 74 68 29 3b 0d 7d 20 2f |eplaceWi|th);.} /|
|00003dd0| 2f 20 54 53 74 72 69 6e | 67 3a 3a 52 65 70 6c 61 |/ TStrin|g::Repla|
|00003de0| 63 65 20 0d 0d 2f 2f 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ce ..//-|--------|
|00003df0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00003e40| 2f 2f 20 54 53 74 72 69 | 6e 67 3a 3a 41 70 70 65 |// TStri|ng::Appe|
|00003e50| 6e 64 3a 20 0d 2f 2f 2d | 2d 2d 2d 2d 2d 2d 2d 2d |nd: .//-|--------|
|00003e60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ea0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00003eb0| 76 6f 69 64 20 54 53 74 | 72 69 6e 67 3a 3a 41 70 |void TSt|ring::Ap|
|00003ec0| 70 65 6e 64 28 63 6f 6e | 73 74 20 54 53 74 72 69 |pend(con|st TStri|
|00003ed0| 6e 67 26 20 61 70 70 65 | 6e 64 53 74 72 69 6e 67 |ng& appe|ndString|
|00003ee0| 29 0d 7b 0d 09 74 68 69 | 73 2d 3e 49 6e 73 65 72 |).{..thi|s->Inser|
|00003ef0| 74 41 66 74 65 72 28 6b | 53 74 72 69 6e 67 45 6e |tAfter(k|StringEn|
|00003f00| 64 2c 20 61 70 70 65 6e | 64 53 74 72 69 6e 67 29 |d, appen|dString)|
|00003f10| 3b 0d 7d 20 2f 2f 20 54 | 53 74 72 69 6e 67 3a 3a |;.} // T|String::|
|00003f20| 41 70 70 65 6e 64 20 0d | 0d 2f 2f 2d 2d 2d 2d 2d |Append .|.//-----|
|00003f30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f80| 2d 2d 2d 0d 2f 2f 20 54 | 53 74 72 69 6e 67 3a 3a |---.// T|String::|
|00003f90| 50 72 65 66 69 78 3a 20 | 0d 2f 2f 2d 2d 2d 2d 2d |Prefix: |.//-----|
|00003fa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003fb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003fc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003fd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003fe0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ff0| 2d 2d 2d 0d 76 6f 69 64 | 20 54 53 74 72 69 6e 67 |---.void| TString|
|00004000| 3a 3a 50 72 65 66 69 78 | 28 63 6f 6e 73 74 20 54 |::Prefix|(const T|
|00004010| 53 74 72 69 6e 67 26 20 | 70 72 65 66 69 78 53 74 |String& |prefixSt|
|00004020| 72 69 6e 67 29 0d 7b 0d | 09 74 68 69 73 2d 3e 49 |ring).{.|.this->I|
|00004030| 6e 73 65 72 74 41 66 74 | 65 72 28 6b 53 74 72 69 |nsertAft|er(kStri|
|00004040| 6e 67 53 74 61 72 74 2c | 20 70 72 65 66 69 78 53 |ngStart,| prefixS|
|00004050| 74 72 69 6e 67 29 3b 0d | 7d 20 2f 2f 20 54 53 74 |tring);.|} // TSt|
|00004060| 72 69 6e 67 3a 3a 50 72 | 65 66 69 78 20 0d 0d 2f |ring::Pr|efix ../|
|00004070| 2f 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/-------|--------|
|00004080| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004090| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000040a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000040b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000040c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 2f 2f 20 54 53 74 |--------|-.// TSt|
|000040d0| 72 69 6e 67 3a 3a 43 6f | 6e 76 65 72 74 54 6f 53 |ring::Co|nvertToS|
|000040e0| 74 72 32 35 35 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |tr255.//|--------|
|000040f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004100| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004110| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004120| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004130| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004140| 0d 76 6f 69 64 20 54 53 | 74 72 69 6e 67 3a 3a 43 |.void TS|tring::C|
|00004150| 6f 6e 76 65 72 74 54 6f | 53 74 72 32 35 35 28 53 |onvertTo|Str255(S|
|00004160| 74 72 32 35 35 20 64 65 | 73 74 69 6e 61 74 69 6f |tr255 de|stinatio|
|00004170| 6e 29 0d 7b 0d 09 54 53 | 74 72 69 6e 67 20 6f 75 |n).{..TS|tring ou|
|00004180| 74 70 75 74 53 74 72 69 | 6e 67 28 64 65 73 74 69 |tputStri|ng(desti|
|00004190| 6e 61 74 69 6f 6e 2c 20 | 32 35 35 29 3b 0d 0d 09 |nation, |255);...|
|000041a0| 6f 75 74 70 75 74 53 74 | 72 69 6e 67 20 3d 20 2a |outputSt|ring = *|
|000041b0| 74 68 69 73 3b 0d 7d 0d | 0d 2f 2f 3d 3d 3d 3d 3d |this;.}.|.//=====|
|000041c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000041d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000041e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000041f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004200| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004210| 3d 3d 3d 0d 2f 2f 20 43 | 4c 41 53 53 20 54 53 74 |===.// C|LASS TSt|
|00004220| 61 63 6b 42 61 73 65 64 | 53 74 72 69 6e 67 0d 2f |ackBased|String./|
|00004230| 2f 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |/=======|========|
|00004240| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004250| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004260| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004270| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004280| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 0d 54 53 74 61 63 |========|=..TStac|
|00004290| 6b 42 61 73 65 64 53 74 | 72 69 6e 67 3a 3a 54 53 |kBasedSt|ring::TS|
|000042a0| 74 61 63 6b 42 61 73 65 | 64 53 74 72 69 6e 67 28 |tackBase|dString(|
|000042b0| 63 6f 6e 73 74 20 54 53 | 74 72 69 6e 67 26 20 73 |const TS|tring& s|
|000042c0| 6f 75 72 63 65 53 74 72 | 29 20 3a 20 54 53 74 72 |ourceStr|) : TStr|
|000042d0| 69 6e 67 28 66 53 74 72 | 69 6e 67 53 74 6f 72 61 |ing(fStr|ingStora|
|000042e0| 67 65 2c 20 6b 53 74 61 | 63 6b 42 61 73 65 64 53 |ge, kSta|ckBasedS|
|000042f0| 74 72 69 6e 67 53 74 6f | 72 61 67 65 55 6e 69 74 |tringSto|rageUnit|
|00004300| 73 20 2a 20 73 69 7a 65 | 6f 66 28 75 6e 73 69 67 |s * size|of(unsig|
|00004310| 6e 65 64 20 63 68 61 72 | 29 29 0d 7b 0d 09 2a 74 |ned char|)).{..*t|
|00004320| 68 69 73 20 3d 20 73 6f | 75 72 63 65 53 74 72 3b |his = so|urceStr;|
|00004330| 0d 7d 0d 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.}......|........|
|00004340| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004350| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004360| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004370| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004380| 00 00 01 00 00 00 01 54 | 00 00 00 54 00 00 00 46 |.......T|...T...F|
|00004390| 74 61 74 75 73 2a 29 3b | 0d 70 61 73 63 61 6c 20 |tatus*);|.pascal |
|000043a0| 4f 53 53 74 61 74 75 73 | 09 09 4f 54 41 73 79 6e |OSStatus|..OTAsyn|
|000043b0| 0e 4d 6f 72 65 53 74 72 | 69 6e 67 73 2e 63 70 6e |.MoreStr|ings.cpn|
|000043c0| 02 00 00 00 54 45 58 54 | 43 57 49 45 01 00 00 00 |....TEXT|CWIE....|
|000043d0| 00 00 54 45 58 54 43 57 | 49 45 01 00 00 00 00 00 |..TEXTCW|IE......|
|000043e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000043f0| 00 00 ad 2c 13 6c 00 00 | 42 b3 00 00 01 9a 6f 6e |...,.l..|B.....on|
|00004400| 74 65 78 74 50 74 72 29 | 3b 0d 70 61 73 63 61 6c |textPtr)|;.pascal|
|00004410| 20 4f 54 52 65 73 75 6c | 74 09 09 4f 54 53 74 72 | OTResul|t..OTStr|
|00004420| 65 61 6d 50 6f 6c 6c 28 | 50 6f 6c 6c 52 65 66 2a |eamPoll(|PollRef*|
|00004430| 20 66 64 73 2c 20 55 49 | 6e 74 33 32 20 6e 66 64 | fds, UI|nt32 nfd|
|00004440| 73 2c 20 4f 54 54 69 6d | 65 6f 75 74 20 74 69 6d |s, OTTim|eout tim|
|00004450| 65 6f 75 74 29 3b 0d 70 | 61 73 63 61 6c 20 4f 54 |eout);.p|ascal OT|
|00004460| 52 65 73 75 6c 74 09 09 | 4f 54 41 73 79 6e 63 53 |Result..|OTAsyncS|
|00004470| 74 72 65 61 6d 50 6f 6c | 6c 28 50 6f 6c 6c 52 65 |treamPol|l(PollRe|
|00004480| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....|
|00004490| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000044a0| 00 00 00 00 00 00 00 03 | 00 04 ff d1 04 2d 02 c5 |........|.....-..|
|000044b0| 07 9f ff d1 04 2d 02 c5 | 07 9f ad 3f 90 7d 00 00 |.....-..|...?.}..|
|000044c0| 42 b3 00 00 42 b3 00 00 | 39 38 01 00 00 00 00 04 |B...B...|98......|
|000044d0| 00 01 00 01 00 00 01 00 | 00 00 01 54 00 00 00 54 |........|...T...T|
|000044e0| 00 00 00 46 02 9b 35 e8 | 26 90 00 00 00 1c 00 46 |...F..5.|&......F|
|000044f0| 00 01 4d 50 53 52 00 00 | 00 12 4d 57 42 42 00 00 |..MPSR..|..MWBB..|
|00004500| 00 1e 03 ed ff ff 00 00 | 00 00 00 00 00 00 03 f0 |........|........|
|00004510| ff ff 00 00 00 4c 00 00 | 00 00 00 00 00 00 00 00 |.....L..|........|
|00004520| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004530| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004540| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004550| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004560| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004570| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+