home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1994 / MacHack 1994.toast / MacHack™ 1987-1994 / MacHack™ '90 / Source Code ƒ.sea / Source Code ƒ / Modula2 ƒ / DataStack Filer / LocLib.Mod < prev    next >
MacBinary  |  1990-06-15  |  2.1 KB  |  [TEXT/MPS ]

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
66% dexvert SoundTracker Module (music/soundTracker) ext Supported
66% dexvert Chip Tracker Module (music/chipTracker) ext Supported
66% dexvert Protracker Module (music/mod) ext Supported
66% dexvert Octalyser Module (music/octalyser) ext Supported
66% dexvert Star Tracker/StarTrekker Module (music/starTracker) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert PollyTracker Module (music/pollyTracker) ext Unsupported
1% dexvert Black Viper packed music (music/blackViperPackedMusic) ext Unsupported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Fri Jun 15 01:29:27 1990, modified Fri Jun 15 01:29:27 1990, creator 'MPS ', type ASCII, 1566 bytes "LocLib.Mod" , at 0x69e 382 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[MPS ]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0a 4c 6f 63 4c 69 62 | 2e 4d 6f 64 00 00 00 00 |..LocLib|.Mod....|
|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 4d 50 53 | 20 01 00 00 28 00 60 00 |.TEXTMPS| ...(.`.|
|00000050| 00 00 00 00 00 06 1e 00 | 00 01 7e a2 9e 22 b7 a2 |........|..~.."..|
|00000060| 9e 22 b7 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 86 bd 00 00 |........|........|
|00000080| 77 47 72 6f 77 53 74 61 | 63 6b 28 73 74 61 63 6b |wGrowSta|ck(stack|
|00000090| 29 3b 0d 09 09 49 46 20 | 67 53 74 6b 20 3d 20 4e |);...IF |gStk = N|
|000000a0| 49 4c 20 54 48 45 4e 20 | 52 45 54 55 52 4e 20 4e |IL THEN |RETURN N|
|000000b0| 49 4c 3b 20 45 4e 44 3b | 0d 09 09 73 74 61 63 6b |IL; END;|...stack|
|000000c0| 5e 5e 2e 67 72 6f 77 53 | 74 6b 20 3a 3d 20 67 53 |^^.growS|tk := gS|
|000000d0| 74 6b 3b 0d 09 45 4c 53 | 45 0d 09 09 67 53 74 6b |tk;..ELS|E...gStk|
|000000e0| 20 3a 3d 20 73 74 61 63 | 6b 5e 5e 2e 67 72 6f 77 | := stac|k^^.grow|
|000000f0| 53 74 6b 3b 0d 09 09 45 | 4e 44 3b 0d 09 52 45 54 |Stk;...E|ND;..RET|
|00000100| 55 52 4e 20 46 69 6e 64 | 4e 65 78 74 47 72 6f 77 |URN Find|NextGrow|
|00000110| 43 61 72 64 28 73 74 61 | 63 6b 2c 67 53 74 6b 29 |Card(sta|ck,gStk)|
|00000120| 3b 0d 09 45 4e 44 20 41 | 64 64 47 72 6f 77 43 61 |;..END A|ddGrowCa|
|00000130| 72 64 3b 0d 0d 50 52 4f | 43 45 44 55 52 45 20 46 |rd;..PRO|CEDURE F|
|00000140| 69 6c 6c 48 65 61 64 65 | 72 28 73 74 61 63 6b 3a |illHeade|r(stack:|
|00000150| 44 61 74 61 53 74 61 63 | 6b 3b 20 68 65 61 64 65 |DataStac|k; heade|
|00000160| 72 3a 48 65 61 64 50 74 | 72 29 3b 0d 56 41 52 0d |r:HeadPt|r);.VAR.|
|00000170| 09 6e 2c 74 6f 74 46 69 | 6c 20 3a 43 41 52 44 49 |.n,totFi|l :CARDI|
|00000180| 4e 41 4c 3b 0d 09 73 74 | 61 72 74 20 3a 41 44 44 |NAL;..st|art :ADD|
|00000190| 52 45 53 53 3b 0d 09 73 | 74 72 50 74 72 20 3a 53 |RESS;..s|trPtr :S|
|000001a0| 74 72 69 6e 67 50 74 72 | 3b 0d 09 6e 4b 65 79 73 |tringPtr|;..nKeys|
|000001b0| 20 3a 44 61 74 61 4b 65 | 79 73 48 6e 64 3b 0d 42 | :DataKe|ysHnd;.B|
|000001c0| 45 47 49 4e 0d 09 57 49 | 54 48 20 73 74 61 63 6b |EGIN..WI|TH stack|
|000001d0| 5e 5e 20 44 4f 0d 09 09 | 49 4e 43 28 69 64 43 6f |^^ DO...|INC(idCo|
|000001e0| 75 6e 74 29 3b 0d 09 09 | 68 65 61 64 65 72 5e 2e |unt);...|header^.|
|000001f0| 69 64 20 3a 3d 20 69 64 | 43 6f 75 6e 74 3b 0d 09 |id := id|Count;..|
|00000200| 09 69 64 4b 65 79 73 5e | 5e 5b 74 6f 74 61 6c 46 |.idKeys^|^[totalF|
|00000210| 69 6c 6c 65 64 5d 20 3a | 3d 20 74 6f 74 61 6c 46 |illed] :|= totalF|
|00000220| 69 6c 6c 65 64 3b 20 28 | 2a 20 6e 65 77 20 63 61 |illed; (|* new ca|
|00000230| 72 64 20 61 6c 77 61 79 | 73 20 68 61 73 20 6c 61 |rd alway|s has la|
|00000240| 72 67 65 73 74 20 49 44 | 2e 20 2a 29 0d 09 09 74 |rgest ID|. *)...t|
|00000250| 6f 74 46 69 6c 20 3a 3d | 20 74 6f 74 61 6c 46 69 |otFil :=| totalFi|
|00000260| 6c 6c 65 64 3b 0d 09 09 | 6e 4b 65 79 73 20 3a 3d |lled;...|nKeys :=|
|00000270| 20 6e 61 6d 65 4b 65 79 | 73 3b 0d 09 09 45 4e 44 | nameKey|s;...END|
|00000280| 3b 28 2a 77 69 74 68 2a | 29 0d 0d 09 74 68 65 53 |;(*with*|)...theS|
|00000290| 74 61 63 6b 20 3a 3d 20 | 73 74 61 63 6b 3b 0d 09 |tack := |stack;..|
|000002a0| 74 68 65 53 65 61 72 63 | 68 4e 61 6d 65 20 3a 3d |theSearc|hName :=|
|000002b0| 20 56 41 4c 28 53 74 72 | 69 6e 67 50 74 72 2c 68 | VAL(Str|ingPtr,h|
|000002c0| 65 61 64 65 72 29 3b 0d | 09 74 68 65 4b 65 79 49 |eader);.|.theKeyI|
|000002d0| 6e 64 65 78 20 3a 3d 20 | 31 3b 20 28 2a 20 64 65 |ndex := |1; (* de|
|000002e0| 66 61 75 6c 74 20 66 6f | 72 20 65 6d 70 74 79 20 |fault fo|r empty |
|000002f0| 73 74 61 63 6b 20 2a 29 | 0d 09 0d 09 6e 20 3a 3d |stack *)|....n :=|
|00000300| 20 53 65 61 72 63 68 53 | 74 61 63 6b 42 79 4e 61 | SearchS|tackByNa|
|00000310| 6d 65 28 31 2c 74 6f 74 | 46 69 6c 2d 31 29 3b 0d |me(1,tot|Fil-1);.|
|00000320| 09 49 46 20 28 6e 20 3d | 20 30 29 20 41 4e 44 20 |.IF (n =| 0) AND |
|00000330| 28 74 6f 74 46 69 6c 20 | 3e 20 31 29 20 54 48 45 |(totFil |> 1) THE|
|00000340| 4e 0d 09 09 28 2a 20 53 | 65 61 72 63 68 20 66 61 |N...(* S|earch fa|
|00000350| 69 6c 65 64 2c 20 61 6e | 64 20 74 68 65 20 6c 61 |iled, an|d the la|
|00000360| 73 74 20 69 6e 64 65 78 | 20 73 65 61 72 63 68 65 |st index| searche|
|00000370| 64 20 77 61 73 20 74 68 | 65 4b 65 79 49 6e 64 65 |d was th|eKeyInde|
|00000380| 78 2e 20 2a 29 0d 09 09 | 73 74 72 50 74 72 20 3a |x. *)...|strPtr :|
|00000390| 3d 20 56 41 4c 28 53 74 | 72 69 6e 67 50 74 72 2c |= VAL(St|ringPtr,|
|000003a0| 47 65 74 48 65 61 64 65 | 72 41 64 64 72 28 73 74 |GetHeade|rAddr(st|
|000003b0| 61 63 6b 2c 6e 4b 65 79 | 73 5e 5e 5b 74 68 65 4b |ack,nKey|s^^[theK|
|000003c0| 65 79 49 6e 64 65 78 5d | 29 29 3b 0d 09 09 49 46 |eyIndex]|));...IF|
|000003d0| 20 49 55 43 6f 6d 70 53 | 74 72 69 6e 67 28 74 68 | IUCompS|tring(th|
|000003e0| 65 53 65 61 72 63 68 4e | 61 6d 65 2c 73 74 72 50 |eSearchN|ame,strP|
|000003f0| 74 72 29 20 3e 20 30 20 | 54 48 45 4e 20 49 4e 43 |tr) > 0 |THEN INC|
|00000400| 28 74 68 65 4b 65 79 49 | 6e 64 65 78 29 20 45 4e |(theKeyI|ndex) EN|
|00000410| 44 3b 0d 09 45 4c 53 49 | 46 20 28 6e 20 23 20 30 |D;..ELSI|F (n # 0|
|00000420| 29 20 54 48 45 4e 0d 09 | 09 28 2a 20 73 65 61 72 |) THEN..|.(* sear|
|00000430| 63 68 20 66 6f 75 6e 64 | 20 61 20 63 61 72 64 20 |ch found| a card |
|00000440| 77 69 74 68 20 73 61 6d | 65 20 6e 61 6d 65 2c 20 |with sam|e name, |
|00000450| 73 6f 20 77 65 20 69 6e | 73 65 72 74 20 74 68 65 |so we in|sert the|
|00000460| 20 6e 65 77 20 6e 61 6d | 65 4b 65 79 20 74 68 65 | new nam|eKey the|
|00000470| 72 65 2e 20 2a 29 0d 09 | 09 74 68 65 4b 65 79 49 |re. *)..|.theKeyI|
|00000480| 6e 64 65 78 20 3a 3d 20 | 6e 3b 0d 09 09 45 4e 44 |ndex := |n;...END|
|00000490| 3b 0d 09 0d 09 73 74 61 | 72 74 20 3a 3d 20 41 44 |;....sta|rt := AD|
|000004a0| 52 28 6e 4b 65 79 73 5e | 5e 5b 74 68 65 4b 65 79 |R(nKeys^|^[theKey|
|000004b0| 49 6e 64 65 78 5d 29 3b | 0d 09 42 6c 6f 63 6b 4d |Index]);|..BlockM|
|000004c0| 6f 76 65 28 73 74 61 72 | 74 2c 73 74 61 72 74 2b |ove(star|t,start+|
|000004d0| 53 49 5a 45 28 43 41 52 | 44 49 4e 41 4c 29 2c 28 |SIZE(CAR|DINAL),(|
|000004e0| 74 6f 74 46 69 6c 2d 74 | 68 65 4b 65 79 49 6e 64 |totFil-t|heKeyInd|
|000004f0| 65 78 29 2a 53 49 5a 45 | 28 43 41 52 44 49 4e 41 |ex)*SIZE|(CARDINA|
|00000500| 4c 29 29 3b 0d 09 6e 4b | 65 79 73 5e 5e 5b 74 68 |L));..nK|eys^^[th|
|00000510| 65 4b 65 79 49 6e 64 65 | 78 5d 20 3a 3d 20 74 6f |eKeyInde|x] := to|
|00000520| 74 46 69 6c 3b 0d 09 45 | 4e 44 20 46 69 6c 6c 48 |tFil;..E|ND FillH|
|00000530| 65 61 64 65 72 3b 0d 0d | 50 52 4f 43 45 44 55 52 |eader;..|PROCEDUR|
|00000540| 45 20 41 64 64 43 61 72 | 64 28 73 74 61 63 6b 3a |E AddCar|d(stack:|
|00000550| 44 61 74 61 53 74 61 63 | 6b 3b 20 64 61 74 61 3a |DataStac|k; data:|
|00000560| 41 44 44 52 45 53 53 3b | 20 6e 61 6d 65 3a 41 52 |ADDRESS;| name:AR|
|00000570| 52 41 59 20 4f 46 20 43 | 48 41 52 29 3a 4c 4f 4e |RAY OF C|HAR):LON|
|00000580| 47 43 41 52 44 3b 0d 56 | 41 52 0d 09 68 65 61 64 |GCARD;.V|AR..head|
|00000590| 65 72 20 3a 48 65 61 64 | 50 74 72 3b 0d 09 64 65 |er :Head|Ptr;..de|
|000005a0| 73 74 20 3a 41 44 44 52 | 45 53 53 3b 0d 42 45 47 |st :ADDR|ESS;.BEG|
|000005b0| 49 4e 0d 09 64 61 74 61 | 53 74 61 63 6b 45 72 72 |IN..data|StackErr|
|000005c0| 20 3a 3d 20 6e 6f 45 72 | 72 3b 0d 09 57 49 54 48 | := noEr|r;..WITH|
|000005d0| 20 73 74 61 63 6b 5e 5e | 20 44 4f 0d 09 09 49 46 | stack^^| DO...IF|
|000005e0| 20 66 69 6c 6c 65 64 43 | 61 72 64 73 20 3d 20 4d | filledC|ards = M|
|000005f0| 41 58 28 43 41 52 44 49 | 4e 41 4c 29 20 54 48 45 |AX(CARDI|NAL) THE|
|00000600| 4e 0d 09 09 09 64 61 74 | 61 53 74 61 63 6b 45 72 |N....dat|aStackEr|
|00000610| 72 20 3a 3d 20 74 6f 6f | 4d 61 6e 79 43 61 72 64 |r := too|ManyCard|
|00000620| 73 3b 0d 09 09 09 52 45 | 54 55 52 4e 20 30 3b 0d |s;....RE|TURN 0;.|
|00000630| 09 09 09 45 4e 44 3b 20 | 28 2a 20 6f 76 65 72 66 |...END; |(* overf|
|00000640| 6c 6f 77 20 63 61 72 64 | 4c 69 6d 69 74 3f 20 2a |low card|Limit? *|
|00000650| 29 0d 09 09 49 46 20 66 | 69 6c 6c 65 64 43 61 72 |)...IF f|illedCar|
|00000660| 64 73 20 3d 20 69 6e 69 | 74 69 61 6c 43 61 72 64 |ds = ini|tialCard|
|00000670| 73 20 54 48 45 4e 20 28 | 2a 20 6f 76 65 72 66 6c |s THEN (|* overfl|
|00000680| 6f 77 20 69 6e 69 74 69 | 61 6c 20 73 74 61 63 6b |ow initi|al stack|
|00000690| 20 73 70 61 63 65 3f 20 | 2a 29 0d 09 09 09 00 00 | space? |*)......|
|000006a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000700| 3d 20 4e 49 4c 20 54 48 | 45 4e 0d 09 09 09 09 67 |= NIL TH|EN.....g|
|00000710| 72 6f 77 53 74 6b 20 3a | 3d 20 4e 65 77 47 72 6f |rowStk :|= NewGro|
|00000720| 77 53 74 61 63 6b 28 73 | 74 61 63 6b 29 3b 0d 09 |wStack(s|tack);..|
|00000730| 09 09 09 49 46 20 67 72 | 6f 77 53 74 6b 20 3d 20 |...IF gr|owStk = |
|00000740| 4e 49 4c 20 54 48 45 4e | 20 52 45 54 55 52 4e 20 |NIL THEN| RETURN |
|00000750| 4e 49 4c 3b 20 45 4e 44 | 3b 0d 09 09 09 09 45 4e |NIL; END|;.....EN|
|00000760| 44 3b 0d 09 09 09 68 65 | 61 64 65 72 20 3a 3d 20 |D;....he|ader := |
|00000770| 46 69 6e 64 4e 65 78 74 | 47 72 6f 77 43 61 72 64 |FindNext|GrowCard|
|00000780| 28 73 74 61 63 6b 2c 67 | 72 6f 77 53 74 6b 29 3b |(stack,g|rowStk);|
|00000790| 0d 09 09 09 45 4e 44 3b | 0d 09 09 45 4e 44 3b 0d |....END;|...END;.|
|000007a0| 09 48 55 6e 6c 6f 63 6b | 28 67 53 74 6b 29 3b 0d |.HUnlock|(gStk);.|
|000007b0| 09 52 45 54 55 52 4e 20 | 68 65 61 64 65 72 0d 09 |.RETURN |header..|
|000007c0| 45 4e 44 20 46 69 6e 64 | 4e 65 78 74 47 72 6f 77 |END Find|NextGrow|
|000007d0| 43 61 72 64 3b 0d 0d 50 | 52 4f 43 45 44 55 52 45 |Card;..P|ROCEDURE|
|000007e0| 20 41 64 64 47 72 6f 77 | 43 61 72 64 28 73 74 61 | AddGrow|Card(sta|
|000007f0| 63 6b 3a 44 61 74 61 53 | 74 61 63 6b 29 3a 48 65 |ck:DataS|tack):He|
|00000800| 61 64 50 74 72 3b 0d 56 | 41 52 20 67 53 74 6b 20 |adPtr;.V|AR gStk |
|00000810| 3a 47 72 6f 77 53 74 61 | 63 6b 3b 0d 42 45 47 49 |:GrowSta|ck;.BEGI|
|00000820| 4e 0d 09 49 46 20 73 74 | 61 63 6b 5e 5e 2e 67 72 |N..IF st|ack^^.gr|
|00000830| 6f 77 53 74 6b 20 3d 20 | 4e 49 4c 20 54 48 45 4e |owStk = |NIL THEN|
|00000840| 0d 09 09 49 46 20 73 74 | 61 63 6b 5e 5e 2e 67 72 |...IF st|ack^^.gr|
|00000850| 6f 77 43 61 72 64 73 20 | 3d 20 30 20 54 48 45 4e |owCards |= 0 THEN|
|00000860| 20 52 45 54 55 52 4e 20 | 4e 49 4c 3b 20 45 4e 44 | RETURN |NIL; END|
|00000870| 3b 0d 09 09 67 53 74 6b | 20 3a 3d 20 4e 65 00 00 |;...gStk| := Ne..|
+--------+-------------------------+-------------------------+--------+--------+