home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1986-02-20 | 14.0 KB | [ TEXT/EDIT]
open in: MacOS 8.1
extracted
|
Win98
extracted
|
DOS
extracted
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary ).
id metadata key value macFileType [ TEXT] macFileCreator [ EDIT]
hex view +--------+-------------------------+-------------------------+--------+--------+ |00000000| 00 0b 4d 57 49 6e 64 65 | 78 2e 52 61 73 00 00 00 |..MWInde|x.Ras...| |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 45 44 49 | 54 01 00 00 00 00 00 00 |.TEXTEDI|T.......| |00000050| 00 00 00 00 00 35 59 00 | 00 01 ea 9a 81 03 7c 9a |.....5Y.|......|.| |00000060| 81 03 7c 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |..|.....|........| |00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 10 83 00 00 |........|........| |00000080| 0d 0d 50 72 6f 67 72 61 | 6d 20 49 6e 64 65 78 3b |..Progra|m Index;| |00000090| 0d 0d 28 2a 20 49 6e 64 | 65 78 2e 0d 20 20 20 20 |..(* Ind|ex.. | |000000a0| 42 79 20 53 63 6f 74 74 | 20 47 69 6c 6c 65 73 70 |By Scott| Gillesp| |000000b0| 69 65 20 40 52 65 65 64 | 20 43 6f 6c 6c 65 67 65 |ie @Reed| College| |000000c0| 2e 20 20 50 72 6f 67 72 | 61 6d 20 74 6f 20 69 6e |. Progr|am to in| |000000d0| 64 65 78 20 4d 61 63 57 | 72 69 74 65 20 34 2e 35 |dex MacW|rite 4.5| |000000e0| 0d 20 20 20 20 20 20 20 | 66 69 6c 65 73 20 2a 29 |. |files *)| |000000f0| 0d 0d 28 2a 20 41 6c 6c | 20 6f 66 20 74 68 65 20 |..(* All| of the | |00000100| 6c 69 62 72 61 72 69 65 | 73 20 62 65 6c 6f 77 20 |librarie|s below | |00000110| 61 72 65 20 73 74 61 6e | 64 61 72 64 20 52 61 73 |are stan|dard Ras| |00000120| 63 61 6c 20 6c 69 62 72 | 61 72 69 65 73 20 2a 29 |cal libr|aries *)| |00000130| 0d 0d 55 73 65 73 20 5f | 5f 54 6f 6f 6c 54 72 61 |..Uses _|_ToolTra| |00000140| 70 73 2c 0d 20 20 20 20 | 20 5f 5f 4f 53 54 72 61 |ps,. | __OSTra| |00000150| 70 73 2c 0d 20 20 20 20 | 20 5f 5f 45 61 73 79 45 |ps,. | __EasyE| |00000160| 44 2c 0d 28 2a 24 55 2b | 2a 29 0d 20 20 20 20 20 |D,.(*$U+|*). | |00000170| 75 54 6f 6f 6c 49 6e 74 | 66 2c 0d 20 20 20 20 20 |uToolInt|f,. | |00000180| 75 4f 53 49 6e 74 66 20 | 3b 0d 0d 0d 4c 69 6e 6b |uOSIntf |;...Link| |00000190| 20 5f 5f 48 65 6c 70 2c | 20 5f 5f 45 78 74 65 6e | __Help,| __Exten| |000001a0| 64 69 6f 2c 20 5f 5f 55 | 6e 69 66 6f 72 6d 2c 20 |dio, __U|niform, | |000001b0| 5f 5f 45 61 73 79 4d 65 | 6e 75 73 2c 5f 5f 53 46 |__EasyMe|nus,__SF| |000001c0| 4e 61 6d 65 73 2c 0d 20 | 20 20 20 20 5f 5f 45 61 |Names,. | __Ea| |000001d0| 73 79 45 44 2c 20 5f 5f | 4f 53 54 72 61 70 73 2c |syED, __|OSTraps,| |000001e0| 20 5f 5f 45 78 74 72 61 | 73 2c 20 5f 5f 49 4f 20 | __Extra|s, __IO | |000001f0| 3b 0d 0d 45 76 65 6e 74 | 4d 61 73 6b 20 20 33 36 |;..Event|Mask 36| |00000200| 32 3b 20 28 2a 32 2b 38 | 2b 33 32 2b 36 34 2b 32 |2; (*2+8|+32+64+2| |00000210| 35 36 20 6d 64 6f 77 6e | 2c 20 6b 64 6f 77 6e 2c |56 mdown|, kdown,| |00000220| 20 61 75 74 6f 2c 20 75 | 70 64 61 74 65 2c 20 61 | auto, u|pdate, a| |00000230| 63 74 69 76 61 74 65 20 | 2a 29 0d 0d 43 6f 6e 73 |ctivate |*)..Cons| |00000240| 74 0d 20 20 44 6f 63 4d | 65 6e 75 20 3d 20 31 30 |t. DocM|enu = 10| |00000250| 30 30 3b 0d 20 20 49 6e | 64 65 78 4d 65 6e 75 20 |00;. In|dexMenu | |00000260| 3d 20 31 30 30 31 3b 0d | 20 20 57 6f 72 64 73 4d |= 1001;.| WordsM| |00000270| 65 6e 75 20 3d 20 31 30 | 30 32 3b 0d 0d 20 20 52 |enu = 10|02;.. R| |00000280| 61 73 45 64 69 74 49 64 | 20 3d 20 33 30 32 3b 0d |asEditId| = 302;.| |00000290| 20 20 52 61 73 52 75 6e | 49 44 20 3d 20 33 30 31 | RasRun|ID = 301| |000002a0| 3b 0d 20 20 52 61 73 52 | 75 6e 49 74 65 6d 20 3d |;. RasR|unItem =| |000002b0| 20 31 3b 0d 0d 20 20 52 | 75 6e 49 44 20 3d 20 49 | 1;.. R|unID = I| |000002c0| 6e 64 65 78 4d 65 6e 75 | 3b 0d 20 20 52 75 6e 49 |ndexMenu|;. RunI| |000002d0| 74 65 6d 20 3d 20 39 3b | 0d 0d 20 20 64 62 52 65 |tem = 9;|.. dbRe| |000002e0| 74 75 72 6e 20 20 3d 20 | 31 3b 0d 20 20 64 62 57 |turn = |1;. dbW| |000002f0| 6f 72 64 20 20 20 20 3d | 20 32 3b 0d 20 20 64 62 |ord =| 2;. db| |00000300| 43 68 61 70 74 65 72 20 | 3d 20 33 3b 0d 20 20 64 |Chapter |= 3;. d| |00000310| 62 50 61 67 65 20 20 20 | 20 3d 20 34 3b 0d 20 20 |bPage | = 4;. | |00000320| 64 62 49 6e 63 20 20 20 | 20 20 3d 20 35 3b 0d 20 |dbInc | = 5;. | |00000330| 20 64 62 44 65 63 20 20 | 20 20 20 3d 20 36 3b 0d | dbDec | = 6;.| |00000340| 20 20 64 62 41 64 64 20 | 20 20 20 20 3d 20 37 3b | dbAdd | = 7;| |00000350| 0d 20 20 64 62 42 61 63 | 6b 55 70 20 20 3d 20 38 |. dbBac|kUp = 8| |00000360| 3b 0d 0d 20 20 53 65 6c | 65 63 74 4e 75 6d 20 3d |;.. Sel|ectNum =| |00000370| 20 24 31 33 44 3b 0d 20 | 20 4b 65 79 4e 75 6d 20 | $13D;. | KeyNum | |00000380| 3d 20 24 31 33 45 3b 0d | 0d 0d 54 79 70 65 0d 20 |= $13E;.|..Type. | |00000390| 20 46 69 6c 65 4e 61 6d | 65 20 3d 20 42 79 74 65 | FileNam|e = Byte| |000003a0| 5b 36 34 5d 3b 0d 20 20 | 70 46 69 6c 65 4e 61 6d |[64];. |pFileNam| |000003b0| 65 20 3d 20 5e 46 69 6c | 65 4e 61 6d 65 3b 0d 0d |e = ^Fil|eName;..| |000003c0| 56 61 72 0d 20 20 53 70 | 65 61 6b 69 6e 67 3a 20 |Var. Sp|eaking: | |000003d0| 42 6f 6f 6c 65 61 6e 3b | 0d 20 20 44 6f 6e 74 48 |Boolean;|. DontH| |000003e0| 61 76 65 3a 20 42 6f 6f | 6c 65 61 6e 3b 0d 20 20 |ave: Boo|lean;. | |000003f0| 43 75 72 72 65 6e 74 50 | 61 72 61 2c 56 72 65 66 |CurrentP|ara,Vref| |00000400| 3a 20 49 6e 74 65 67 65 | 72 3b 0d 20 20 20 20 4c |: Intege|r;. L| |00000410| 61 73 74 4e 69 62 3a 20 | 62 79 74 65 3b 0d 20 20 |astNib: |byte;. | |00000420| 20 20 4e 65 78 74 41 73 | 63 2c 0d 20 20 20 20 4e | NextAs|c,. N| |00000430| 65 65 64 4e 69 62 3a 20 | 42 6f 6f 6c 65 61 6e 3b |eedNib: |Boolean;| |00000440| 0d 20 20 53 48 61 6e 64 | 3a 20 5e 53 74 72 69 6e |. SHand|: ^Strin| |00000450| 67 50 74 72 3b 0d 20 20 | 54 45 3a 20 54 45 48 61 |gPtr;. |TE: TEHa| |00000460| 6e 64 6c 65 3b 0d 20 20 | 54 45 43 68 61 72 73 3a |ndle;. |TEChars:| |00000470| 20 43 68 61 72 73 48 61 | 6e 64 6c 65 3b 0d 20 20 | CharsHa|ndle;. | |00000480| 54 45 57 69 6e 64 3a 20 | 57 69 6e 64 6f 77 50 74 |TEWind: |WindowPt| |00000490| 72 3b 0d 20 20 4d 79 4c | 6f 67 3a 20 44 69 61 6c |r;. MyL|og: Dial| |000004a0| 6f 67 50 74 72 3b 0d 20 | 20 4c 61 73 74 45 6e 74 |ogPtr;. | LastEnt| |000004b0| 72 79 3a 20 53 74 72 32 | 35 35 3b 0d 20 20 4c 61 |ry: Str2|55;. La| |000004c0| 73 74 57 6f 72 64 3a 20 | 53 74 72 32 35 35 3b 0d |stWord: |Str255;.| |000004d0| 0d 20 20 66 49 6e 64 2c | 76 72 65 66 49 6e 64 3a |. fInd,|vrefInd:| |000004e0| 20 49 6e 74 65 67 65 72 | 3b 0d 20 20 6e 61 6d 65 | Integer|;. name| |000004f0| 49 6e 64 3a 20 53 74 72 | 32 35 35 3b 0d 0d 20 20 |Ind: Str|255;.. | |00000500| 43 75 72 50 6e 75 6d 3a | 20 49 6e 74 65 67 65 72 |CurPnum:| Integer| |00000510| 3b 0d 20 20 41 62 73 50 | 61 67 65 4e 75 6d 3a 20 |;. AbsP|ageNum: | |00000520| 42 6f 6f 6c 65 61 6e 3b | 0d 0d 20 20 44 6f 63 4e |Boolean;|.. DocN| |00000530| 61 6d 65 3a 20 46 69 6c | 65 4e 61 6d 65 3b 0d 0d |ame: Fil|eName;..| |00000540| 20 20 53 65 6c 65 63 74 | 54 72 61 70 2c 0d 20 20 | Select|Trap,. | |00000550| 4b 65 79 54 72 61 70 3a | 20 50 74 72 4c 3b 0d 0d |KeyTrap:| PtrL;..| |00000560| 45 78 74 44 65 66 20 20 | 28 2a 20 76 61 72 69 61 |ExtDef |(* varia| |00000570| 62 6c 65 73 20 73 74 6f | 6c 65 6e 20 66 72 6f 6d |bles sto|len from| |00000580| 20 45 61 73 79 6d 65 6e | 75 73 20 2a 29 0d 20 20 | Easymen|us *). | |00000590| 20 20 4d 61 78 4d 65 6e | 75 73 2c 0d 20 20 20 20 | MaxMen|us,. | |000005a0| 4e 75 6d 4d 65 6e 75 73 | 3a 20 49 6e 74 65 67 65 |NumMenus|: Intege| |000005b0| 72 3b 0d 20 20 20 20 4d | 65 6e 75 49 44 73 3a 20 |r;. M|enuIDs: | |000005c0| 49 6e 74 65 67 65 72 5b | 31 30 5d 3b 0d 0d 20 20 |Integer[|10];.. | |000005d0| 28 2a 20 54 68 65 20 6e | 65 78 74 20 66 65 77 20 |(* The n|ext few | |000005e0| 70 72 6f 63 65 64 75 72 | 65 73 20 63 6f 6d 70 72 |procedur|es compr| |000005f0| 69 73 65 20 61 20 73 6e | 65 61 6b 79 20 77 61 79 |ise a sn|eaky way| |00000600| 20 6f 66 20 67 65 74 74 | 69 6e 67 20 52 75 6e 2e | of gett|ing Run.| |00000610| 2e 2e 20 69 6e 74 6f 0d | 20 20 20 20 20 6d 79 20 |.. into.| my | |00000620| 49 6e 64 65 78 20 6d 65 | 6e 75 2e 20 20 49 74 27 |Index me|nu. It'| |00000630| 73 20 61 20 6c 6f 6e 67 | 20 73 74 6f 72 79 2e 2e |s a long| story..| |00000640| 2e 20 2a 29 0d 0d 46 75 | 6e 63 74 69 6f 6e 20 44 |. *)..Fu|nction D| |00000650| 6f 52 65 6d 61 70 28 4c | 3a 20 4c 6f 6e 67 69 6e |oRemap(L|: Longin| |00000660| 74 29 3a 20 4c 6f 6e 67 | 69 6e 74 3b 0d 56 61 72 |t): Long|int;.Var| |00000670| 0d 20 20 49 64 2c 49 74 | 65 6d 3a 20 49 6e 74 65 |. Id,It|em: Inte| |00000680| 67 65 72 3b 0d 7b 0d 20 | 20 49 64 20 3a 3d 20 48 |ger;.{. | Id := H| |00000690| 69 57 6f 72 64 28 4c 29 | 3b 0d 20 20 49 74 65 6d |iWord(L)|;. Item| |000006a0| 20 3a 3d 20 4c 6f 57 6f | 72 64 28 4c 29 3b 0d 20 | := LoWo|rd(L);. | |000006b0| 20 49 66 20 28 49 44 20 | 3d 20 52 75 6e 49 44 29 | If (ID |= RunID)| |000006c0| 20 61 6e 64 20 28 49 74 | 65 6d 20 3d 20 52 75 6e | and (It|em = Run| |000006d0| 49 74 65 6d 29 20 54 68 | 65 6e 0d 20 20 20 20 4c |Item) Th|en. L| |000006e0| 20 3a 3d 20 28 4c 6f 6e | 67 69 6e 74 28 52 61 73 | := (Lon|gint(Ras| |000006f0| 52 75 6e 49 44 29 3c 3c | 31 36 29 20 6f 72 20 52 |RunID)<<|16) or R| |00000700| 61 73 52 75 6e 49 74 65 | 6d 3b 0d 20 20 44 6f 52 |asRunIte|m;. DoR| |00000710| 65 6d 61 70 20 3a 3d 20 | 4c 3b 20 0d 7d 3b 0d 0d |emap := |L; .};..| |00000720| 46 75 6e 63 74 69 6f 6e | 20 4d 79 4d 65 6e 75 53 |Function| MyMenuS| |00000730| 65 6c 65 63 74 28 53 74 | 61 72 74 50 74 3a 20 4c |elect(St|artPt: L| |00000740| 6f 6e 67 69 6e 74 29 3a | 20 4c 6f 6e 67 69 6e 74 |ongint):| Longint| |00000750| 3b 20 43 6c 65 61 6e 3b | 0d 56 61 72 0d 20 20 54 |; Clean;|.Var. T| |00000760| 4c 6f 6e 67 3a 20 4c 6f | 6e 67 69 6e 74 3b 0d 7b |Long: Lo|ngint;.{| |00000770| 0d 20 20 52 65 67 43 61 | 6c 6c 28 43 61 6c 6c 20 |. RegCa|ll(Call | |00000780| 53 65 6c 65 63 74 54 72 | 61 70 2c 2c 2c 2c 52 65 |SelectTr|ap,,,,Re| |00000790| 73 75 6c 74 20 54 4c 6f | 6e 67 2c 20 53 74 61 72 |sult TLo|ng, Star| |000007a0| 74 50 74 29 3b 0d 20 20 | 52 65 74 75 72 6e 28 44 |tPt);. |Return(D| |000007b0| 6f 52 65 6d 61 70 28 54 | 4c 6f 6e 67 29 29 3b 0d |oRemap(T|Long));.| |000007c0| 7d 3b 0d 0d 46 75 6e 63 | 74 69 6f 6e 20 4d 79 4d |};..Func|tion MyM| |000007d0| 65 6e 75 4b 65 79 28 74 | 68 65 4b 65 79 3a 20 49 |enuKey(t|heKey: I| |000007e0| 6e 74 65 67 65 72 29 3a | 20 4c 6f 6e 67 69 6e 74 |nteger):| Longint| |000007f0| 3b 20 43 6c 65 61 6e 3b | 0d 56 61 72 0d 20 20 54 |; Clean;|.Var. T| |00000800| 4c 6f 6e 67 3a 20 4c 6f | 6e 67 69 6e 74 3b 0d 7b |Long: Lo|ngint;.{| |00000810| 0d 20 20 52 65 67 43 61 | 6c 6c 28 43 61 6c 6c 20 |. RegCa|ll(Call | |00000820| 4b 65 79 54 72 61 70 2c | 2c 2c 2c 52 65 73 75 6c |KeyTrap,|,,,Resul| |00000830| 74 20 54 4c 6f 6e 67 2c | 20 74 68 65 4b 65 79 29 |t TLong,| theKey)| |00000840| 3b 0d 20 20 52 65 74 75 | 72 6e 28 44 6f 52 65 6d |;. Retu|rn(DoRem| |00000850| 61 70 28 54 4c 6f 6e 67 | 29 29 3b 0d 7d 3b 0d 0d |ap(TLong|));.};..| |00000860| 50 72 6f 63 20 49 6e 69 | 74 52 75 6e 4d 65 6e 75 |Proc Ini|tRunMenu| |00000870| 54 72 69 63 6b 28 29 3b | 0d 7b 0d 20 20 53 65 6c |Trick();|.{. Sel| |00000880| 65 63 74 54 72 61 70 20 | 3a 3d 20 47 65 74 54 72 |ectTrap |:= GetTr| |00000890| 61 70 41 64 64 72 65 73 | 73 28 53 65 6c 65 63 74 |apAddres|s(Select| |000008a0| 4e 75 6d 29 3b 0d 20 20 | 4b 65 79 54 72 61 70 20 |Num);. |KeyTrap | |000008b0| 3a 3d 20 47 65 74 54 72 | 61 70 41 64 64 72 65 73 |:= GetTr|apAddres| |000008c0| 73 28 4b 65 79 4e 75 6d | 29 3b 0d 0d 20 20 53 65 |s(KeyNum|);.. Se| |000008d0| 74 54 72 61 70 41 64 64 | 72 65 73 73 28 40 4d 79 |tTrapAdd|ress(@My| |000008e0| 4d 65 6e 75 53 65 6c 65 | 63 74 2c 53 65 6c 65 63 |MenuSele|ct,Selec| |000008f0| 74 4e 75 6d 29 3b 0d 20 | 20 53 65 74 54 72 61 70 |tNum);. | SetTrap| |00000900| 41 64 64 72 65 73 73 28 | 40 4d 79 4d 65 6e 75 4b |Address(|@MyMenuK| |00000910| 65 79 2c 4b 65 79 4e 75 | 6d 29 3b 0d 7d 3b 0d 0d |ey,KeyNu|m);.};..| |00000920| 50 72 6f 63 20 48 61 6c | 74 52 75 6e 4d 65 6e 75 |Proc Hal|tRunMenu| |00000930| 54 72 69 63 6b 28 29 3b | 0d 7b 0d 20 20 53 65 74 |Trick();|.{. Set| |00000940| 54 72 61 70 41 64 64 72 | 65 73 73 28 53 65 6c 65 |TrapAddr|ess(Sele| |00000950| 63 74 54 72 61 70 2c 53 | 65 6c 65 63 74 4e 75 6d |ctTrap,S|electNum| |00000960| 29 3b 0d 20 20 53 65 74 | 54 72 61 70 41 64 64 72 |);. Set|TrapAddr| |00000970| 65 73 73 28 4b 65 79 54 | 72 61 70 2c 4b 65 79 4e |ess(KeyT|rap,KeyN| |00000980| 75 6d 29 3b 0d 7d 3b 0d | 0d 50 52 4f 43 45 44 55 |um);.};.|.PROCEDU| |00000990| 52 45 20 68 69 64 65 72 | 28 29 3b 20 20 0d 76 61 |RE hider|(); .va| |000009a0| 72 20 77 3a 20 70 74 72 | 4c 3b 0d 7b 20 20 20 20 |r w: ptr|L;.{ | |000009b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |000009c0| 20 20 20 20 20 20 20 20 | 20 28 2a 20 48 69 64 65 | | (* Hide| |000009d0| 73 20 61 6c 6c 20 62 75 | 74 20 74 68 65 20 66 72 |s all bu|t the fr| |000009e0| 6f 6e 74 20 77 69 6e 64 | 6f 77 20 2a 29 0d 20 77 |ont wind|ow *). w| |000009f0| 20 3a 3d 20 46 72 6f 6e | 74 57 69 6e 64 6f 77 28 | := Fron|tWindow(| |00000a00| 29 3b 0d 20 77 20 2b 3d | 20 24 39 30 3b 0d 20 6c |);. w +=| $90;. l| |00000a10| 6f 6f 70 28 77 5e 2c 77 | 3a 3d 77 5e 2c 77 2b 3d |oop(w^,w|:=w^,w+=| |00000a20| 24 39 30 3b 77 3a 3d 77 | 5e 2c 77 3d 30 29 0d 20 |$90;w:=w|^,w=0). | |00000a30| 20 20 48 69 64 65 57 69 | 6e 64 6f 77 28 77 29 3b | HideWi|ndow(w);| |00000a40| 20 20 20 0d 7d 3b 0d 0d | 0d 20 20 20 20 28 2a 20 | .};..|. (* | |00000a50| 54 68 65 20 66 6f 6c 6c | 6f 77 69 6e 67 20 70 72 |The foll|owing pr| |00000a60| 6f 63 65 64 75 72 65 73 | 20 61 72 65 20 74 61 6b |ocedures| are tak| |00000a70| 65 6e 20 61 6c 6d 6f 73 | 74 20 76 65 72 62 61 74 |en almos|t verbat| |00000a80| 69 6d 20 66 72 6f 6d 0d | 20 20 20 20 20 20 20 52 |im from.| R| |00000a90| 65 61 64 4d 61 63 57 72 | 69 74 65 2e 73 72 63 2c |eadMacWr|ite.src,| |00000aa0| 20 70 6f 73 74 65 64 20 | 61 20 77 68 69 6c 65 20 | posted |a while | |00000ab0| 61 67 6f 20 2a 29 0d 0d | 46 75 6e 63 20 49 73 42 |ago *)..|Func IsB| |00000ac0| 69 74 28 62 3a 20 62 79 | 74 65 3b 20 62 69 74 6e |it(b: by|te; bitn| |00000ad0| 75 6d 3a 69 6e 74 65 67 | 65 72 29 3a 20 42 6f 6f |um:integ|er): Boo| |00000ae0| 6c 65 61 6e 3b 20 7b 20 | 52 65 74 75 72 6e 28 28 |lean; { |Return((| |00000af0| 62 3e 3e 62 69 74 6e 75 | 6d 29 20 61 6e 64 20 31 |b>>bitnu|m) and 1| |00000b00| 29 0d 7d 3b 0d 50 72 6f | 63 20 66 66 72 65 61 64 |).};.Pro|c ffread| |00000b10| 28 66 3a 20 69 6e 74 65 | 67 65 72 3b 20 62 75 66 |(f: inte|ger; buf| |00000b20| 3a 20 70 74 72 62 3b 20 | 61 6d 74 3a 20 6c 6f 6e |: ptrb; |amt: lon| |00000b30| 67 69 6e 74 29 3b 20 7b | 20 66 72 65 61 64 28 66 |gint); {| fread(f| |00000b40| 2c 62 75 66 2c 40 61 6d | 74 29 20 7d 3b 0d 0d 46 |,buf,@am|t) };..F| |00000b50| 75 6e 63 74 69 6f 6e 20 | 44 65 63 6f 6d 70 72 65 |unction |Decompre| |00000b60| 73 73 28 62 3a 20 62 79 | 74 65 29 3a 20 49 6e 74 |ss(b: by|te): Int| |00000b70| 65 67 65 72 3b 0d 7b 0d | 20 20 69 66 20 6e 65 65 |eger;.{.| if nee| |00000b80| 64 6e 69 62 20 54 68 65 | 6e 20 7b 0d 20 20 20 20 |dnib The|n {. | |00000b90| 6e 65 65 64 6e 69 62 20 | 3a 3d 20 46 61 6c 73 65 |neednib |:= False| |00000ba0| 3b 0d 20 20 20 20 44 65 | 63 6f 6d 70 72 65 73 73 |;. De|compress| |00000bb0| 20 3a 3d 20 28 4c 61 73 | 74 4e 69 62 20 6f 72 20 | := (Las|tNib or | |00000bc0| 62 29 3b 0d 20 20 20 20 | 7d 0d 20 20 45 6c 73 65 |b);. |}. Else| |00000bd0| 0d 20 20 20 20 69 66 20 | 6e 65 78 74 61 73 63 20 |. if |nextasc | |00000be0| 54 68 65 6e 20 7b 0d 20 | 20 20 20 20 20 6e 65 78 |Then {. | nex| |00000bf0| 74 61 73 63 20 3a 3d 20 | 46 61 6c 73 65 3b 0d 20 |tasc := |False;. | |00000c00| 20 20 20 20 20 6e 65 65 | 64 6e 69 62 20 3a 3d 20 | nee|dnib := | |00000c10| 54 72 75 65 3b 0d 20 20 | 20 20 20 20 4c 61 73 74 |True;. | Last| |00000c20| 4e 69 62 20 3a 3d 20 62 | 20 3c 3c 20 34 3b 0d 20 |Nib := b| << 4;. | |00000c30| 20 20 20 20 20 44 65 63 | 6f 6d 70 72 65 73 73 20 | Dec|ompress | |00000c40| 3a 3d 20 2d 31 3b 0d 20 | 20 20 20 20 20 7d 0d 20 |:= -1;. | }. | |00000c50| 20 45 6c 73 65 0d 20 20 | 20 20 69 66 20 62 3d 31 | Else. | if b=1| |00000c60| 35 20 54 68 65 6e 20 7b | 0d 20 20 20 20 20 20 6e |5 Then {|. n| |00000c70| 65 78 74 61 73 63 20 3a | 3d 20 54 72 75 65 3b 0d |extasc :|= True;.| |00000c80| 20 20 20 20 20 20 44 65 | 63 6f 6d 70 72 65 73 73 | De|compress| |00000c90| 20 3a 3d 20 2d 31 3b 0d | 20 20 20 20 20 20 7d 0d | := -1;.| }.| |00000ca0| 20 20 45 6c 73 65 0d 20 | 20 20 20 52 65 74 75 72 | Else. | Retur| |00000cb0| 6e 28 70 74 72 62 28 2b | 2b 62 20 2b 20 22 20 65 |n(ptrb(+|+b + " e| |00000cc0| 74 6e 72 6f 61 69 73 64 | 6c 68 63 66 70 22 29 5e |tnroaisd|lhcfp")^| |00000cd0| 29 3b 0d 7d 3b 0d 0d 50 | 72 6f 63 65 64 75 72 65 |);.};..P|rocedure| |00000ce0| 20 41 64 64 63 68 61 72 | 28 63 3a 20 69 6e 74 65 | Addchar|(c: inte| |00000cf0| 67 65 72 29 3b 0d 56 61 | 72 0d 20 20 73 69 7a 65 |ger);.Va|r. size| |00000d00| 3a 20 6c 6f 6e 67 69 6e | 74 3b 0d 7b 0d 20 20 73 |: longin|t;.{. s| |00000d10| 69 7a 65 20 3a 3d 20 47 | 65 74 68 61 6e 64 6c 65 |ize := G|ethandle| |00000d20| 53 69 7a 65 28 54 45 43 | 68 61 72 73 29 3b 0d 20 |Size(TEC|hars);. | |00000d30| 20 53 65 74 68 61 6e 64 | 6c 65 53 69 7a 65 28 54 | Sethand|leSize(T| |00000d40| 45 43 68 61 72 73 2c 73 | 69 7a 65 2b 31 29 3b 0d |EChars,s|ize+1);.| |00000d50| 20 20 54 45 43 68 61 72 | 73 5e 5e 5b 53 69 7a 65 | TEChar|s^^[Size| |00000d60| 5d 20 3a 3d 20 63 3b 0d | 7d 3b 0d 0d 50 72 6f 63 |] := c;.|};..Proc| |00000d70| 20 46 69 6c 65 44 6f 6e | 65 28 29 3b 20 7b 20 53 | FileDon|e(); { S| |00000d80| 79 73 62 65 65 70 28 35 | 29 20 7d 3b 0d 0d 50 72 |ysbeep(5|) };..Pr| |00000d90| 6f 63 20 46 6c 75 73 68 | 28 29 3b 0d 76 61 72 0d |oc Flush|();.var.| |00000da0| 20 20 69 6f 3a 20 69 6e | 74 65 67 65 72 3b 0d 7b | io: in|teger;.{| |00000db0| 0d 20 20 69 6f 20 3a 3d | 20 46 6c 75 73 68 56 6f |. io :=| FlushVo| |00000dc0| 6c 28 4e 69 6c 2c 56 72 | 65 66 49 6e 64 29 3b 0d |l(Nil,Vr|efInd);.| |00000dd0| 7d 3b 0d 0d 46 75 6e 63 | 20 4e 65 78 74 53 63 72 |};..Func| NextScr| |00000de0| 65 65 6e 28 53 74 61 72 | 74 50 61 72 61 3a 20 49 |een(Star|tPara: I| |00000df0| 6e 74 65 67 65 72 29 3a | 20 49 6e 74 65 67 65 72 |nteger):| Integer| |00000e00| 3b 0d 43 6f 6e 73 74 0d | 20 20 4d 61 78 43 68 61 |;.Const.| MaxCha| |00000e10| 72 73 20 3d 20 31 30 30 | 30 30 3b 0d 54 79 70 65 |rs = 100|00;.Type| |00000e20| 0d 20 20 49 41 72 72 61 | 79 20 3d 20 52 65 63 6f |. IArra|y = Reco| |00000e30| 72 64 0d 20 20 20 20 68 | 65 69 67 68 74 3a 20 69 |rd. h|eight: i| |00000e40| 6e 74 65 67 65 72 3b 0d | 20 20 20 20 70 61 67 65 |nteger;.| page| |00000e50| 70 6f 73 3a 20 69 6e 74 | 65 67 65 72 3b 0d 20 20 |pos: int|eger;. | |00000e60| 20 20 50 61 72 61 48 61 | 6e 64 3a 20 55 6e 69 6f | ParaHa|nd: Unio| |00000e70| 6e 0d 20 20 20 20 20 20 | 20 20 70 61 67 65 6e 75 |n. | pagenu| |00000e80| 6d 3a 20 62 79 74 65 3b | 0d 20 20 20 20 20 20 20 |m: byte;|. | |00000e90| 20 48 61 6e 64 3a 20 5e | 5e 4c 6f 6e 67 69 6e 74 | Hand: ^|^Longint| |00000ea0| 3b 0d 20 20 20 20 45 6e | 64 3b 0d 20 20 20 20 53 |;. En|d;. S| |00000eb0| 74 50 6f 73 3a 20 55 6e | 69 6f 6e 0d 20 20 20 20 |tPos: Un|ion. | |00000ec0| 20 20 20 53 74 3a 20 62 | 79 74 65 3b 20 20 28 2a | St: b|yte; (*| |00000ed0| 20 66 69 72 73 74 20 62 | 79 74 65 20 69 73 20 73 | first b|yte is s| |00000ee0| 74 61 74 75 73 20 2a 29 | 0d 20 20 20 20 20 20 20 |tatus *)|. | |00000ef0| 50 6f 73 3a 20 6c 6f 6e | 67 69 6e 74 3b 0d 20 20 |Pos: lon|gint;. | |00000f00| 20 20 45 6e 64 3b 0d 20 | 20 20 20 44 61 74 61 4c | End;. | DataL| |00000f10| 65 6e 67 74 68 3a 20 69 | 6e 74 65 67 65 72 3b 0d |ength: i|nteger;.| |00000f20| 20 20 20 20 66 6f 72 6d | 61 74 73 3a 20 49 6e 74 | form|ats: Int| |00000f30| 65 67 65 72 3b 0d 20 20 | 45 6e 64 3b 0d 0d 56 61 |eger;. |End;..Va| |00000f40| 72 0d 20 20 20 20 47 6f | 74 4f 6e 65 3a 20 42 6f |r. Go|tOne: Bo| |00000f50| 6f 6c 65 61 6e 3b 0d 20 | 20 20 20 53 74 61 72 74 |olean;. | Start| |00000f60| 50 4e 75 6d 2c 0d 20 20 | 20 20 4c 61 73 74 50 4e |PNum,. | LastPN| |00000f70| 75 6d 3a 20 49 6e 74 65 | 67 65 72 3b 0d 20 20 20 |um: Inte|ger;. | |00000f80| 20 42 75 66 3a 20 5e 42 | 79 74 65 5b 32 30 5d 3b | Buf: ^B|yte[20];| |00000f90| 0d 20 20 20 20 70 72 65 | 73 73 3a 20 42 6f 6f 6c |. pre|ss: Bool| |00000fa0| 65 61 6e 3b 0d 20 20 20 | 20 6f 66 66 3a 20 4c 6f |ean;. | off: Lo| |00000fb0| 6e 67 69 6e 74 3b 0d 20 | 20 20 20 69 6e 66 6f 68 |ngint;. | infoh| |00000fc0| 61 6e 64 3a 20 5e 5e 49 | 61 72 72 61 79 5b 32 30 |and: ^^I|array[20| |00000fd0| 5d 3b 0d 20 20 20 20 66 | 2c 20 63 6f 75 6e 74 2c |];. f|, count,| |00000fe0| 69 2c 63 2c 6a 2c 64 2c | 6b 2c 6c 65 6e 3a 20 69 |i,c,j,d,|k,len: i| |00000ff0| 6e 74 65 67 65 72 3b 0d | 20 20 20 20 44 6f 63 56 |nteger;.| DocV| |00001000| 61 72 73 3a 20 52 65 63 | 6f 72 64 0d 20 20 20 20 |ars: Rec|ord. | |00001010| 20 20 20 49 41 70 6f 73 | 3a 20 4c 6f 6e 67 69 6e | IApos|: Longin| |00001020| 74 3b 0d 20 20 20 20 20 | 20 20 49 41 6c 65 6e 67 |t;. | IAleng| |00001030| 74 68 3a 20 49 6e 74 65 | 67 65 72 3b 0d 20 20 20 |th: Inte|ger;. | |00001040| 20 20 20 20 45 6e 64 3b | 0d 7b 0d 0d 20 20 49 66 | End;|.{.. If| |00001050| 20 53 74 61 72 74 50 61 | 72 61 20 3c 20 30 20 54 | StartPa|ra < 0 T| |00001060| 68 65 6e 20 52 65 74 75 | 72 6e 28 2d 31 29 3b 0d |hen Retu|rn(-1);.| |00001070| 0d 20 20 47 6f 74 4f 6e | 65 20 3a 3d 20 46 61 6c |. GotOn|e := Fal| |00001080| 73 65 3b 0d 20 20 42 75 | 66 20 3a 3d 20 4e 65 77 |se;. Bu|f := New| |00001090| 50 74 72 28 30 4c 29 3b | 0d 20 20 4e 65 77 5f 45 |Ptr(0L);|. New_E| |000010a0| 64 28 44 6f 63 4e 61 6d | 65 29 3b 0d 20 20 77 61 |d(DocNam|e);. wa| |000010b0| 74 63 68 28 29 3b 0d 0d | 20 20 66 6f 70 65 6e 28 |tch();..| fopen(| |000010c0| 40 66 2c 44 6f 63 4e 61 | 6d 65 2c 30 2c 76 72 65 |@f,DocNa|me,0,vre| |000010d0| 66 29 3b 0d 20 20 49 66 | 20 61 62 73 50 61 67 65 |f);. If| absPage| |000010e0| 4e 75 6d 20 54 68 65 6e | 20 7b 0d 20 20 20 20 66 |Num Then| {. f| |000010f0| 6d 6f 76 65 74 6f 28 66 | 2c 31 36 4c 29 3b 0d 20 |moveto(f|,16L);. | |00001100| 20 20 20 66 66 72 65 61 | 64 28 66 2c 40 53 74 61 | ffrea|d(f,@Sta| |00001110| 72 74 50 4e 75 6d 2c 32 | 4c 29 3b 0d 20 20 20 20 |rtPNum,2|L);. | |00001120| 7d 3b 0d 0d 20 20 66 6d | 6f 76 65 74 6f 28 66 2c |};.. fm|oveto(f,| |00001130| 32 35 32 4c 29 3b 20 20 | 20 20 20 20 20 20 20 20 |252L); | | |00001140| 20 28 2a 20 4d 61 69 6e | 20 44 6f 63 75 6d 65 6e | (* Main| Documen| |00001150| 74 20 69 6e 66 6f 20 2a | 29 0d 20 20 66 6d 6f 76 |t info *|). fmov| |00001160| 65 28 66 2c 31 32 4c 29 | 3b 0d 20 20 66 66 72 65 |e(f,12L)|;. ffre| |00001170| 61 64 28 66 2c 44 6f 63 | 56 61 72 73 2c 36 4c 29 |ad(f,Doc|Vars,6L)| |00001180| 3b 0d 0d 20 20 49 6e 66 | 6f 48 61 6e 64 20 3a 3d |;.. Inf|oHand :=| |00001190| 20 4e 65 77 48 61 6e 64 | 6c 65 28 4c 6f 6e 67 69 | NewHand|le(Longi| |000011a0| 6e 74 28 44 6f 63 56 61 | 72 73 2e 49 41 4c 65 6e |nt(DocVa|rs.IALen| |000011b0| 67 74 68 29 29 3b 0d 20 | 20 66 6d 6f 76 65 74 6f |gth));. | fmoveto| |000011c0| 28 66 2c 44 6f 63 56 61 | 72 73 2e 49 41 50 6f 73 |(f,DocVa|rs.IAPos| |000011d0| 29 3b 20 20 28 2a 20 50 | 61 72 61 67 72 61 70 68 |); (* P|aragraph| |000011e0| 20 41 72 72 61 79 20 2a | 29 0d 20 20 48 6c 6f 63 | Array *|). Hloc| |000011f0| 6b 28 49 6e 66 6f 48 61 | 6e 64 29 3b 0d 20 20 66 |k(InfoHa|nd);. f| |00001200| 66 72 65 61 64 28 66 2c | 49 6e 66 6f 48 61 6e 64 |fread(f,|InfoHand| |00001210| 5e 2c 4c 6f 6e 67 69 6e | 74 28 44 6f 63 56 61 72 |^,Longin|t(DocVar| |00001220| 73 2e 49 41 4c 65 6e 67 | 74 68 29 29 3b 0d 20 20 |s.IALeng|th));. | |00001230| 48 75 6e 6c 6f 63 6b 28 | 49 6e 66 6f 48 61 6e 64 |Hunlock(|InfoHand| |00001240| 29 3b 0d 20 20 43 6f 75 | 6e 74 20 3a 3d 20 44 6f |);. Cou|nt := Do| |00001250| 63 56 61 72 73 2e 49 41 | 4c 65 6e 67 74 68 2f 31 |cVars.IA|Length/1| |00001260| 36 3b 0d 20 20 6c 6f 6f | 70 28 63 6f 75 6e 74 2c |6;. loo|p(count,| |00001270| 69 3a 3d 53 74 61 72 74 | 50 61 72 61 2c 2c 2b 2b |i:=Start|Para,,++| |00001280| 69 3d 63 6f 75 6e 74 29 | 20 7b 0d 20 20 20 20 4f |i=count)| {. O| |00001290| 66 66 20 3a 3d 20 49 6e | 66 6f 48 61 6e 64 5e 5e |ff := In|foHand^^| |000012a0| 5b 69 5d 2e 73 74 70 6f | 73 2e 70 6f 73 20 61 6e |[i].stpo|s.pos an| |000012b0| 64 20 24 30 30 46 46 46 | 46 46 46 3b 20 20 28 2a |d $00FFF|FFF; (*| |000012c0| 20 63 6c 65 61 72 20 73 | 74 61 74 75 73 20 62 79 | clear s|tatus by| |000012d0| 74 65 0d 2a 29 0d 20 20 | 20 20 70 72 65 73 73 20 |te.*). | press | |000012e0| 3a 3d 20 69 73 62 69 74 | 28 49 6e 66 6f 48 61 6e |:= isbit|(InfoHan| |000012f0| 64 5e 5e 5b 69 5d 2e 73 | 74 70 6f 73 2e 73 74 2c |d^^[i].s|tpos.st,| |00001300| 33 29 3b 0d 20 20 20 20 | 49 66 20 28 21 47 6f 74 |3);. |If (!Got| |00001310| 6f 6e 65 20 61 6e 64 20 | 61 62 73 50 61 67 65 4e |one and |absPageN| |00001320| 75 6d 29 20 54 68 65 6e | 0d 20 20 20 20 20 20 43 |um) Then|. C| |00001330| 75 72 50 4e 75 6d 20 3a | 3d 20 49 6e 66 6f 48 61 |urPNum :|= InfoHa| |00001340| 6e 64 5e 5e 5b 69 5d 2e | 50 61 72 61 48 61 6e 64 |nd^^[i].|ParaHand| |00001350| 2e 50 61 67 65 4e 75 6d | 3b 0d 20 20 20 20 49 66 |.PageNum|;. If| |00001360| 20 49 6e 66 6f 48 61 6e | 64 5e 5e 5b 69 5d 2e 50 | InfoHan|d^^[i].P| |00001370| 61 72 61 48 61 6e 64 2e | 50 61 67 65 4e 75 6d 20 |araHand.|PageNum | |00001380| 3e 20 43 75 72 50 4e 75 | 6d 20 54 68 65 6e 0d 20 |> CurPNu|m Then. | |00001390| 20 20 20 20 20 20 42 72 | 65 61 6b 3b 0d 20 20 20 | Br|eak;. | |000013a0| 20 47 6f 74 4f 6e 65 20 | 3a 3d 20 54 72 75 65 3b | GotOne |:= True;| |000013b0| 0d 20 20 20 20 4c 61 73 | 74 50 4e 75 6d 20 3a 3d |. Las|tPNum :=| |000013c0| 20 49 6e 66 6f 48 61 6e | 64 5e 5e 5b 69 5d 2e 50 | InfoHan|d^^[i].P| |000013d0| 61 72 61 48 61 6e 64 2e | 50 61 67 65 4e 75 6d 3b |araHand.|PageNum;| |000013e0| 0d 20 20 20 20 66 4d 6f | 76 65 54 6f 28 66 2c 6f |. fMo|veTo(f,o| |000013f0| 66 66 29 3b 0d 20 20 20 | 20 69 66 20 49 6e 66 6f |ff);. | if Info| |00001400| 48 61 6e 64 5e 5e 5b 69 | 5d 2e 68 65 69 67 68 74 |Hand^^[i|].height| |00001410| 20 3c 3d 20 30 20 54 68 | 65 6e 20 43 6f 6e 74 69 | <= 0 Th|en Conti| |00001420| 6e 75 65 3b 20 28 2a 20 | 6e 6f 74 20 74 65 78 74 |nue; (* |not text| |00001430| 20 2a 29 0d 20 20 20 20 | 66 67 65 74 69 6e 74 28 | *). |fgetint(| |00001440| 66 2c 40 6c 65 6e 29 3b | 0d 0d 20 20 20 20 49 66 |f,@len);|.. If| |00001450| 20 28 47 65 74 48 61 6e | 64 6c 65 53 69 7a 65 28 | (GetHan|dleSize(| |00001460| 54 45 43 68 61 72 73 29 | 2b 6c 65 6e 29 20 3e 20 |TEChars)|+len) > | |00001470| 4d 61 78 43 68 61 72 73 | 20 54 68 65 6e 0d 20 20 |MaxChars| Then. | |00001480| 20 20 20 20 49 66 20 69 | 3c 3e 53 74 61 72 74 50 | If i|<>StartP| |00001490| 61 72 61 20 54 68 65 6e | 0d 20 20 20 20 20 20 20 |ara Then|. | |000014a0| 20 42 72 65 61 6b 3b 0d | 0d 20 20 20 20 53 65 74 | Break;.|. Set| |000014b0| 50 74 72 53 69 7a 65 28 | 62 75 66 2c 6c 6f 6e 67 |PtrSize(|buf,long| |000014c0| 69 6e 74 28 6c 65 6e 29 | 29 3b 0d 20 20 20 20 66 |int(len)|);. f| |000014d0| 66 72 65 61 64 28 66 2c | 62 75 66 2c 6c 6f 6e 67 |fread(f,|buf,long| |000014e0| 69 6e 74 28 6c 65 6e 29 | 29 3b 0d 20 20 20 20 49 |int(len)|);. I| |000014f0| 66 20 21 70 72 65 73 73 | 20 54 68 65 6e 0d 20 20 |f !press| Then. | |00001500| 20 20 20 20 20 20 6c 6f | 6f 70 28 6c 65 6e 2c 6a | lo|op(len,j| |00001510| 3a 3d 30 2c 2c 2b 2b 6a | 3d 6c 65 6e 29 0d 20 20 |:=0,,++j|=len). | |00001520| 20 20 20 20 20 20 20 20 | 20 41 64 64 63 68 61 72 | | Addchar| |00001530| 28 49 6e 74 65 67 65 72 | 28 62 75 66 5e 5b 6a 5d |(Integer|(buf^[j]| |00001540| 29 29 0d 20 20 20 20 20 | 20 45 6c 73 65 0d 20 20 |)). | Else. | |00001550| 20 20 20 20 20 20 6c 6f | 6f 70 28 6c 65 6e 2c 4e | lo|op(len,N| |00001560| 65 78 74 41 73 63 3a 3d | 46 61 6c 73 65 3b 4e 65 |extAsc:=|False;Ne| |00001570| 65 64 4e 69 62 3a 3d 46 | 61 6c 73 65 3b 6a 3a 3d |edNib:=F|alse;j:=| |00001580| 30 3b 6b 3a 3d 30 2c 2b | 2b 6b 2c 29 20 7b 0d 20 |0;k:=0,+|+k,) {. | |00001590| 20 20 20 20 20 20 20 20 | 20 64 20 3a 3d 20 44 65 | | d := De| |000015a0| 63 6f 6d 70 72 65 73 73 | 28 62 75 66 5e 5b 6b 5d |compress|(buf^[k]| |000015b0| 20 3e 3e 20 34 29 3b 0d | 20 20 20 20 20 20 20 20 | >> 4);.| | |000015c0| 20 20 49 66 20 64 20 3e | 20 30 20 74 68 65 6e 20 | If d >| 0 then | |000015d0| 7b 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 41 64 |{. | Ad| |000015e0| 64 63 68 61 72 28 64 29 | 3b 0d 20 20 20 20 20 20 |dchar(d)|;. | |000015f0| 20 20 20 20 20 20 49 66 | 20 2b 2b 6a 3e 3d 6c 65 | If| ++j>=le| |00001600| 6e 20 74 68 65 6e 20 62 | 72 65 61 6b 3b 0d 20 20 |n then b|reak;. | |00001610| 20 20 20 20 20 20 20 20 | 20 20 7d 3b 0d 20 20 20 | | };. | |00001620| 20 20 20 20 20 20 20 64 | 20 3a 3d 20 44 65 63 6f | d| := Deco| |00001630| 6d 70 72 65 73 73 28 62 | 75 66 5e 5b 6b 5d 20 61 |mpress(b|uf^[k] a| |00001640| 6e 64 20 42 79 74 65 28 | 24 30 46 29 29 3b 0d 20 |nd Byte(|$0F));. | |00001650| 20 20 20 20 20 20 20 20 | 20 49 66 20 64 20 3e 20 | | If d > | |00001660| 30 20 74 68 65 6e 20 7b | 0d 20 20 20 20 20 20 20 |0 then {|. | |00001670| 20 20 20 20 20 41 64 64 | 63 68 61 72 28 64 29 3b | Add|char(d);| |00001680| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 49 66 20 |. | If | |00001690| 2b 2b 6a 3e 3d 6c 65 6e | 20 74 68 65 6e 20 62 72 |++j>=len| then br| |000016a0| 65 61 6b 3b 0d 20 20 20 | 20 20 20 20 20 20 20 20 |eak;. | | |000016b0| 20 7d 3b 0d 20 20 20 20 | 20 20 20 20 20 20 7d 3b | };. | };| |000016c0| 0d 20 20 20 20 7d 3b 0d | 0d 20 20 49 66 20 21 61 |. };.|. If !a| |000016d0| 62 73 50 61 67 65 4e 75 | 6d 20 54 68 65 6e 20 7b |bsPageNu|m Then {| |000016e0| 0d 20 20 20 20 2b 2b 43 | 75 72 50 4e 75 6d 3b 0d |. ++C|urPNum;.| |000016f0| 20 20 20 20 43 68 61 6e | 67 65 50 61 67 65 28 31 | Chan|gePage(1| |00001700| 29 3b 0d 20 20 20 20 7d | 0d 20 20 45 6c 73 65 0d |);. }|. Else.| |00001710| 20 20 20 20 53 65 74 50 | 61 67 65 28 4c 61 73 74 | SetP|age(Last| |00001720| 50 4e 75 6d 2b 53 74 61 | 72 74 50 4e 75 6d 29 3b |PNum+Sta|rtPNum);| |00001730| 0d 0d 0d 20 20 49 66 20 | 69 3d 63 6f 75 6e 74 20 |... If |i=count | |00001740| 54 68 65 6e 0d 20 20 20 | 20 4e 65 78 74 53 63 72 |Then. | NextScr| |00001750| 65 65 6e 20 3a 3d 20 2d | 31 0d 20 20 20 45 6c 73 |een := -|1. Els| |00001760| 65 0d 20 20 20 20 4e 65 | 78 74 53 63 72 65 65 6e |e. Ne|xtScreen| |00001770| 20 3a 3d 20 69 3b 0d 0d | 20 20 44 69 73 70 6f 73 | := i;..| Dispos| |00001780| 70 74 72 28 42 75 66 29 | 3b 0d 20 20 44 69 73 70 |ptr(Buf)|;. Disp| |00001790| 6f 73 68 61 6e 64 6c 65 | 28 69 6e 66 6f 68 61 6e |oshandle|(infohan| |000017a0| 64 29 3b 0d 20 20 66 63 | 6c 6f 73 65 28 66 29 3b |d);. fc|lose(f);| |000017b0| 0d 20 20 46 6c 75 73 68 | 28 29 3b 0d 20 20 54 45 |. Flush|();. TE| |000017c0| 43 61 6c 54 65 78 74 28 | 54 45 29 3b 0d 20 20 61 |CalText(|TE);. a| |000017d0| 64 6a 75 73 74 5f 65 64 | 28 29 3b 0d 20 20 61 72 |djust_ed|();. ar| |000017e0| 72 6f 77 28 29 3b 0d 7d | 3b 0d 0d 50 72 6f 63 20 |row();.}|;..Proc | |000017f0| 4e 65 77 46 69 6c 65 28 | 29 3b 0d 56 61 72 0d 20 |NewFile(|);.Var. | |00001800| 20 20 20 67 6f 6f 64 20 | 3a 20 49 6e 74 65 67 65 | good |: Intege| |00001810| 72 3b 0d 20 20 20 20 6e | 70 3a 20 70 74 72 62 3b |r;. n|p: ptrb;| |00001820| 0d 7b 0d 20 20 6e 67 65 | 74 66 69 6c 65 28 31 30 |.{. nge|tfile(10| |00001830| 30 2c 37 30 2c 40 6e 70 | 2c 22 20 57 4f 52 44 22 |0,70,@np|," WORD"| |00001840| 2b 32 2c 31 2c 40 76 72 | 65 66 2c 40 67 6f 6f 64 |+2,1,@vr|ef,@good| |00001850| 29 3b 0d 20 20 69 66 20 | 21 67 6f 6f 64 20 74 68 |);. if |!good th| |00001860| 65 6e 20 72 65 74 75 72 | 6e 3b 0d 20 20 44 6f 63 |en retur|n;. Doc| |00001870| 4e 61 6d 65 20 3a 3d 20 | 70 46 69 6c 65 4e 61 6d |Name := |pFileNam| |00001880| 65 28 6e 70 29 5e 3b 0d | 20 20 43 75 72 50 4e 75 |e(np)^;.| CurPNu| |00001890| 6d 20 3a 3d 20 30 3b 0d | 20 20 43 75 72 72 65 6e |m := 0;.| Curren| |000018a0| 74 50 61 72 61 20 3a 3d | 20 4e 65 78 74 53 63 72 |tPara :=| NextScr| |000018b0| 65 65 6e 28 30 29 3b 0d | 20 20 49 66 20 43 75 72 |een(0);.| If Cur| |000018c0| 72 65 6e 74 50 61 72 61 | 20 3d 20 2d 31 20 54 68 |rentPara| = -1 Th| |000018d0| 65 6e 0d 20 20 20 20 46 | 69 6c 65 44 6f 6e 65 28 |en. F|ileDone(| |000018e0| 29 3b 0d 7d 3b 0d 0d 46 | 75 6e 63 20 49 74 65 6d |);.};..F|unc Item| |000018f0| 48 61 6e 64 6c 65 28 49 | 74 65 6d 3a 20 49 6e 74 |Handle(I|tem: Int| |00001900| 65 67 65 72 29 3a 20 48 | 61 6e 64 6c 65 3b 0d 56 |eger): H|andle;.V| |00001910| 61 72 0d 20 20 52 3a 20 | 52 65 63 74 3b 0d 20 20 |ar. R: |Rect;. | |00001920| 61 54 79 70 65 3a 20 49 | 6e 74 65 67 65 72 3b 0d |aType: I|nteger;.| |00001930| 20 20 54 48 61 6e 64 3a | 20 48 61 6e 64 6c 65 3b | THand:| Handle;| |00001940| 0d 7b 0d 20 20 47 65 74 | 44 49 74 65 6d 28 4d 79 |.{. Get|DItem(My| |00001950| 4c 6f 67 2c 49 74 65 6d | 2c 40 61 74 79 70 65 2c |Log,Item|,@atype,| |00001960| 40 54 48 61 6e 64 2c 40 | 52 29 3b 0d 20 20 52 65 |@THand,@|R);. Re| |00001970| 74 75 72 6e 28 54 48 61 | 6e 64 29 3b 0d 7d 3b 0d |turn(THa|nd);.};.| |00001980| 0d 50 72 6f 63 20 46 6c | 61 73 68 49 74 28 49 74 |.Proc Fl|ashIt(It| |00001990| 65 6d 3a 20 49 6e 74 65 | 67 65 72 29 3b 0d 56 61 |em: Inte|ger);.Va| |000019a0| 72 0d 20 20 43 3a 20 43 | 6f 6e 74 72 6f 6c 68 61 |r. C: C|ontrolha| |000019b0| 6e 64 6c 65 3b 0d 20 20 | 54 3a 20 4c 6f 6e 67 69 |ndle;. |T: Longi| |000019c0| 6e 74 3b 0d 7b 0d 20 20 | 43 20 3a 3d 20 49 74 65 |nt;.{. |C := Ite| |000019d0| 6d 48 61 6e 64 6c 65 28 | 49 74 65 6d 29 3b 0d 20 |mHandle(|Item);. | |000019e0| 20 48 69 6c 69 74 65 43 | 6f 6e 74 72 6f 6c 28 43 | HiliteC|ontrol(C| |000019f0| 2c 31 29 3b 0d 20 20 4c | 6f 6f 70 28 2c 54 3a 3d |,1);. L|oop(,T:=| |00001a00| 54 69 63 6b 43 6f 75 6e | 74 28 29 2b 31 32 2c 2c |TickCoun|t()+12,,| |00001a10| 54 69 63 6b 43 6f 75 6e | 74 28 29 3e 54 29 3b 0d |TickCoun|t()>T);.| |00001a20| 20 20 48 69 6c 69 74 65 | 43 6f 6e 74 72 6f 6c 28 | Hilite|Control(| |00001a30| 43 2c 30 29 3b 0d 7d 3b | 0d 0d 50 72 6f 63 20 53 |C,0);.};|..Proc S| |00001a40| 68 6f 77 57 6f 72 64 28 | 73 2c 66 3a 20 69 6e 74 |howWord(|s,f: int| |00001a50| 65 67 65 72 29 3b 0d 56 | 61 72 0d 20 20 54 65 78 |eger);.V|ar. Tex| |00001a60| 74 48 61 6e 64 3a 20 48 | 61 6e 64 6c 65 3b 0d 20 |tHand: H|andle;. | |00001a70| 20 4e 65 77 57 6f 72 64 | 3a 20 53 74 72 32 35 35 | NewWord|: Str255| |00001a80| 3b 0d 20 20 69 3a 20 69 | 6e 74 65 67 65 72 3b 0d |;. i: i|nteger;.| |00001a90| 7b 0d 20 20 49 66 20 28 | 28 66 3d 73 29 20 6f 72 |{. If (|(f=s) or| |00001aa0| 20 28 28 66 2d 73 29 3e | 32 35 35 29 29 20 74 68 | ((f-s)>|255)) th| |00001ab0| 65 6e 20 52 65 74 75 72 | 6e 3b 0d 20 20 54 65 78 |en Retur|n;. Tex| |00001ac0| 74 48 61 6e 64 20 3a 3d | 20 49 74 65 6d 48 61 6e |tHand :=| ItemHan| |00001ad0| 64 6c 65 28 64 62 57 6f | 72 64 29 3b 0d 20 20 4e |dle(dbWo|rd);. N| |00001ae0| 65 77 57 6f 72 64 5b 30 | 5d 3a 3d 20 66 2d 73 3b |ewWord[0|]:= f-s;| |00001af0| 0d 20 20 4c 6f 6f 70 28 | 2c 69 3a 3d 73 2c 2c 2b |. Loop(|,i:=s,,+| |00001b00| 2b 69 3e 66 29 0d 20 20 | 20 20 4e 65 77 57 6f 72 |+i>f). | NewWor| |00001b10| 64 5b 69 2d 73 2b 31 5d | 20 3a 3d 20 54 45 43 68 |d[i-s+1]| := TECh| |00001b20| 61 72 73 5e 5e 5b 69 5d | 3b 0d 20 20 53 65 74 49 |ars^^[i]|;. SetI| |00001b30| 54 65 78 74 28 54 65 78 | 74 48 61 6e 64 2c 4e 65 |Text(Tex|tHand,Ne| |00001b40| 77 57 6f 72 64 29 3b 0d | 20 20 53 65 6c 49 54 65 |wWord);.| SelITe| |00001b50| 78 74 28 4d 79 4c 6f 67 | 2c 64 62 57 6f 72 64 2c |xt(MyLog|,dbWord,| |00001b60| 30 2c 33 30 30 30 30 29 | 3b 0d 7d 3b 0d 0d 50 72 |0,30000)|;.};..Pr| |00001b70| 6f 63 65 64 75 72 65 20 | 53 65 74 50 61 67 65 28 |ocedure |SetPage(| |00001b80| 69 3a 20 69 6e 74 65 67 | 65 72 29 3b 0d 56 61 72 |i: integ|er);.Var| |00001b90| 0d 20 50 48 61 6e 64 3a | 20 48 61 6e 64 6c 65 3b |. PHand:| Handle;| |00001ba0| 0d 20 53 74 72 3a 20 53 | 74 72 32 35 35 3b 0d 20 |. Str: S|tr255;. | |00001bb0| 4e 75 6d 3a 20 4c 6f 6e | 67 69 6e 74 3b 0d 7b 0d |Num: Lon|gint;.{.| |00001bc0| 20 20 50 48 61 6e 64 20 | 3a 3d 20 49 74 65 6d 48 | PHand |:= ItemH| |00001bd0| 61 6e 64 6c 65 28 64 62 | 50 61 67 65 29 3b 0d 20 |andle(db|Page);. | |00001be0| 20 4e 75 6d 20 3a 3d 20 | 69 3b 0d 20 20 4e 75 6d | Num := |i;. Num| |00001bf0| 54 6f 53 74 72 69 6e 67 | 28 4e 75 6d 2c 53 74 72 |ToString|(Num,Str| |00001c00| 29 3b 0d 20 20 53 65 74 | 49 54 65 78 74 28 70 48 |);. Set|IText(pH| |00001c10| 61 6e 64 2c 53 74 72 29 | 3b 0d 7d 3b 0d 0d 50 72 |and,Str)|;.};..Pr| |00001c20| 6f 63 65 64 75 72 65 20 | 43 68 61 6e 67 65 50 61 |ocedure |ChangePa| |00001c30| 67 65 28 61 6d 74 3a 20 | 69 6e 74 65 67 65 72 29 |ge(amt: |integer)| |00001c40| 3b 0d 56 61 72 0d 20 50 | 48 61 6e 64 3a 20 48 61 |;.Var. P|Hand: Ha| |00001c50| 6e 64 6c 65 3b 0d 20 53 | 74 72 3a 20 53 74 72 32 |ndle;. S|tr: Str2| |00001c60| 35 35 3b 0d 20 4e 75 6d | 3a 20 4c 6f 6e 67 69 6e |55;. Num|: Longin| |00001c70| 74 3b 0d 7b 0d 20 20 50 | 48 61 6e 64 20 3a 3d 20 |t;.{. P|Hand := | |00001c80| 49 74 65 6d 48 61 6e 64 | 6c 65 28 64 62 50 61 67 |ItemHand|le(dbPag| |00001c90| 65 29 3b 0d 20 20 47 65 | 74 49 54 65 78 74 28 70 |e);. Ge|tIText(p| |00001ca0| 48 61 6e 64 2c 40 53 74 | 72 29 3b 0d 20 20 53 74 |Hand,@St|r);. St| |00001cb0| 72 69 6e 67 54 6f 4e 75 | 6d 28 53 74 72 2c 40 4e |ringToNu|m(Str,@N| |00001cc0| 75 6d 29 3b 0d 20 20 4e | 75 6d 20 2b 3d 20 61 6d |um);. N|um += am| |00001cd0| 74 3b 0d 20 20 4e 75 6d | 54 6f 53 74 72 69 6e 67 |t;. Num|ToString| |00001ce0| 28 4e 75 6d 2c 53 74 72 | 29 3b 0d 20 20 53 65 74 |(Num,Str|);. Set| |00001cf0| 49 54 65 78 74 28 70 48 | 61 6e 64 2c 53 74 72 29 |IText(pH|and,Str)| |00001d00| 3b 0d 7d 3b 0d 0d 50 72 | 6f 63 65 64 75 72 65 20 |;.};..Pr|ocedure | |00001d10| 4d 79 43 61 74 28 73 31 | 2c 73 32 3a 20 53 74 72 |MyCat(s1|,s2: Str| |00001d20| 32 35 35 29 3b 0d 56 61 | 72 0d 20 20 69 3a 20 69 |255);.Va|r. i: i| |00001d30| 6e 74 65 67 65 72 3b 0d | 7b 0d 20 20 49 66 20 28 |nteger;.|{. If (| |00001d40| 73 31 5b 30 5d 20 2b 20 | 73 32 5b 30 5d 29 20 3e |s1[0] + |s2[0]) >| |00001d50| 20 32 35 34 20 54 68 65 | 6e 20 52 65 74 75 72 6e | 254 The|n Return| |00001d60| 3b 0d 20 20 4c 6f 6f 70 | 28 73 32 5b 30 5d 2c 69 |;. Loop|(s2[0],i| |00001d70| 3a 3d 73 32 5b 30 5d 2c | 2c 21 2d 2d 69 29 0d 20 |:=s2[0],|,!--i). | |00001d80| 20 20 20 73 31 5b 73 31 | 5b 30 5d 2b 69 5d 20 3a | s1[s1|[0]+i] :| |00001d90| 3d 20 73 32 5b 69 5d 3b | 0d 20 20 73 31 5b 30 5d |= s2[i];|. s1[0]| |00001da0| 2b 3d 73 32 5b 30 5d 3b | 0d 7d 3b 0d 0d 50 72 6f |+=s2[0];|.};..Pro| |00001db0| 63 20 50 75 74 57 6f 72 | 64 28 57 6f 72 64 3a 20 |c PutWor|d(Word: | |00001dc0| 53 74 72 32 35 35 29 3b | 0d 56 61 72 0d 20 20 65 |Str255);|.Var. e| |00001dd0| 72 72 3a 20 69 6e 74 65 | 67 65 72 3b 0d 7b 0d 20 |rr: inte|ger;.{. | |00001de0| 20 49 66 20 44 6f 6e 74 | 48 61 76 65 20 54 68 65 | If Dont|Have The| |00001df0| 6e 20 52 65 74 75 72 6e | 3b 0d 20 20 66 70 75 74 |n Return|;. fput| |00001e00| 73 28 46 49 6e 64 2c 57 | 6f 72 64 29 3b 0d 20 20 |s(FInd,W|ord);. | |00001e10| 66 70 75 74 63 28 46 49 | 6e 64 2c 31 33 29 3b 0d |fputc(FI|nd,13);.| |00001e20| 20 20 66 65 72 72 28 40 | 65 72 72 29 3b 0d 20 20 | ferr(@|err);. | |00001e30| 69 66 20 65 72 72 20 54 | 68 65 6e 20 7b 73 79 73 |if err T|hen {sys| |00001e40| 62 65 65 70 28 32 29 3b | 73 79 73 62 65 65 70 28 |beep(2);|sysbeep(| |00001e50| 32 29 3b 73 79 73 62 65 | 65 70 28 32 29 3b 73 79 |2);sysbe|ep(2);sy| |00001e60| 73 62 65 65 70 28 32 29 | 3b 7d 3b 0d 7d 3b 0d 0d |sbeep(2)|;};.};..| |00001e70| 50 72 6f 63 65 64 75 72 | 65 20 41 64 64 45 6e 74 |Procedur|e AddEnt| |00001e80| 72 79 28 29 3b 0d 56 61 | 72 0d 20 20 53 74 72 3a |ry();.Va|r. Str:| |00001e90| 20 53 74 72 32 35 35 3b | 0d 20 20 74 48 61 6e 64 | Str255;|. tHand| |00001ea0| 3a 20 48 61 6e 64 6c 65 | 3b 0d 7b 0d 20 20 74 48 |: Handle|;.{. tH| |00001eb0| 61 6e 64 20 3a 3d 20 49 | 74 65 6d 48 61 6e 64 6c |and := I|temHandl| |00001ec0| 65 28 64 62 57 6f 72 64 | 29 3b 0d 20 20 47 65 74 |e(dbWord|);. Get| |00001ed0| 49 54 65 78 74 28 74 48 | 61 6e 64 2c 40 73 74 72 |IText(tH|and,@str| |00001ee0| 29 3b 0d 20 20 69 66 20 | 21 73 74 72 5b 30 5d 20 |);. if |!str[0] | |00001ef0| 54 68 65 6e 20 52 65 74 | 75 72 6e 3b 0d 20 20 69 |Then Ret|urn;. i| |00001f00| 66 20 4c 61 73 74 45 6e | 74 72 79 5b 30 5d 20 54 |f LastEn|try[0] T| |00001f10| 68 65 6e 0d 20 20 20 20 | 50 75 74 57 6f 72 64 28 |hen. |PutWord(| |00001f20| 4c 61 73 74 45 6e 74 72 | 79 29 3b 0d 20 20 4c 61 |LastEntr|y);. La| |00001f30| 73 74 45 6e 74 72 79 20 | 3a 3d 20 53 74 72 3b 0d |stEntry |:= Str;.| |00001f40| 20 20 4c 61 73 74 57 6f | 72 64 20 3a 3d 20 53 74 | LastWo|rd := St| |00001f50| 72 3b 0d 20 20 49 66 20 | 53 70 65 61 6b 69 6e 67 |r;. If |Speaking| |00001f60| 20 54 68 65 6e 20 73 79 | 73 62 65 65 70 28 31 29 | Then sy|sbeep(1)| |00001f70| 3b 0d 20 20 74 48 61 6e | 64 20 3a 3d 20 49 74 65 |;. tHan|d := Ite| |00001f80| 6d 48 61 6e 64 6c 65 28 | 64 62 43 68 61 70 74 65 |mHandle(|dbChapte| |00001f90| 72 29 3b 0d 20 20 47 65 | 74 49 54 65 78 74 28 74 |r);. Ge|tIText(t| |00001fa0| 48 61 6e 64 2c 40 73 74 | 72 29 3b 0d 20 20 4d 79 |Hand,@st|r);. My| |00001fb0| 43 61 74 28 4c 61 73 74 | 45 6e 74 72 79 2c 22 20 |Cat(Last|Entry," | |00001fc0| 22 29 3b 0d 20 20 4d 79 | 43 61 74 28 4c 61 73 74 |");. My|Cat(Last| |00001fd0| 45 6e 74 72 79 2c 53 74 | 72 29 3b 0d 20 20 74 48 |Entry,St|r);. tH| |00001fe0| 61 6e 64 20 3a 3d 20 49 | 74 65 6d 48 61 6e 64 6c |and := I|temHandl| |00001ff0| 65 28 64 62 50 61 67 65 | 29 3b 0d 20 20 47 65 74 |e(dbPage|);. Get| |00002000| 49 54 65 78 74 28 74 48 | 61 6e 64 2c 40 73 74 72 |IText(tH|and,@str| |00002010| 29 3b 0d 20 20 4d 79 43 | 61 74 28 4c 61 73 74 45 |);. MyC|at(LastE| |00002020| 6e 74 72 79 2c 53 74 72 | 29 3b 0d 7d 3b 0d 0d 50 |ntry,Str|);.};..P| |00002030| 72 6f 63 65 64 75 72 65 | 20 52 65 6d 6f 76 65 4c |rocedure| RemoveL| |00002040| 61 73 74 28 29 3b 0d 56 | 61 72 0d 20 20 54 48 61 |ast();.V|ar. THa| |00002050| 6e 64 3a 20 48 61 6e 64 | 6c 65 3b 0d 20 20 53 74 |nd: Hand|le;. St| |00002060| 72 3a 20 53 74 72 32 35 | 35 3b 0d 7b 0d 20 20 49 |r: Str25|5;.{. I| |00002070| 66 20 21 4c 61 73 74 45 | 6e 74 72 79 5b 30 5d 20 |f !LastE|ntry[0] | |00002080| 54 68 65 6e 20 7b 20 53 | 79 73 62 65 65 70 28 32 |Then { S|ysbeep(2| |00002090| 29 3b 20 52 65 74 75 72 | 6e 20 7d 3b 0d 20 20 4c |); Retur|n };. L| |000020a0| 61 73 74 45 6e 74 72 79 | 5b 30 5d 3a 3d 30 3b 0d |astEntry|[0]:=0;.| |000020b0| 20 20 54 48 61 6e 64 20 | 3a 3d 20 49 74 65 6d 48 | THand |:= ItemH| |000020c0| 61 6e 64 6c 65 28 64 62 | 57 6f 72 64 29 3b 0d 20 |andle(db|Word);. | |000020d0| 20 53 65 74 49 54 65 78 | 74 28 54 48 61 6e 64 2c | SetITex|t(THand,| |000020e0| 4c 61 73 74 57 6f 72 64 | 29 3b 0d 20 20 53 65 6c |LastWord|);. Sel| |000020f0| 49 54 65 78 74 28 4d 79 | 6c 6f 67 2c 64 62 57 6f |IText(My|log,dbWo| |00002100| 72 64 2c 30 2c 33 30 30 | 30 30 29 3b 0d 7d 3b 0d |rd,0,300|00);.};.| |00002110| 0d 50 72 6f 63 65 64 75 | 72 65 20 48 61 6e 64 6c |.Procedu|re Handl| |00002120| 65 44 6c 6f 67 28 69 74 | 65 6d 3a 20 69 6e 74 65 |eDlog(it|em: inte| |00002130| 67 65 72 29 3b 0d 7b 0d | 20 20 43 61 73 65 20 49 |ger);.{.| Case I| |00002140| 74 65 6d 20 6f 66 0d 20 | 20 20 20 64 62 49 6e 63 |tem of. | dbInc| |00002150| 3a 20 43 68 61 6e 67 65 | 50 61 67 65 28 31 29 3b |: Change|Page(1);| |00002160| 0d 20 20 20 20 64 62 44 | 65 63 3a 20 43 68 61 6e |. dbD|ec: Chan| |00002170| 67 65 50 61 67 65 28 2d | 31 29 3b 0d 20 20 20 20 |gePage(-|1);. | |00002180| 64 62 41 64 64 3a 20 41 | 64 64 45 6e 74 72 79 28 |dbAdd: A|ddEntry(| |00002190| 29 3b 0d 20 20 20 20 64 | 62 42 61 63 6b 55 70 3a |);. d|bBackUp:| |000021a0| 20 52 65 6d 6f 76 65 4c | 61 73 74 28 29 3b 0d 20 | RemoveL|ast();. | |000021b0| 20 45 6e 64 3b 0d 7d 3b | 0d 0d 50 72 6f 63 20 43 | End;.};|..Proc C| |000021c0| 6c 6f 73 65 49 6e 64 65 | 78 28 29 3b 0d 7b 0d 20 |loseInde|x();.{. | |000021d0| 20 49 66 20 44 6f 6e 74 | 48 61 76 65 20 54 68 65 | If Dont|Have The| |000021e0| 6e 0d 20 20 20 20 52 65 | 74 75 72 6e 3b 0d 20 20 |n. Re|turn;. | |000021f0| 69 66 20 4c 61 73 74 45 | 6e 74 72 79 5b 30 5d 20 |if LastE|ntry[0] | |00002200| 54 68 65 6e 0d 20 20 20 | 20 50 75 74 57 6f 72 64 |Then. | PutWord| |00002210| 28 4c 61 73 74 45 6e 74 | 72 79 29 3b 0d 20 20 46 |(LastEnt|ry);. F| |00002220| 43 6c 6f 73 65 28 66 49 | 6e 64 29 3b 0d 20 20 46 |Close(fI|nd);. F| |00002230| 6c 75 73 68 28 29 3b 0d | 20 20 48 69 64 65 57 69 |lush();.| HideWi| |00002240| 6e 64 6f 77 28 4d 79 4c | 6f 67 29 3b 0d 7d 3b 0d |ndow(MyL|og);.};.| |00002250| 0d 50 72 6f 63 20 4e 65 | 77 49 6e 64 65 78 28 6e |.Proc Ne|wIndex(n| |00002260| 61 6d 65 70 74 72 3a 70 | 74 72 62 3b 76 72 65 66 |ameptr:p|trb;vref| |00002270| 3a 69 6e 74 65 67 65 72 | 29 3b 0d 56 61 72 0d 20 |:integer|);.Var. | |00002280| 20 47 6f 6f 64 3a 20 49 | 6e 74 65 67 65 72 3b 0d | Good: I|nteger;.| |00002290| 7b 0d 20 20 47 6f 6f 64 | 20 3a 3d 20 31 3b 0d 0d |{. Good| := 1;..| |000022a0| 20 20 49 66 20 21 6e 61 | 6d 65 70 74 72 20 54 68 | If !na|meptr Th| |000022b0| 65 6e 0d 20 20 20 20 50 | 75 74 46 69 6c 65 28 40 |en. P|utFile(@| |000022c0| 6e 61 6d 65 70 74 72 2c | 40 76 72 65 66 2c 40 67 |nameptr,|@vref,@g| |000022d0| 6f 6f 64 29 3b 0d 0d 20 | 20 49 66 20 21 67 6f 6f |ood);.. | If !goo| |000022e0| 64 20 54 68 65 6e 20 52 | 65 74 75 72 6e 3b 0d 20 |d Then R|eturn;. | |000022f0| 20 43 6c 6f 73 65 49 6e | 64 65 78 28 29 3b 0d 20 | CloseIn|dex();. | |00002300| 20 44 6f 6e 74 48 61 76 | 65 20 3a 3d 20 46 61 6c | DontHav|e := Fal| |00002310| 73 65 3b 0d 20 20 66 63 | 72 65 61 74 65 28 6e 61 |se;. fc|reate(na| |00002320| 6d 65 70 74 72 2c 22 20 | 72 49 4e 44 22 2b 32 2c |meptr," |rIND"+2,| |00002330| 22 20 54 45 58 54 22 2b | 32 2c 76 72 65 66 29 3b |" TEXT"+|2,vref);| |00002340| 0d 20 20 66 6f 70 65 6e | 28 40 66 49 6e 64 2c 6e |. fopen|(@fInd,n| |00002350| 61 6d 65 70 74 72 2c 33 | 2c 76 72 65 66 29 3b 0d |ameptr,3|,vref);.| |00002360| 20 20 56 72 65 66 49 6e | 64 20 3a 3d 20 76 72 65 | VrefIn|d := vre| |00002370| 66 3b 0d 20 20 53 65 74 | 57 54 69 74 6c 65 28 4d |f;. Set|WTitle(M| |00002380| 79 4c 6f 67 2c 6e 61 6d | 65 70 74 72 29 3b 0d 20 |yLog,nam|eptr);. | |00002390| 20 66 73 65 65 6b 28 66 | 49 6e 64 2c 30 4c 2c 32 | fseek(f|Ind,0L,2| |000023a0| 29 3b 0d 20 20 53 68 6f | 77 57 69 6e 64 6f 77 28 |);. Sho|wWindow(| |000023b0| 4d 79 4c 6f 67 29 3b 0d | 7d 3b 0d 0d 50 72 6f 63 |MyLog);.|};..Proc| |000023c0| 20 4f 70 65 6e 49 6e 64 | 65 78 28 29 3b 0d 56 61 | OpenInd|ex();.Va| |000023d0| 72 0d 20 6e 61 6d 65 70 | 74 72 3a 20 70 74 72 62 |r. namep|tr: ptrb| |000023e0| 3b 0d 20 76 72 65 66 2c | 67 6f 6f 64 3a 20 69 6e |;. vref,|good: in| |000023f0| 74 65 67 65 72 3b 0d 7b | 0d 20 20 47 65 74 46 69 |teger;.{|. GetFi| |00002400| 6c 65 28 40 6e 61 6d 65 | 70 74 72 2c 40 76 72 65 |le(@name|ptr,@vre| |00002410| 66 2c 40 67 6f 6f 64 29 | 3b 0d 20 20 49 66 20 21 |f,@good)|;. If !| |00002420| 67 6f 6f 64 20 74 68 65 | 6e 0d 20 20 20 20 52 65 |good the|n. Re| |00002430| 74 75 72 6e 3b 0d 20 20 | 4e 65 77 49 6e 64 65 78 |turn;. |NewIndex| |00002440| 28 6e 61 6d 65 70 74 72 | 2c 76 72 65 66 29 3b 0d |(nameptr|,vref);.| |00002450| 7d 3b 0d 0d 50 72 6f 63 | 20 53 61 76 65 49 6e 64 |};..Proc| SaveInd| |00002460| 65 78 28 29 3b 0d 56 61 | 72 0d 20 20 69 6f 3a 20 |ex();.Va|r. io: | |00002470| 49 6e 74 65 67 65 72 3b | 0d 7b 0d 20 20 20 20 69 |Integer;|.{. i| |00002480| 66 20 4c 61 73 74 45 6e | 74 72 79 5b 30 5d 20 54 |f LastEn|try[0] T| |00002490| 68 65 6e 20 50 75 74 57 | 6f 72 64 28 4c 61 73 74 |hen PutW|ord(Last| |000024a0| 45 6e 74 72 79 29 3b 0d | 20 20 20 20 46 6c 75 73 |Entry);.| Flus| |000024b0| 68 28 29 3b 0d 7d 3b 20 | 20 0d 0d 50 72 6f 63 20 |h();.}; | ..Proc | |000024c0| 49 6e 69 74 4d 79 4d 65 | 6e 75 73 28 29 3b 0d 56 |InitMyMe|nus();.V| |000024d0| 61 72 20 6d 3a 20 70 74 | 72 6c 3b 0d 7b 0d 20 20 |ar m: pt|rl;.{. | |000024e0| 6d 20 3a 3d 20 4e 65 77 | 4d 65 6e 75 28 49 6e 64 |m := New|Menu(Ind| |000024f0| 65 78 4d 65 6e 75 2c 22 | 49 6e 64 65 78 22 29 3b |exMenu,"|Index");| |00002500| 0d 20 20 49 6e 73 65 72 | 74 4d 65 6e 75 28 6d 2c |. Inser|tMenu(m,| |00002510| 52 61 73 45 64 69 74 49 | 44 29 3b 0d 20 20 4d 65 |RasEditI|D);. Me| |00002520| 6e 75 49 64 73 5b 30 5d | 20 3a 3d 20 49 6e 64 65 |nuIds[0]| := Inde| |00002530| 78 4d 65 6e 75 3b 0d 20 | 20 2b 2b 4e 75 6d 6d 65 |xMenu;. | ++Numme| |00002540| 6e 75 73 3b 0d 0d 20 20 | 41 64 64 49 74 65 6d 28 |nus;.. |AddItem(| |00002550| 49 6e 64 65 78 4d 65 6e | 75 2c 20 22 4e 65 77 2e |IndexMen|u, "New.| |00002560| 2e 2e 22 29 3b 0d 20 20 | 41 64 64 49 74 65 6d 28 |..");. |AddItem(| |00002570| 49 6e 64 65 78 4d 65 6e | 75 2c 20 22 4f 70 65 6e |IndexMen|u, "Open| |00002580| 2e 2e 2e 22 29 3b 0d 20 | 20 41 64 64 49 74 65 6d |...");. | AddItem| |00002590| 28 49 6e 64 65 78 4d 65 | 6e 75 2c 20 22 53 61 76 |(IndexMe|nu, "Sav| |000025a0| 65 22 29 3b 0d 20 20 41 | 64 64 49 74 65 6d 28 49 |e");. A|ddItem(I| |000025b0| 6e 64 65 78 4d 65 6e 75 | 2c 20 22 43 6c 6f 73 65 |ndexMenu|, "Close| |000025c0| 22 29 3b 0d 20 20 41 64 | 64 49 74 65 6d 28 49 6e |");. Ad|dItem(In| |000025d0| 64 65 78 4d 65 6e 75 2c | 20 22 28 2d 22 29 3b 0d |dexMenu,| "(-");.| |000025e0| 20 20 41 64 64 49 74 65 | 6d 28 49 6e 64 65 78 4d | AddIte|m(IndexM| |000025f0| 65 6e 75 2c 20 22 46 65 | 65 64 62 61 63 6b 22 29 |enu, "Fe|edback")| |00002600| 3b 0d 20 20 41 64 64 49 | 74 65 6d 28 49 6e 64 65 |;. AddI|tem(Inde| |00002610| 78 4d 65 6e 75 2c 20 22 | 28 2d 22 29 3b 0d 20 20 |xMenu, "|(-");. | |00002620| 41 64 64 49 74 65 6d 28 | 49 6e 64 65 78 4d 65 6e |AddItem(|IndexMen| |00002630| 75 2c 20 22 48 65 6c 70 | 22 29 3b 0d 20 20 41 64 |u, "Help|");. Ad| |00002640| 64 49 74 65 6d 28 49 6e | 64 65 78 4d 65 6e 75 2c |dItem(In|dexMenu,| |00002650| 20 22 52 75 6e 2e 2e 2e | 22 29 3b 0d 20 20 41 64 | "Run...|");. Ad| |00002660| 64 49 74 65 6d 28 49 6e | 64 65 78 4d 65 6e 75 2c |dItem(In|dexMenu,| |00002670| 20 22 51 75 69 74 22 29 | 3b 0d 0d 20 20 41 64 64 | "Quit")|;.. Add| |00002680| 4d 65 6e 75 28 44 6f 63 | 4d 65 6e 75 2c 20 22 44 |Menu(Doc|Menu, "D| |00002690| 6f 63 75 6d 65 6e 74 22 | 29 3b 0d 20 20 41 64 64 |ocument"|);. Add| |000026a0| 49 74 65 6d 28 44 6f 63 | 4d 65 6e 75 2c 20 22 4f |Item(Doc|Menu, "O| |000026b0| 70 65 6e 2e 2e 2e 2f 4f | 22 29 3b 0d 20 20 41 64 |pen.../O|");. Ad| |000026c0| 64 49 74 65 6d 28 44 6f | 63 4d 65 6e 75 2c 20 22 |dItem(Do|cMenu, "| |000026d0| 28 2d 22 29 3b 0d 20 20 | 41 64 64 49 74 65 6d 28 |(-");. |AddItem(| |000026e0| 44 6f 63 4d 65 6e 75 2c | 20 22 4e 65 78 74 20 50 |DocMenu,| "Next P| |000026f0| 61 67 65 2f 4e 22 29 3b | 0d 20 20 41 64 64 49 74 |age/N");|. AddIt| |00002700| 65 6d 28 44 6f 63 4d 65 | 6e 75 2c 20 22 47 6f 20 |em(DocMe|nu, "Go | |00002710| 54 6f 20 46 69 72 73 74 | 20 50 61 67 65 2f 47 22 |To First| Page/G"| |00002720| 29 3b 0d 20 20 41 64 64 | 49 74 65 6d 28 44 6f 63 |);. Add|Item(Doc| |00002730| 4d 65 6e 75 2c 20 22 28 | 2d 22 29 3b 0d 20 20 41 |Menu, "(|-");. A| |00002740| 64 64 49 74 65 6d 28 44 | 6f 63 4d 65 6e 75 2c 20 |ddItem(D|ocMenu, | |00002750| 22 55 70 2f 51 22 29 3b | 0d 20 20 41 64 64 49 74 |"Up/Q");|. AddIt| |00002760| 65 6d 28 44 6f 63 4d 65 | 6e 75 2c 20 22 44 6f 77 |em(DocMe|nu, "Dow| |00002770| 6e 2f 57 22 29 3b 0d 20 | 20 41 64 64 49 74 65 6d |n/W");. | AddItem| |00002780| 28 44 6f 63 4d 65 6e 75 | 2c 20 22 28 2d 22 29 3b |(DocMenu|, "(-");| |00002790| 0d 20 20 41 64 64 49 74 | 65 6d 28 44 6f 63 4d 65 |. AddIt|em(DocMe| |000027a0| 6e 75 2c 20 22 54 72 75 | 65 20 4e 75 6d 62 65 72 |nu, "Tru|e Number| |000027b0| 69 6e 67 22 29 3b 0d 0d | 20 20 41 64 64 4d 65 6e |ing");..| AddMen| |000027c0| 75 28 57 6f 72 64 73 4d | 65 6e 75 2c 20 22 57 6f |u(WordsM|enu, "Wo| |000027d0| 72 64 73 22 29 3b 0d 20 | 20 41 64 64 49 74 65 6d |rds");. | AddItem| |000027e0| 28 57 6f 72 64 73 4d 65 | 6e 75 2c 20 22 41 64 64 |(WordsMe|nu, "Add| |000027f0| 20 57 6f 72 64 2f 41 22 | 29 3b 0d 20 20 41 64 64 | Word/A"|);. Add| |00002800| 49 74 65 6d 28 57 6f 72 | 64 73 4d 65 6e 75 2c 20 |Item(Wor|dsMenu, | |00002810| 22 42 61 63 6b 20 55 70 | 2f 42 22 29 3b 0d 7d 3b |"Back Up|/B");.};| |00002820| 0d 0d 0d 50 72 6f 63 20 | 5f 49 6e 69 74 28 29 3b |...Proc |_Init();| |00002830| 0d 56 61 72 0d 20 20 54 | 68 65 49 6e 66 6f 3a 20 |.Var. T|heInfo: | |00002840| 41 70 70 46 69 6c 65 3b | 0d 20 20 6d 65 73 73 61 |AppFile;|. messa| |00002850| 67 65 2c 63 6f 75 6e 74 | 3a 20 49 6e 74 65 67 65 |ge,count|: Intege| |00002860| 72 3b 0d 7b 0d 20 20 43 | 75 72 50 4e 75 6d 20 3a |r;.{. C|urPNum :| |00002870| 3d 20 30 3b 0d 20 20 41 | 62 73 50 61 67 65 4e 75 |= 0;. A|bsPageNu| |00002880| 6d 20 3a 3d 20 46 61 6c | 73 65 3b 0d 0d 20 20 53 |m := Fal|se;.. S| |00002890| 70 65 61 6b 69 6e 67 20 | 3a 3d 20 46 61 6c 73 65 |peaking |:= False| |000028a0| 3b 0d 20 20 44 6f 6e 74 | 48 61 76 65 20 3a 3d 20 |;. Dont|Have := | |000028b0| 54 72 75 65 3b 0d 20 20 | 49 6e 69 74 45 61 73 79 |True;. |InitEasy| |000028c0| 4d 65 6e 75 73 28 29 3b | 0d 20 20 49 6e 69 74 4d |Menus();|. InitM| |000028d0| 79 4d 65 6e 75 73 28 29 | 3b 0d 20 20 49 6e 69 74 |yMenus()|;. Init| |000028e0| 5f 45 44 28 22 55 6e 74 | 69 74 6c 65 64 22 2c 33 |_ED("Unt|itled",3| |000028f0| 2c 31 32 2c 35 2c 34 31 | 2c 35 30 36 2c 32 33 38 |,12,5,41|,506,238| |00002900| 29 3b 0d 20 20 68 69 64 | 65 72 28 29 3b 0d 20 20 |);. hid|er();. | |00002910| 54 45 20 3a 3d 20 47 65 | 74 5f 45 44 48 61 6e 64 |TE := Ge|t_EDHand| |00002920| 6c 65 28 29 3b 0d 20 20 | 54 45 43 68 61 72 73 20 |le();. |TEChars | |00002930| 3a 3d 20 20 47 65 74 5f | 45 44 43 68 61 72 73 28 |:= Get_|EDChars(| |00002940| 29 3b 0d 20 20 54 45 57 | 69 6e 64 20 3a 3d 20 47 |);. TEW|ind := G| |00002950| 65 74 5f 45 44 57 69 6e | 64 6f 77 28 29 3b 0d 0d |et_EDWin|dow();..| |00002960| 20 20 4d 79 4c 6f 67 20 | 3a 3d 20 47 65 74 4e 65 | MyLog |:= GetNe| |00002970| 77 44 69 61 6c 6f 67 28 | 31 30 30 30 2c 4e 69 6c |wDialog(|1000,Nil| |00002980| 2c 2d 31 4c 29 3b 0d 20 | 20 43 75 72 72 65 6e 74 |,-1L);. | Current| |00002990| 50 61 72 61 20 3a 3d 20 | 2d 31 3b 0d 0d 20 20 4c |Para := |-1;.. L| |000029a0| 61 73 74 45 6e 74 72 79 | 5b 30 5d 20 3a 3d 20 30 |astEntry|[0] := 0| |000029b0| 3b 0d 20 20 49 6e 69 74 | 52 75 6e 4d 65 6e 75 54 |;. Init|RunMenuT| |000029c0| 72 69 63 6b 28 29 3b 0d | 20 20 43 6f 75 6e 74 41 |rick();.| CountA| |000029d0| 70 70 46 69 6c 65 73 28 | 40 6d 65 73 73 61 67 65 |ppFiles(|@message| |000029e0| 2c 40 63 6f 75 6e 74 29 | 3b 0d 20 20 69 66 20 21 |,@count)|;. if !| |000029f0| 63 6f 75 6e 74 20 6f 72 | 20 28 6d 65 73 73 61 67 |count or| (messag| |00002a00| 65 20 3d 20 41 70 70 50 | 72 69 6e 74 29 20 54 68 |e = AppP|rint) Th| |00002a10| 65 6e 20 72 65 74 75 72 | 6e 3b 0d 20 20 47 65 74 |en retur|n;. Get| |00002a20| 41 70 70 46 69 6c 65 73 | 28 31 2c 74 68 65 49 6e |AppFiles|(1,theIn| |00002a30| 66 6f 29 3b 0d 20 20 69 | 66 20 45 71 75 61 6c 53 |fo);. i|f EqualS| |00002a40| 74 72 69 6e 67 28 22 69 | 6e 64 65 78 2e 68 65 6c |tring("i|ndex.hel| |00002a50| 70 22 2c 74 68 65 49 6e | 66 6f 2e 66 6e 61 6d 65 |p",theIn|fo.fname| |00002a60| 2c 66 61 6c 73 65 2c 54 | 72 75 65 29 20 54 68 65 |,false,T|rue) The| |00002a70| 6e 20 7b 0d 20 20 20 20 | 48 65 6c 70 28 74 68 65 |n {. |Help(the| |00002a80| 49 6e 66 6f 2e 66 6e 61 | 6d 65 2c 30 29 3b 0d 20 |Info.fna|me,0);. | |00002a90| 20 20 20 52 65 74 75 72 | 6e 3b 0d 20 20 20 20 7d | Retur|n;. }| |00002aa0| 3b 0d 20 20 4e 65 77 49 | 6e 64 65 78 28 74 68 65 |;. NewI|ndex(the| |00002ab0| 49 6e 66 6f 2e 66 6e 61 | 6d 65 2c 74 68 65 49 6e |Info.fna|me,theIn| |00002ac0| 66 6f 2e 76 72 65 66 4e | 75 6d 29 3b 0d 7d 3b 0d |fo.vrefN|um);.};.| |00002ad0| 0d 50 72 6f 63 20 5f 4d | 65 6e 75 28 69 64 2c 69 |.Proc _M|enu(id,i| |00002ae0| 74 65 6d 3a 20 69 6e 74 | 65 67 65 72 29 3b 0d 7b |tem: int|eger);.{| |00002af0| 0d 20 20 43 61 73 65 20 | 69 64 20 6f 66 0d 20 20 |. Case |id of. | |00002b00| 20 20 44 6f 63 4d 65 6e | 75 3a 0d 20 20 20 20 20 | DocMen|u:. | |00002b10| 20 43 61 73 65 20 69 74 | 65 6d 20 6f 66 0d 20 20 | Case it|em of. | |00002b20| 20 20 20 20 20 20 31 3a | 20 4e 65 77 46 69 6c 65 | 1:| NewFile| |00002b30| 28 29 3b 0d 20 20 20 20 | 20 20 20 20 33 3a 7b 20 |();. | 3:{ | |00002b40| 43 75 72 72 65 6e 74 50 | 61 72 61 20 3a 3d 20 4e |CurrentP|ara := N| |00002b50| 65 78 74 53 63 72 65 65 | 6e 28 43 75 72 72 65 6e |extScree|n(Curren| |00002b60| 74 50 61 72 61 29 3b 0d | 20 20 20 20 20 20 20 20 |tPara);.| | |00002b70| 20 20 20 20 49 66 20 43 | 75 72 72 65 6e 74 50 61 | If C|urrentPa| |00002b80| 72 61 20 3d 20 2d 31 20 | 54 68 65 6e 0d 20 20 20 |ra = -1 |Then. | |00002b90| 20 20 20 20 20 20 20 20 | 20 20 20 46 69 6c 65 44 | | FileD| |00002ba0| 6f 6e 65 28 29 3b 0d 20 | 20 20 20 20 20 20 20 20 |one();. | | |00002bb0| 20 20 20 7d 3b 0d 20 20 | 20 20 20 20 20 20 34 3a | };. | 4:| |00002bc0| 7b 20 43 68 61 6e 67 65 | 50 61 67 65 28 2d 43 75 |{ Change|Page(-Cu| |00002bd0| 72 50 4e 75 6d 29 3b 0d | 20 20 20 20 20 20 20 20 |rPNum);.| | |00002be0| 20 20 20 20 43 75 72 50 | 4e 75 6d 20 3a 3d 20 30 | CurP|Num := 0| |00002bf0| 3b 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 43 75 |;. | Cu| |00002c00| 72 72 65 6e 74 50 61 72 | 61 20 3a 3d 20 4e 65 78 |rrentPar|a := Nex| |00002c10| 74 53 63 72 65 65 6e 28 | 30 29 3b 0d 20 20 20 20 |tScreen(|0);. | |00002c20| 20 20 20 20 20 20 20 20 | 49 66 20 43 75 72 72 65 | |If Curre| |00002c30| 6e 74 50 61 72 61 20 3d | 20 2d 31 20 54 68 65 6e |ntPara =| -1 Then| |00002c40| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 46 |. | F| |00002c50| 69 6c 65 44 6f 6e 65 28 | 29 3b 0d 20 20 20 20 20 |ileDone(|);. | |00002c60| 20 20 20 20 20 20 7d 3b | 0d 20 20 20 20 20 20 20 | };|. | |00002c70| 20 36 3a 20 45 44 50 61 | 67 65 28 2d 31 29 3b 0d | 6: EDPa|ge(-1);.| |00002c80| 20 20 20 20 20 20 20 20 | 37 3a 20 45 44 50 61 67 | |7: EDPag| |00002c90| 65 28 31 29 3b 0d 20 20 | 20 20 20 20 20 20 39 3a |e(1);. | 9:| |00002ca0| 20 7b 0d 20 20 20 20 20 | 20 20 20 20 20 61 62 73 | {. | abs| |00002cb0| 50 61 67 65 4e 75 6d 20 | 3a 3d 20 21 61 62 73 50 |PageNum |:= !absP| |00002cc0| 61 67 65 4e 75 6d 3b 0d | 20 20 20 20 20 20 20 20 |ageNum;.| | |00002cd0| 20 20 43 68 65 63 6b 45 | 61 73 79 28 49 44 2c 49 | CheckE|asy(ID,I| |00002ce0| 74 65 6d 2c 61 62 73 50 | 61 67 65 4e 75 6d 29 3b |tem,absP|ageNum);| |00002cf0| 0d 20 20 20 20 20 20 20 | 20 20 20 7d 3b 0d 20 20 |. | };. | |00002d00| 20 20 20 20 45 6e 64 3b | 0d 0d 20 20 20 20 49 6e | End;|.. In| |00002d10| 64 65 78 4d 65 6e 75 3a | 0d 20 20 20 20 20 20 43 |dexMenu:|. C| |00002d20| 61 73 65 20 69 74 65 6d | 20 6f 66 0d 20 20 20 20 |ase item| of. | |00002d30| 20 20 20 20 31 3a 20 4e | 65 77 49 6e 64 65 78 28 | 1: N|ewIndex(| |00002d40| 4e 69 6c 2c 30 29 3b 0d | 20 20 20 20 20 20 20 20 |Nil,0);.| | |00002d50| 32 3a 20 4f 70 65 6e 49 | 6e 64 65 78 28 29 3b 0d |2: OpenI|ndex();.| |00002d60| 20 20 20 20 20 20 20 20 | 33 3a 20 53 61 76 65 49 | |3: SaveI| |00002d70| 6e 64 65 78 28 29 3b 0d | 20 20 20 20 20 20 20 20 |ndex();.| | |00002d80| 34 3a 20 43 6c 6f 73 65 | 49 6e 64 65 78 28 29 3b |4: Close|Index();| |00002d90| 0d 20 20 20 20 20 20 20 | 20 35 3a 3b 0d 20 20 20 |. | 5:;. | |00002da0| 20 20 20 20 20 36 3a 20 | 20 20 7b 0d 20 20 20 20 | 6: | {. | |00002db0| 20 20 20 20 20 20 20 20 | 20 20 20 53 70 65 61 6b | | Speak| |00002dc0| 69 6e 67 20 3a 3d 20 21 | 53 70 65 61 6b 69 6e 67 |ing := !|Speaking| |00002dd0| 3b 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;. | | |00002de0| 20 43 68 65 63 6b 45 61 | 73 79 28 49 6e 64 65 78 | CheckEa|sy(Index| |00002df0| 4d 65 6e 75 2c 69 74 65 | 6d 2c 53 70 65 61 6b 69 |Menu,ite|m,Speaki| |00002e00| 6e 67 29 3b 0d 20 20 20 | 20 20 20 20 20 20 20 20 |ng);. | | |00002e10| 20 20 7d 3b 0d 20 20 20 | 20 20 20 20 20 37 3a 3b | };. | 7:;| |00002e20| 0d 20 20 20 20 20 20 20 | 20 38 3a 20 48 65 6c 70 |. | 8: Help| |00002e30| 28 22 49 6e 64 65 78 2e | 48 65 6c 70 22 2c 30 29 |("Index.|Help",0)| |00002e40| 3b 0d 20 20 20 20 20 20 | 20 20 39 3a 20 28 2a 20 |;. | 9: (* | |00002e50| 52 75 6e 2e 2e 2e 20 2a | 29 20 3b 0d 20 20 20 20 |Run... *|) ;. | |00002e60| 20 20 20 20 31 30 3a 20 | 52 65 71 48 61 6c 74 28 | 10: |ReqHalt(| |00002e70| 29 3b 0d 20 20 20 20 20 | 20 45 6e 64 3b 0d 0d 20 |);. | End;.. | |00002e80| 20 20 20 57 6f 72 64 73 | 4d 65 6e 75 3a 0d 20 20 | Words|Menu:. | |00002e90| 20 20 20 20 43 61 73 65 | 20 69 74 65 6d 20 6f 66 | Case| item of| |00002ea0| 0d 20 20 20 20 20 20 20 | 20 31 3a 20 7b 20 41 64 |. | 1: { Ad| |00002eb0| 64 45 6e 74 72 79 28 29 | 3b 20 46 6c 61 73 68 49 |dEntry()|; FlashI| |00002ec0| 74 28 64 62 41 64 64 29 | 20 7d 3b 0d 20 20 20 20 |t(dbAdd)| };. | |00002ed0| 20 20 20 20 32 3a 20 7b | 20 52 65 6d 6f 76 65 4c | 2: {| RemoveL| |00002ee0| 61 73 74 28 29 3b 20 46 | 6c 61 73 68 49 74 28 64 |ast(); F|lashIt(d| |00002ef0| 62 42 61 63 6b 55 70 29 | 20 7d 3b 0d 20 20 20 20 |bBackUp)| };. | |00002f00| 20 20 20 20 33 3a 20 7b | 20 43 68 61 6e 67 65 50 | 3: {| ChangeP| |00002f10| 61 67 65 28 31 29 3b 20 | 46 6c 61 73 68 49 74 28 |age(1); |FlashIt(| |00002f20| 64 62 49 6e 63 29 20 7d | 3b 0d 20 20 20 20 20 20 |dbInc) }|;. | |00002f30| 20 20 34 3a 20 7b 20 43 | 68 61 6e 67 65 50 61 67 | 4: { C|hangePag| |00002f40| 65 28 2d 31 29 3b 20 46 | 6c 61 73 68 49 74 28 64 |e(-1); F|lashIt(d| |00002f50| 62 44 65 63 29 20 7d 3b | 0d 20 20 20 20 20 20 45 |bDec) };|. E| |00002f60| 6e 64 3b 0d 20 20 45 6e | 64 3b 0d 7d 3b 0d 0d 50 |nd;. En|d;.};..P| |00002f70| 72 6f 63 20 5f 48 61 6c | 74 28 29 3b 0d 7b 0d 20 |roc _Hal|t();.{. | |00002f80| 20 48 61 6c 74 52 75 6e | 4d 65 6e 75 54 72 69 63 | HaltRun|MenuTric| |00002f90| 6b 28 29 3b 0d 20 20 44 | 69 73 70 6f 73 44 69 61 |k();. D|isposDia| |00002fa0| 6c 6f 67 28 4d 79 4c 6f | 67 29 3b 0d 20 20 48 61 |log(MyLo|g);. Ha| |00002fb0| 6c 74 45 61 73 79 4d 65 | 6e 75 73 28 29 3b 0d 20 |ltEasyMe|nus();. | |00002fc0| 20 48 61 6c 74 5f 45 44 | 28 29 3b 0d 20 20 50 75 | Halt_ED|();. Pu| |00002fd0| 74 57 6f 72 64 28 4c 61 | 73 74 45 6e 74 72 79 29 |tWord(La|stEntry)| |00002fe0| 3b 0d 20 20 66 63 6c 6f | 73 65 28 46 49 6e 64 29 |;. fclo|se(FInd)| |00002ff0| 3b 0d 20 20 46 6c 75 73 | 68 28 29 3b 0d 7d 3b 0d |;. Flus|h();.};.| |00003000| 0d 70 72 6f 63 65 64 75 | 72 65 20 5f 65 76 65 6e |.procedu|re _even| |00003010| 74 28 45 76 65 6e 74 3a | 20 45 76 65 6e 74 52 65 |t(Event:| EventRe| |00003020| 63 6f 72 64 29 3b 0d 43 | 6f 6e 73 74 0d 20 20 20 |cord);.C|onst. | |00003030| 20 43 6f 6d 6b 65 79 20 | 20 20 20 20 20 3d 20 32 | Comkey | = 2| |00003040| 35 36 3b 0d 56 61 72 0d | 20 20 4d 65 6e 3a 20 4c |56;.Var.| Men: L| |00003050| 6f 6e 67 69 6e 74 3b 0d | 20 20 57 68 69 63 68 57 |ongint;.| WhichW| |00003060| 69 6e 64 6f 77 3a 20 57 | 69 6e 64 6f 77 50 74 72 |indow: W|indowPtr| |00003070| 3b 0d 20 20 57 68 69 63 | 68 44 6c 6f 67 3a 20 44 |;. Whic|hDlog: D| |00003080| 69 61 6c 6f 67 50 74 72 | 3b 0d 20 20 69 74 65 6d |ialogPtr|;. item| |00003090| 2c 73 74 61 72 74 2c 66 | 69 6e 69 73 68 3a 20 69 |,start,f|inish: i| |000030a0| 6e 74 65 67 65 72 3b 0d | 20 20 54 45 48 69 74 2c |nteger;.| TEHit,| |000030b0| 0d 20 20 44 6f 6e 74 4c | 6f 67 3a 20 42 6f 6f 6c |. DontL|og: Bool| |000030c0| 65 61 6e 3b 0d 0d 7b 0d | 0d 20 20 54 45 48 69 74 |ean;..{.|. TEHit| |000030d0| 20 3a 3d 20 46 61 6c 73 | 65 3b 0d 20 20 44 6f 6e | := Fals|e;. Don| |000030e0| 74 4c 6f 67 20 3a 3d 20 | 46 61 6c 73 65 3b 0d 0d |tLog := |False;..| |000030f0| 20 20 49 66 20 45 76 65 | 6e 74 2e 57 68 61 74 20 | If Eve|nt.What | |00003100| 3d 20 4d 6f 75 73 65 44 | 6f 77 6e 20 54 68 65 6e |= MouseD|own Then| |00003110| 0d 20 20 20 20 49 66 20 | 46 69 6e 64 57 69 6e 64 |. If |FindWind| |00003120| 6f 77 28 45 76 65 6e 74 | 2e 57 68 65 72 65 2e 76 |ow(Event|.Where.v| |00003130| 68 2c 40 57 68 69 63 68 | 57 69 6e 64 6f 77 29 20 |h,@Which|Window) | |00003140| 3e 20 32 20 54 68 65 6e | 0d 20 20 20 20 20 20 42 |> 2 Then|. B| |00003150| 65 67 69 6e 0d 20 20 20 | 20 20 20 20 20 53 65 6c |egin. | Sel| |00003160| 65 63 74 57 69 6e 64 6f | 77 28 57 68 69 63 68 57 |ectWindo|w(WhichW| |00003170| 69 6e 64 6f 77 29 3b 0d | 20 20 20 20 20 20 20 20 |indow);.| | |00003180| 49 66 20 28 57 68 69 63 | 68 57 69 6e 64 6f 77 20 |If (Whic|hWindow | |00003190| 3d 20 54 45 57 69 6e 64 | 29 20 54 68 65 6e 0d 20 |= TEWind|) Then. | |000031a0| 20 20 20 20 20 20 20 20 | 20 54 45 48 69 74 20 3a | | TEHit :| |000031b0| 3d 20 54 72 75 65 3b 0d | 20 20 20 20 20 20 45 6e |= True;.| En| |000031c0| 64 3b 0d 0d 20 20 49 66 | 20 45 76 65 6e 74 2e 57 |d;.. If| Event.W| |000031d0| 68 61 74 20 3d 20 4b 65 | 79 44 6f 77 6e 20 54 68 |hat = Ke|yDown Th| |000031e0| 65 6e 0d 20 20 20 20 49 | 66 20 28 45 76 65 6e 74 |en. I|f (Event| |000031f0| 2e 4d 6f 64 69 66 69 65 | 72 73 20 61 6e 64 20 43 |.Modifie|rs and C| |00003200| 6f 6d 4b 65 79 29 20 54 | 68 65 6e 0d 20 20 20 20 |omKey) T|hen. | |00003210| 20 20 44 6f 6e 74 4c 6f | 67 20 3a 3d 20 54 72 75 | DontLo|g := Tru| |00003220| 65 0d 20 20 20 20 45 6c | 73 65 0d 20 20 20 20 20 |e. El|se. | |00003230| 20 49 66 20 28 28 45 76 | 65 6e 74 2e 4d 65 73 73 | If ((Ev|ent.Mess| |00003240| 61 67 65 20 25 20 31 32 | 38 29 20 3d 20 31 33 29 |age % 12|8) = 13)| |00003250| 20 54 68 65 6e 0d 20 20 | 20 20 20 20 20 20 49 66 | Then. | If| |00003260| 20 46 72 6f 6e 74 57 69 | 6e 64 6f 77 28 29 20 3d | FrontWi|ndow() =| |00003270| 20 4d 79 4c 6f 67 20 54 | 68 65 6e 20 7b 0d 20 20 | MyLog T|hen {. | |00003280| 20 20 20 20 20 20 20 20 | 48 61 6e 64 6c 65 44 6c | |HandleDl| |00003290| 6f 67 28 64 62 41 64 64 | 29 3b 0d 20 20 20 20 20 |og(dbAdd|);. | |000032a0| 20 20 20 20 20 46 6c 61 | 73 68 69 74 28 64 62 41 | Fla|shit(dbA| |000032b0| 64 64 29 3b 0d 20 20 20 | 20 20 20 20 20 20 20 53 |dd);. | S| |000032c0| 65 6c 49 54 65 78 74 28 | 4d 79 4c 6f 67 2c 64 62 |elIText(|MyLog,db| |000032d0| 57 6f 72 64 2c 30 2c 33 | 30 30 30 30 29 3b 0d 20 |Word,0,3|0000);. | |000032e0| 20 20 20 20 20 20 20 20 | 20 45 76 65 6e 74 2e 57 | | Event.W| |000032f0| 68 61 74 20 3a 3d 20 2d | 31 3b 0d 20 20 20 20 20 |hat := -|1;. | |00003300| 20 20 20 20 20 52 65 74 | 75 72 6e 3b 0d 20 20 20 | Ret|urn;. | |00003310| 20 20 20 20 20 20 20 7d | 3b 0d 0d 20 20 49 66 20 | }|;.. If | |00003320| 28 49 73 44 69 61 6c 6f | 67 45 76 65 6e 74 28 45 |(IsDialo|gEvent(E| |00003330| 76 65 6e 74 29 20 61 6e | 64 20 21 44 6f 6e 74 4c |vent) an|d !DontL| |00003340| 6f 67 29 20 54 68 65 6e | 20 7b 0d 20 20 20 20 49 |og) Then| {. I| |00003350| 66 20 44 69 61 6c 6f 67 | 53 65 6c 65 63 74 28 45 |f Dialog|Select(E| |00003360| 76 65 6e 74 2c 40 57 68 | 69 63 68 64 6c 6f 67 2c |vent,@Wh|ichdlog,| |00003370| 40 69 74 65 6d 29 20 54 | 68 65 6e 0d 20 20 20 20 |@item) T|hen. | |00003380| 20 20 48 61 6e 64 6c 65 | 44 6c 6f 67 28 69 74 65 | Handle|Dlog(ite| |00003390| 6d 29 3b 0d 20 20 20 20 | 45 76 65 6e 74 2e 57 68 |m);. |Event.Wh| |000033a0| 61 74 20 3a 3d 20 2d 31 | 3b 0d 20 20 20 20 52 65 |at := -1|;. Re| |000033b0| 74 75 72 6e 3b 0d 20 20 | 20 20 7d 3b 0d 0d 20 20 |turn;. | };.. | |000033c0| 45 76 65 6e 74 5f 45 44 | 28 45 76 65 6e 74 29 3b |Event_ED|(Event);| |000033d0| 0d 0d 20 20 43 61 73 65 | 20 45 76 65 6e 74 2e 57 |.. Case| Event.W| |000033e0| 68 61 74 20 6f 66 0d 20 | 20 20 20 4b 65 79 44 6f |hat of. | KeyDo| |000033f0| 77 6e 3a 0d 20 20 20 20 | 20 20 20 20 49 66 20 28 |wn:. | If (| |00003400| 45 76 65 6e 74 2e 4d 6f | 64 69 66 69 65 72 73 20 |Event.Mo|difiers | |00003410| 61 6e 64 20 43 6f 6d 4b | 65 79 29 20 74 68 65 6e |and ComK|ey) then| |00003420| 20 7b 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 4d | {. | M| |00003430| 65 6e 20 3a 3d 20 4d 65 | 6e 75 4b 65 79 28 49 6e |en := Me|nuKey(In| |00003440| 74 65 67 65 72 28 45 76 | 65 6e 74 2e 4d 65 73 73 |teger(Ev|ent.Mess| |00003450| 61 67 65 25 32 35 36 29 | 29 3b 0d 20 20 20 20 20 |age%256)|);. | |00003460| 20 20 20 20 20 20 20 49 | 66 20 48 69 77 6f 72 64 | I|f Hiword| |00003470| 28 4d 65 6e 29 20 3c 20 | 31 30 30 30 20 54 68 65 |(Men) < |1000 The| |00003480| 6e 20 52 65 74 75 72 6e | 3b 0d 20 20 20 20 20 20 |n Return|;. | |00003490| 20 20 20 20 20 20 48 69 | 6c 69 74 65 4d 65 6e 75 | Hi|liteMenu| |000034a0| 28 48 69 77 6f 72 64 28 | 4d 65 6e 29 29 3b 0d 20 |(Hiword(|Men));. | |000034b0| 20 20 20 20 20 20 20 20 | 20 20 20 5f 4d 65 6e 75 | | _Menu| |000034c0| 28 48 69 77 6f 72 64 28 | 4d 65 6e 29 2c 4c 6f 57 |(Hiword(|Men),LoW| |000034d0| 6f 72 64 28 4d 65 6e 29 | 29 3b 0d 20 20 20 20 20 |ord(Men)|);. | |000034e0| 20 20 20 20 20 20 20 48 | 69 6c 69 74 65 4d 65 6e | H|iliteMen| |000034f0| 75 28 30 29 3b 0d 20 20 | 20 20 20 20 20 20 20 20 |u(0);. | | |00003500| 20 20 45 76 65 6e 74 2e | 57 68 61 74 20 3a 3d 20 | Event.|What := | |00003510| 2d 31 3b 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |-1;. | | |00003520| 7d 3b 0d 20 20 45 6e 64 | 3b 0d 0d 20 20 49 66 20 |};. End|;.. If | |00003530| 54 45 48 69 74 20 54 68 | 65 6e 0d 20 20 20 20 42 |TEHit Th|en. B| |00003540| 65 67 69 6e 0d 20 20 20 | 20 20 20 47 65 74 5f 45 |egin. | Get_E| |00003550| 44 53 65 6c 65 63 74 28 | 40 73 74 61 72 74 2c 40 |DSelect(|@start,@| |00003560| 66 69 6e 69 73 68 29 3b | 0d 20 20 20 20 20 20 49 |finish);|. I| |00003570| 66 20 73 74 61 72 74 3c | 3e 66 69 6e 69 73 68 20 |f start<|>finish | |00003580| 54 68 65 6e 0d 20 20 20 | 20 20 20 20 20 53 68 6f |Then. | Sho| |00003590| 77 57 6f 72 64 28 73 74 | 61 72 74 2c 66 69 6e 69 |wWord(st|art,fini| |000035a0| 73 68 29 3b 0d 20 20 20 | 20 45 6e 64 3b 0d 20 7d |sh);. | End;. }| |000035b0| 3b 0d 0d 0d 70 72 6f 63 | 65 64 75 72 65 20 5f 6d |;...proc|edure _m| |000035c0| 61 69 6e 28 29 3b 0d 7b | 0d 20 20 4d 61 69 6e 5f |ain();.{|. Main_| |000035d0| 45 44 28 29 3b 0d 7d 3b | 0d 00 00 00 00 00 00 00 |ED();.};|........| |000035e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000035f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00003600| 00 00 01 00 00 00 01 16 | 00 00 00 16 00 00 00 d4 |........|........| |00003610| 55 8f 03 14 ce da fb 5b | 69 18 40 fa 06 01 08 2c |U......[|i.@....,| |00003620| ef 8b 4c 31 83 f0 28 72 | 4d b4 3d 3a 6f 94 61 6e |..L1..(r|M.=:o.an| |00003630| 0b 4d 57 49 6e 64 65 78 | 2e 52 61 73 02 00 00 00 |.MWIndex|.Ras....| |00003640| 54 45 58 54 45 44 49 54 | 01 00 00 00 00 8b 00 3f |TEXTEDIT|.......?| |00003650| 00 00 54 45 58 54 45 44 | 49 54 01 00 00 00 00 8b |..TEXTED|IT......| |00003660| 00 3f 0b c1 00 00 00 00 | 00 00 00 00 00 00 00 00 |.?......|........| |00003670| 00 00 9a 80 bd 29 00 00 | 35 59 00 00 01 ea e3 9b |.....)..|5Y......| |00003680| 8f 5f c0 c7 d0 0d a5 0a | 08 63 3b fc 7a 2c 1c 09 |._......|.c;.z,..| |00003690| 00 74 cc 28 0c e3 10 76 | 08 71 ed 23 5e 84 0f 70 |.t.(...v|.q.#^..p| |000036a0| e1 bc 1a 08 36 98 a5 1a | bf 10 a5 9b c2 d8 71 ed |....6...|......q.| |000036b0| ed 7f 61 af bc 28 7d 08 | 7c b7 d2 0d 6a b7 83 74 |..a..(}.||...j..t| |000036c0| 1b 8e e9 b1 ff e1 68 50 | f5 61 30 62 f5 df 60 83 |......hP|.a0b..`.| |000036d0| 9b c3 10 5d 9a 76 f4 00 | 68 06 4d aa d4 f6 ae f6 |...].v..|h.M.....| |000036e0| bf e9 07 29 30 7e 9e a6 | 7b 7d bc 02 de 02 3a 9f |...)0~..|{}....:.| |000036f0| d4 82 02 0c 68 2f 3d f7 | 4f e5 6a 69 00 0d df 25 |....h/=.|O.ji...%| |00003700| 00 00 00 0a 00 09 06 4d | 6f 6e 61 63 6f 1c 00 00 |.......M|onaco...| |00003710| 00 04 00 06 00 08 00 00 | 01 00 00 00 01 16 00 00 |........|........| |00003720| 00 16 00 00 00 d4 00 00 | cc 1c 00 98 00 00 00 1c |........|........| |00003730| 00 46 00 01 45 46 4e 54 | 00 00 00 12 45 54 41 42 |.F..EFNT|....ETAB| |00003740| 00 00 00 1e 03 eb 00 00 | 00 00 00 00 00 00 e1 d6 |........|........| |00003750| 03 ec 00 47 00 00 00 0e | 00 00 e1 ee 46 4f 42 4a |...G....|....FOBJ| |00003760| ff ff ff ff 00 40 01 aa | 00 40 01 ac 00 40 01 ae |.....@..|.@...@..| |00003770| 00 40 01 b0 00 40 01 b2 | 00 40 01 b4 00 40 01 b6 |.@...@..|.@...@..| |00003780| 00 40 01 b8 00 40 10 18 | 00 40 01 bc 00 40 01 be |.@...@..|.@...@..| |00003790| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..| |000037a0| 00 40 01 46 4f 42 4a ff | ff ff ff 00 40 01 aa 00 |.@.FOBJ.|....@...| |000037b0| 40 01 ac 00 40 01 ae 00 | 40 01 b0 00 40 01 b2 00 |@...@...|@...@...| |000037c0| 40 01 b4 00 40 01 b6 00 | 40 01 b8 00 40 10 18 00 |@...@...|@...@...| |000037d0| 40 01 bc 00 40 01 be 00 | 40 01 be 00 40 01 be 00 |@...@...|@...@...| |000037e0| 40 01 be 00 40 01 be 00 | 40 01 00 00 00 00 00 00 |@...@...|@.......| |000037f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| +--------+-------------------------+-------------------------+--------+--------+