1SPAD COMJSPAD PASKt=SPAD TXT`B@ ͫCopyright (C) 1985 BORLAND IncB Osborne 1ler ADM-20dP)(=    EE RT0(1)1~7#~= oͦkԄ!!"~#(}:$= +*!5!*!!:(2!5:(>2!!!:O::O:!*! !45(! +/ 0y0( d!k5!{5__o&  :(͠|(  *"x2y( >28!"9!! og2"">~22 9/4*9 Co&ͦͣ} [ (!e{ͦA8Q0G: x@!\w# (͂ ?(*( .( w^. ^!h6# (?( *( ͂( w#>?> w#ͦ 8 !ɿ .,;:=?*[]<>{}a{ |ʹ}ͽƐ'@'7||}>2ͯ*Bڨ  "og"2>2! ""*B"[Ru*"^#V#^#V#N#FO/o&9O/o&9!9(> (G!9 w#Eͺw}8' RB0 >' RqRR!+ Ͱ R!+ Ͱ r!+ Ͱ r!+ Ͱ r!# Ͱ r!+ Ͱ T]KB!z> S>))0 = | |̀̀DMgo>jB0 7?= H͒<z5a)a<z {0Gɯgo||~}||/g}/o#}o&K[xAJSJDM!b"!6J"DM'd } ) W _}8(8J`9{T]=o`9y ) >' ́ ͬ͗ }>' xˆ }} ˸T}ٕ(0D=z ,= ( ͒ 0%{ , 7 ?(8ͬ x ͆ - r 8˸x ͏  ,-xG}r }مM 9r .>#n0͒ { = - nx ͇ ,-(-˸G,-r }ٕ?M 9.> 8ͬ ?= u+-(>͆ 0ͬ ͆ 8 ?x ͇ , 78ƀ8ƀ8ox٨!دoGOW_gɷɷ|لg{ً_zيWyىOxوG|ٔg{ٛ_zٚWyٙOx٘Gxٸyٹzٺ{ٻ|ټx٨ xx( ?}ٽ }ցr <(r 7{ = |٤g{٣_z٢Wy١Ox٠G{ ͬ ́ }x>' ͬ}ƀ/ƀo -́ }0͎-́ ͎,}l˸ 8 4 ͗ x( - 8́ - 8,́ }l8;*!͗ ! >4ͬ͗ ͗ ͬ--- ́ ,,,-xGg?+2n*8t z~,->' x' ͘}. ͆́ , ! >4,͢- o&0%,͗ }gr }؉}颋.:}8c~I$I~L*͢ٷx˸ }0G,<},-(-́ !>I0 ͗͘ o8 ͆ >' m.`1pF,t6|!wS<.z}[|%FXc~ur1}͆ٯx(<˸ 8 !~J 0.O!>s 8 =  n s͗ ͆ .n 0 ͎-́ OT0 j oD,:j !I}袋.}8c~I$I~L! >ͬ͗ I× nn ͗ = ͆ nf^VNF!DLT\I!!53!r1!͒!> x #-= o˸x͆(- }(x>8(z ,z `iÃ!>' |r |̀>)=|(DMbo˸88x(0 8> ̀x(>-{(ay( z(>. ( {>E>+|(|Dg>-|/ 0:p# ~# +>0w#,-  60#}˸}րogM| .(z = ~> x0w#xG%͇ %͇ ZJDM%͇ = _~65+~hìx-Sx9?+{Η@}|z z gZJDM0{ ,7}o˸? #yO!@9i&?  #?w#?/w#?w#!9! E9!!9~(+Fͺ!"9!(#>2*"| >"2:( Ͷ *w*6 !\$![ (ͦ( #:~CONTRMKBDLSTCAUXUSR>2i:*ˮ~0:*:(@q##pZ* :(  ~* < >26"!"""~>2""v>2>"!"ˮ(!~8>~O6~*"w(6(2(-()(6 (8 0 :(* y(~#+ (( 66 #6 #"*: y~o p .##~ͺ(.6w4._~ =*##55= *[R8*~#"= ͣ}== ͯ}͵}*#w+#~+>*~('k!0(ˮ]k!8ˮ!]~-#8~>27kˮw>O$6̃s #r$ͣ6̏ k ( (ˮ qk(ˮ ( k ˮ*O:~ ##~._q4((=ʦ==ʩ=ʬò*:4^q*##~6ͺ>2}*|(̓|( ̓6-#[RM8( G> A~#*'C! !TRUEFALSE!9N#Y~#( G~#> >    "~(kѻ(( !0 (ˮ!!>2Sz:0:*6##ww#w$w#w:  ##N#F*B>2w#w#[s#r> "~ͮ*-w#ww##> ͮÁ""~>2:ZR0 *4#4>2:ZR> *4 #4(> >22*f(/˦:G(##~++ :O x yC!ͺ Q*:G(##~._.͚f<\=<͚*##w ͮ +4 #4x >>2:G("ͮ"*nˮ*0 SZѷR8@* N#F#s#r, 0})jS\*##w+ N#FB ͮr+s>2!T]>)j)0 0= ]R!#]*^#V#N#F#^#V>2Ͱ:0:*6 #-Nw#Fwq#p#6#w#w#w"~Á>">!DM!":*B:!>(>2>">!"2"~ʰ*w#wx(9* :O *-4 #4!*4 #4 *-N#Fq#pV+^Bq#pSZѷR&* s#r$ s#rL <?*L!\  <( !\$>2>2L:>!(* \$\<(!3: [1ð\!(7"~> 2"S"Ns#FrB(Z#\: \<(?*"}K\! !*}#"}! x \* *>) 2""{_!"*nf}(HR0nf" ^VMDnfutqp*s#r*s#r"* uKB!0>' ~#fo{_"*R0RnfR0KqputsrNF( ^VNF^V*SutKqp R*R(~w~wnf ut"6#K*K*!""*NFy(* "*B0Cnf* [R*"*RS[s#r^#V""6#>O"w2x2*"!F"" &y*"*>2"*"!F"""!\*: Nr!~6go(\R*s#r_2x( s x(T]DMx(R0 U(͝O/o&9q# (!>F0#( ~ ( #]( ~ ( (#}(  i&T-a%â}ͦo*!~6o&|:2 2}:__zѯ2*|KB " z ^C User break+=  I/O Run-time error {ʹ, PC=*ͯNot enough memory Program aborted :ʎ'1!d!%B>.$!ͺ!"!" ! + !!fzʛ!"! ͤ!Ͷ !"*:M͠Eʒ!!ͺ*^#V!&! "*:!ͪ *#.!!!fz!"!ͺ *#æ!! + !!͙͛ͺItem Number(0 = STOP)? !N *́!!͛OEh"! * !"**s#r͙! *!R ! ͤ! ! + >!!fz""!"! ͤ!Ͷ *^#V͛!&! "*:!ͪ *#Â"*!E!! + !!͙͛ͺItem Number (0 = STOP)?  !N *́!!͛OEʯ#! * !"**s#r͙͛ͺEntry:  *(͎ ! *!R ! ͤ! ! + >!!fz$"!"! ͤ!Ͷ *^#V͛!&! "*:!ͪ *##*!E"! M ENTRY.DTAp! + >!!fzʰ$"!"! ͤ!Ͷ *^#V͛!&! "*:!ͪ *#\$!!͛ͺ' (A)dd (D)elete (E)xit (P)rint  !ͩ!D *&́!e͑!a͑!E͑!A͑!p͑!P͑!d͑!D͑OEʰ$*&aRS%ARY%"ç%pRm%PRs% ç%dRʇ%DR%!ç%eRʡ%ER§%> *&́!e͑!E͑OEʰ$! z {"Q%pRpPR{ k%dRdDconst MaxNumberOfEntries = 20; type EntryName = string[40]; Entry = record ItemNumber : Integer; Item : EntryName; end; var EntryFile : file of Entry; EntryRec : Entry; I : Integer; Pnr : Integer; Choice : Char; procedure Print; begin WRITELN(lst,chr(30),chr(31)); Reset(EntryFile); for I := 1 to MaxNumberOfEntries do begin Read(EntryFile,EntryRec); With EntryRec do begin if Item <> '' then Writeln(Lst,ItemNumber,' ',Item); end; end; for I := 1 to 8 do begin Writeln(Lst); end; end; PROCEDURE DelEntry; begin Reset(EntryFile); Repeat GoToXY(5,22);ClrEol;Write('Item Number(0 = STOP)?'); Readln(Pnr); If Pnr in [1..MaxNumberOfEntries] then begin Seek(EntryFile,Pnr); with EntryRec do begin ItemNumber := Pnr; ClrEol; end; Seek(EntryFile,Pnr-1); Write(EntryFile,EntryRec); end; Reset(EntryFile);ClrScr; For I := 1 to MaxNumberOfEntries do begin With EntryRec do begin Read(EntryFile,EntryRec); Writeln(ItemNumber,' ',Item); end; end; until (Pnr = 0); end; procedure AddEntry; begin Reset(EntryFile); repeat GoToXY(5,22);ClrEol;Write('Item Number (0 = STOP)? '); Readln(Pnr); If Pnr in [1..MaxNumberOfEntries] then begin Seek(EntryFile,Pnr); with EntryRec do begin ItemNumber := Pnr; ClrEol; Write('Entry: '); Readln(Item); end; Seek(EntryFile,Pnr-1); Write(EntryFile,EntryRec); end; Reset(EntryFile);ClrScr; For I := 1 to MaxNumberOfEntries do begin With EntryRec do begin Read(EntryFile,EntryRec); Writeln(ItemNumber,' ',Item); end; end; until (Pnr = 0); end; {program SPAD} BEGIN Assign(EntryFile,'ENTRY.DTA'); Reset(EntryFile);ClrScr; For I := 1 to MaxNumberOfEntries do begin With EntryRec do begin Read(EntryFile,EntryRec); Writeln(ItemNumber,' ',Item); end; end; Repeat Repeat GoToXY(3,22);Write(' (A)dd (D)elete (E)xit (P)rint '); Read(Kbd,Choice); Until (Choice in ['e','a','E','A','p','P','d','D']); Case Choice of 'a','A' : AddEntry; 'p','P' : Print; 'd','D' : DelEntry; 'e','E' : begin ClrScr; Halt; end; end; until (Choice in ['e','E']); Close(EntryFile); end.  SPAD SPAĠ stand fo `SCRATC PAD' I i progra tha make powerful computer look like the back of an envelope. A written u t 2 item ar store i fil calle `ENTRY.DTA' (which must exist, SPAD will not create it). Al item ar displaye o th screen an ca b adde to deleted, or a printed list can be made. Th progra i writte i Turb Pascal an i therefor quit fast. A.G.HEARTFIELD