8L2C)pJJJJ IH(ȱH:=IH[H`@HcH  $ +   I/H`JLNGȄBȄF aK  haaFF  mJm# KKJ UJ )J ۈ) ;J3ȱJFȱJGJKaȄM  aaNNJFLGJL LMACROSu#' #' '-SEG.AX.SOURCE 2~ ,CONFIGDBLINK$\|ռ')OAW.MAKER3 T%-DB.LINK.NOTES;&xY *CONFIG.DBLP |[6/WP.WINDOW.MACRO_$ c SYSUTIL.SYSTEM{c% c% UTIL.0~Qc, c, UTIL.1;yc c UTIL.2 c. c. MOVE11402KA' MACROS# COPY.ME$33FASTCOPY.SYSTEM)VNZ [*LAUNCHER.SYSTEMG,b$ b1 PRODOSW#Bb  SETTINGSy >dMԡm#i㰼m#iЕOLԡȱfg hi !dLԡ憦  Ljmkm l y`2 Lԡ8(Je稽)ʈ@LLnSOS BOOT 1.1 SOS.KERNEL SOS KRNLI/O ERRORFILE 'SOS.KERNEL' NOT FOUND%INVALID KERNEL FILE: xةw,@  ȱlmi8#)!)? &PRODOS `DaElH$?EGvѶK+`L HHLy XP LM ŠϠĠӠS)*+,+`F)) (*=GJFjJJA QE'+ '== `@ STSP8QSS8 m P o R(8R3/%%-BOTH.APPLES.Ld_sY*DATE.RESETj{[6)DB.WIDTHSoM /R-MACRO.SAMPLES }O*AW5.MACROSy!d3 /NOCLOCK.BLANKERU_~[6BO=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===*AO=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===Nif O rpt :*$1 = .peekstr $b3e : poke $10f2,0 :KIbell .say "Printer 1 should be ONLINE and SELECTED. " + left $1,15 :oa-c>t< begin :x = peek $b5 :/if x = 208 : first left exit endif:k = key :poke $b802, $4c :<if k = 27 or k = 155 or k = 209 display 0 oa-q :!go : endmacro endif:!if k = 13 exit endif:display 0 :print chr$ K :display 1: awp:poke $11ac,0 :&F(1) = peek #openfile : F = 1 :OM.writestr 0,23, "Place cursor at start of outgoing address and press Return" + chr$ 1 : poke peekword $2148,$60 :begin:poke $b802, $60: = "No files" and K =13 bell rpt endif:=if K =13 display 0 poke $11c6, $60 oa-q Z = 200 :$find go poke $11c6,$4c :+ poke $10f2,1 poke $336, K(1) :+poke $11ac, $1b endmacro endif: rpt >! E:< = L(3) rpt endif:Bif K =11 and C = 30 and R = 7 C = 4 R =L(1) rpt endif:Eif K =11 and C = 56 and R = 7 C = 30 R = L(2) rpt endif :%if K =10 R = R + 1 endif:'if K =11 R = R - 1 endif :8if $0if K =10 and C = 4 and R = L(1) C = 30 R = 7 rpt endif :Eif K =10 and C = 30 and R = L(2) C = 56 R = 7 rpt endif :Cif K =10 and C = 56 and R = L(3) C = 4 R = 7 rpt endif:Cif K =11 and C = 4 and R = 7 C = 56 R54 esc :,poke $10f2, 1 :poke $336, K(1) :-poke $11ac, $1b : endmacro endif:hilight 0,R,C(1),R;if K = 9 and C < 56 C = C + 26 R = 7 rpt endif:6if K = 9 and C = 56 C = 4 R = 7 rpt endif:DC(1) = C + 20 :2C(2) = C + 1 : $0 = screen C(2),R,15 :$$0 = .stripchar $0,32,2:hilight C,R,C(1),Rpoke $b802, $60:K = key :poke $b802, $4c :'if K = 27 or K > 10,0,chr$ 1 :2.writestr 0,0,"Total Files: " + str$ T(2) :=.writestr 0,23," Tab to move, Return to select" :&.writestr 255,0,"TRIPLE MENU" ::L(1) = One+6 : L(2)= Two+6 : L(3) = Three(1) + 6 :begin :e(1) = 1 endif:Current(3)= peek $1024 :Org(1)= peek $e86:)if O(1) = 0 : x = peek #openfile :#R = x + 6 :else R = 7 endif:9$1= .choose "4,30,56",C(3) C = val $1 :oa-q oa-v :poke $10f2,0 :.writestr P = peekword $1022 : .getblock P,$1e00,1 :,One = peek $1e00 : Two = peek $1e01 :Three(1) = peek $1e02 :$Total(2) = peek #totalfiles : if One = 0 One = 1 endif: if Two = 0 Two = 1 endif:*if Three(1) = 0 Thre  !"= $40 : rtn >!lay 1 endif : :if:kword $cc8 :labels .seg.axstart:!!:!:tm1bm0rm0lm3.5pl4T< rtn rtn : display 0 oa-q print F(1): go poke $11ac,$1b : >! z: 0 exit endif :Ebell .say "Place " + $1 + " in a drive and press Return":3k = peek $c000 : if k = 27 exit endif :#rpt : if K = 27 exit endif:$2 = .peekstr $c56 : if q((1) = 8 q(1) = 0 : endif:%if q(1) = 1 or q(1) = 3 bell :8.say "This is a NEW file. " + $5: endmacro endif:$1 = .getfpath : Lif $1 = "none" bell .say "No pathname found. " + $5 : endmacro endif:begin :f:if z = 1 Z = 0 : endif :)poke #filestatus, Z : endif :rpt :)display 0 oa-q go poke $10f2,1 >!: 0 bell endmacro endif::if k = 210 oa-Q esc>4 $4 exit endi:;.writestr 0,23, "File status: " + $1 + $2 + chr$ 1 :poke $b802, $60 :k = key :poke $b802, $4c :*if k = 209 or K < 195 : exit endif:7if k = 210 poke $10f2,1 if q(1) < 4 or q(1) = 6 ,K(1) = peek = .choose "New,Changed,New,Saved,Unchanged,Changed",q(1) :?$2 = ". -C To Change Status, -R to Remove the file." :t = peek $c6b :=if t = 3 $3 = .choose "238,160,238,232,212,160",q(1) :+v = val $3 : poke #curschar,v endifl// change file status macroF = 1 :'o = peek $e86 : t = peek $10e6 :.if o > 0 or t > 0 bell endmacro endif:poke $10f2, 0 :"q(1) = peek #filestatus : 0if q(1) = 0 or q(1) = 8 q(1) = 5 : endif:E$1W:C< poke $b802, $60 :keyto 13 : if Z = 0 esc exit endif :rtn >C< keyto 13 : display 0 rtn :oa-q go exit rpt:poke $b802, $4c >!,:! endmacro else :<if R = X or R > X oa-9 up oa-del :display 0 : oa-q print C : rtn:;oa-M display 1>f< poke $10f1, K endmacro endif:B = peek $b5 :"if B > 207 rpt endif :11 endif :K = peek $10f1 :insert : begin :find : X = .eof : posn R,R ,if R = X or R > X and Z(1) < 3 :poke $10f1, K : | :5pokeword $7c62,D pokeword $7c64, Y :esc : Z = 0 esc endmacro endif:>if Z = 13 rtn $1 = "Press" if $1 = screen 1,42,5 bell :endmacro endif:,if Z = 1 oa-1 endif :display 0 oa-q :Cif Z < 3 D = peekword $7c62 : Y = peekword $7c64 : go else :"oa-c:oa-1:display = peek $c54 : F = 1 :K.menubar "Remove carriage returns from","Beginning|Current line|Section":zoom Z(1) = Z :*if Z = 0 or Z > 3 endmacro endif:/if Z = 3 : oa-m >t< poke $b802,$60?keyto 13 : poke $b802,$4c : ifll .say $0 + " not found. " + $5 :exit endif:5.setdisk $1 : display 0 poke #filestatus, 0 :Hoa-q esc>4< rtn rtn : rtn oa-rtn print $0 : rtn : E = peek $362 :if E = $4c E = 0 endif:Jif E > 0 $4 = .hex E :bell display 1 .say "Disk error $" + $4 + $5:exit endif:*.pokestr $2, $c56 : oa-q go exit :rpt : poke $11ac, $1b >!>:! // empty macro to get anX in the cacheMRL Quick column W: 0 $1 = "" endif:if Y = 1:1$2 = .getstring "Directory? ",$1, = key:poke $b802,$4c:Cif K = 27 or K = 155 oa-q print q rtn endmacro : endif:1ifnot K = 13 print chr$ K: rpt endif:*if Y = 2 and K = 13 rtn endif:J = peek $e86:if J = $40 rtnif Y = 1 and O < 128:* print chr$ K(2) : endmacro : endif:3if Y = 3 print chr$ K(1) : endmacro endif :% Q = Peek #openfile oa-Q oa-P : if Y = 2: oa-P endif: begin:poke $b802,$60:k : .pokevar $ff70,A(3),8,2 :$1 = "" :1ifnot $2 = "New" $1 = "|FilePath" endif :1.menubar $3,"Current Disk|QuickPath"+ $1 :B Y = Z: if Y = 0 or Y > peek $b94c restscr endmacro : endif: O = peek $c061: hoose "New,Changed,New,Saved,Unchanged,Changed",X :0$3 = "This file is " + $2 + ". Save to" :-L = peekword $ff9d : R = peek $ff1d : .peekvar $ff70,A(3),8,2 :call sa-} in "seg.um":+pokeword $ff9d, L : poke $ff1d, Rt = peek $10e6 :*if O > 0 or t > 0 endmacro : endif:.K(1) = peek $10b1 : // smart save key 7if K(1) = $93 K(2) = $d3 else: K(2) = $93 endif:X = peek #filestatus :)if X = 0 or X = 8 X = 5 : endif:B$2 = .ct endif : Count = Z :NL ( $12 = mid $11, S, 1 : A = asc $12 : .uncache $(A) : S = S + 1 ) C : Cexit rpt : F = 1 poke $11ac, $1b >! // oa-left to remove all%S::! Set filestatus to changed, loop back if we get to here wrong key was pressed ring bell and rpt} rpt:msg "" :$1= chr$ 10 + O'Enter New Width - Then Return ( Max. 78 ) Current = ' + str$ W + ' :' + chr$ 11 :insert oa-e : V = .getvalgoto sa-W: { make left arrow act like oa-tab }Nendif : { left one category, then loop back }%if K = #'C' exit :Bendif: { if C was pressed exit the loop }Nbell: { K - 32: { convert lower to upper case }endif:Oif K = 21 Tab: goto sa-W: { make right arrow act like tab to move}Oendif:  { right one category, then loop back }Lif K = 8 oa-Tab: Move, Esc to Quit ': begin:poke $b802, $60 :K = key:poke $b802, $4c :;if K = 27 display 0 oa-q go poke $11ac, $1b :endmacro :endif :Dif K > 67 K =zoom:// ensure MRL is active F = 1 :GA = $922b + peek $921f: // calculate offset in col. width table-W = peek A - 1:// current width JHmsg ' Current Width is '+str$ W+' - Press "C" to Change, Arrows to 48:+if Z < 2 or Z > 48 or $2 = "" :exit : endif:#if Y = 1:.setdisk $2 :exit :rpt endif:2 oa-q print q : rtn print chr$ K(2) >! T:!M:!|:! _: 12 poke $10e6, 0 poke $336, I : endmacro ve Beville":.spacebar :' display 0 oa-q display 1 esc :D = peek $1024: begin:.deskcount 1 : if Z > 0 exit endif:oa-q tab : D(1) = peek $1024 : if D(1) = 1:6$1 = &V& + %IF% : $1 = $1 + $1 + $1 +$1 + $1 : $1 = left $1, 13:.writestr 13,8, $1 :.writestr 66, 8, $1 :=.writestr 255, 9, "DB LINK Configuration Macros U4.3":<.writestr 255, 11, "Copyright 1991-93 Stek $336 :if I > 0 poke $336, 0: endif:oa-q esc:6.writestr 66, 13, %L% : .writestr 13, 7, %NCO%:E$1 = "":.writestr 13,7, $1 :.writestr 13, 13, $#%&'()*+,-./01!Place your Appleworks STARTUP disk in a drilabels.ConfigDBLINK\ba-l Launch SEG.UM\sa-M Data Base Config. Menustart C:! ]:endif :if O = $40 display 0 : K = peek $230f :'print chr$ K : display 1 endif :.setdisk $(Z) : if O = $40 : rtn >!kstr A : L = len $(S) : (if L > L(1) L(1) = L endif :  a = a + peek a + 1 :next S :$Width=L(1)+4 : x=80-W/2-1 : (.list X,5,W,8,1,8,"QuickerPath" :)if Z = 0 or Z > 8 endmacro : .getblock P, $1e00, 1 : L(1) = 0 :a = $1e01 : 8if O = $40 A(1) = peek $cdd : C = peekword $cc8 :,ifnot A(1) = $41 bell endmacro endif:(if C = $6843 bell endmacro endif:for S = 1 to 8 : $(S) = .peexmath "`A=`A+" + $0 :down ) R :$0 = .xstr A :H.say 'Total = '+ $0 : F = 1 >! // total column of numbers in adb QuickerPath: 3 display 0 esc display 1 esc : exit endif :.ongoto z, "*pL": rpt :&poke $336, I : poke $10e6, 0 >! *:! K: 3 bell :msgxy 255, 22:Omsg ' This is not an AppleWorks file - Press Any Key ':wait 15000 :(msgxy 0, 128 : msg "" :rpt ::poke $b802, $4c :-if K = peek $2f83 oa-q print Q : O = peek $e86 - $73:&print chr$ O : goto sa-_ :endif:7X(1) = peek $21c1 : x = .andbits x(1), 15 : :+Disk or Path" + %A% : wait 15000 :goto sa-_ : endif: begin:5.writestr 255, 0, " LINK A FILE " + %A%:3.writestr 65, 0, $9 + ": Cancel" + %A%:poke $b802, $60:K = key itestr 33, 0, "Link a File" + %A%: . .writestr 68, 0,$9 + ": Cancel" + %A%:d = peek $362 : "if d > 0 bell oa-q print Q:O = peek $e86 - 115 :print chr$ O :NL.writestr 0, 23, "Disk Error, Check the Current endif:C(1) = peek #dbfields :R(1) = peekword $b4 :Q = peek $c54:oa-q oa-F rtn :#J = peek $2f83 : // esc key.if J = 27 $9 = "Escape":endif:$if J = 174 $9= "-." : endif:/.wrmes S,98,1: sa-C :"poke $c6c, 2 : goto sa-_ >! P: 2 goto sa-_ :ame" :.writestr 255,12, $(S) :HF.writestr 0,22, "Type a new Category Name, then Return - Esc to Cancel":$40 = getstr 19:if $40 = "" :sa-C goto sa-_: endif:$40 = chr$ 42 + $40 :.setnaMarked "+ $41:goto sa-_ : endif:L = L - 1 :$(S) = right $(S), L :.setnames S,S,1 : poke $c6c, 2 :sa-C :goto sa-_ >! N: 2 goto sa-* endif: rpt:$(S) = "*" + $(S) :.setnames S, S,1:(sa-C : poke $c6c, 2 :goto sa-_ >! R: 1 .say %P% + "This Category isn't l .say "This Category is Already Marked " + $41 :goto sa-_ : endif:if L < 20 exit : endif:if L > 19 bell :5.askyn "Category name is too long, rename it":T = Z :if T = 2 goto sa-N : endif:.getnames 1, 1, F : .List 26,0,24,N,1,F,"Select a category":S = Z :)if Z = 0 or Z > F goto sa-* endif:$L = len $(S) : A = asc $(S) :*if Y = #'R' or Y = #'r' goto sa-R : endif:Oif A = 42 and L > 1 bel endif: if Z = 1 Y = #'M' endif:if Z = 2 Y = #'R' endif:"if Z = 3 goto sa-_ : endif: if Z > 3 goto sa-* endif: $41 = "- Press Any Key ":F = peek #dbfields - 1: )if F > 18 N = 18 else N = F endif:C 255, 0 : msg " CHOOSE A RECORD ":msgxy 0, 23: Mmsg "Use , , -1 through -9 to select a record, then Return" + %A%:msgxy 0, 128:poke $b802, $60:k = key :poke $b802, $4c:if k = 27 endmacro: endif:,if k > 176 and k < 186 print chr$ K : endif:6if K = 10 or K = 11 K = K + $80 :print chr$ K : endif:posn K(1), R : if R = 0 >N< bell : rpt :endif :if K = 13 endmacro: : { define WP file name } oa-1 oa-c>t3xf< { get records }0 oa-o print "sm" : rtn : print "15esc esc8 C = $C56 : L = peek C : if L > 13 then L = 13 : endif Y = 0 : $1 = "" : begin2Y = Y + 1 : if Y > L then exit endif :7B = C + Y : X = peek B : $1 = $1 + chr$ X : rpt :+ $1 = "H." + $1ndifrtn :?zoom : oa-P>22Current!endif:rpt >!:tf $40 then rpt endif :if L > 2 then rpt endif6 oa-Z : oa-Q : print Q : rtn oa-L>25y!----- T:?@ABCDEFGHIJKLMNect one the way you would any TimeOut applicDB LINK 4.43$Copyright 1988-93 by Steve BevilleRequirements============%Appleworks 4.0, UltraMacros 4.3About DB LINK=============NLDB LINK came about as aAO====<<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O====<<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===-Lly seldif :ahead : beginleft : X = peek $10F5 :"if X = 255 then rpt endif :3if X = 222 then oa-y oa-y oa-y endif first>! { strip tabs from end } up :beginup : X = peek $10F5 :"if X = 255 then rpt endif :, if X = 222 then oa-y oa-y rpt endif : last  begin! oa-left : X = peek $10F5 :"if X = 222 then rpt en*", that's why the marked -category must have at least two categories. COMMANDS ======== -L Launch defaults (SEG.UM).PN-S If you can only remember one command, this is the one to remember. In the KILinking Data Base, -S reads the information to Search for in the linked JHfile, WHAT TO FIND, from the category that contains an "*" as the first LJcharacter in the category name. If no marked category is found, you'll be LJgiven the option to continue anyway. This will allowisn't possible to calculate how much LJdesktop memory a file will use. It varies depending on the type of memory LJcard and the amount of memory installed. AppleWorks does not check to see JHif there's enough memory available before attempting to loaDB LINK contains routines to try and prevent you from loading a file HFthat exceeds the amount of available memory. If the size of a file on JHdisk exceeds or is equal to the amount of free memory, DB LINK will not GEload the file. Unfortunately it found, update a JHdata base or spreadsheet or whatever you can think up. You can set up a IGdata base as an index of files and use DB LINK to find and load a file for you.=An expanded memory is recommended for use with DB LINK.KIubdirectories as you want. DB LINK works LJcorrectly even if you have a custom record layout installed in the single KIrecord layout. As written, DB LINK finds information in another AW file, KIbut you could do something else once the correct file isn JHthe record holds the COMPLETE PATHNAME of the file in which to find the GEinformation. This version work with subdirectories. You can have the EClinked files all over your hard disk, or any kind of disk for that IGmatter, in as many different ss one file or the other.MKThe information to find is now determined by which category is marked. KIThis will allow you to use DB LINK with many data base files without the JHneed to alter the program code or redo your files. The last category isplay the list of available macros.CHANGES FROM VERSION 3.1========================LJThis version of DB LINK works with the display off. Some people don't JHlike to see all the screens flashing by, so in this version all you see iIFOUND. If for some reason the information is not found, DB LINK stops at 2the beginning of the linked file, no harm done. IG-E Emergency macro to turn the display on if something bombs with the display off.@You may use -Esc to dihere you left off, from the LJlinking data base. -S will take you back to the information contained in JHthe marked category, from the linking data base. To preserve the cursor GEposition in the linked file, use -T, ONCE THE CORRECT FILE HAS BEEN Kilarly to -S. However you must first execute -S in the Linking FDData Base before using -T. After you find the linked file, you can JHtoggle back and forth with -S or -T. If you move around in the linked ECfile, using -T will take you back to wre FDfull". If the volume or file can't be found, DB LINK returns to the HFLinking Data Base File and tells you as much. In the linked file, -S IGwill return you to the linking data base, even if they're on different desktops.PN-T works simn't found on the desktop it will KIbe loaded from disk. If the desktop is full, DB LINK switches to another ECdesktop and adds the file there. If all desktops are full, DB LINK LJreturns to the linking data base file and displays " all the desktops aon in from the last category, determined by the order in which GEthe categories were defined, WHERE TO FIND IT. If the specified file KIisn't found on the current Desktop, Triple Desktop is searched, provided JHyou have Triple Desktop. If the file is you to switch to the IGlinked file without finding any information contained in the file. The JHmarked category must have at least two characters in the category name. DBNext DB LINK reads the complete pathname of the file to find this JHinformatid a file. By KIthe time the program discovers there isn't enough memory, it has already EC"bumped" portions of the AppleWorks program from memory to make it LJavailable for desktop use. Although DB LINK will try and prevent this, it FDmay not always succeed. In any case, if a file is too big you'll be IGreturned to the Linking Data Base and an "Insufficient Memory" message will be displayed.LJAlthough DB LINK was designed to link individual data base records to JHother AppleWorks filAO=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===Nrpt >NLAdd the data base "Presidents" to the desktop then select DB LINK 4.43 from PNthe TimeOut Menu. Choose a record within the Linking Data Base then press -S to call up the linked file.is option will restore the default macro set.LJ4.Quit. This option will allow you to quit but leaves the configuration macros active.-Llaunch Ultra.system.G-M will display the configuration menu from within a data base file.then press RETURN. The linked file must be an AppleWorks LJAWP, ADB, or ASP file. It you select some other type of file an error msg IGwill be displayed. The complete ProDOS pathname will be entered in the last category. D3.Launch Seg.UM. Thf KIthe file you select from an AppleWorks file listing. When presented with LJthe file list, use RETURN to view the contents of a subdirectory, use TAB LJor oa-TAB to change to a different drive. Highlight the file you want the LJrecord linked to of renaming the category. If you choose to rename the GEcategory, type in a new name when prompted. Don't enter the "*", the .program will add that for you automatically.NL2.Link to a file on disk. This option will enter the complete pathname oprompts.LJ1.Add/Remove a Marker. This option will automatically add or remove the KI"*" in front of the category name. If you choose to add a marker and the KIcategory name is 20 characters long, the maximum length, you'll be given CAthe optionor in the sample data base.CONFIGURATION MACROS====================OMTo.ConfigDBLINK will automatically configure your data base to work with KIDB LINK. This is a menu driven program. Choose an item from the menu and follow the /or after FDthe information, use numbers, symbols or whatever you can think up. KIWhatever you do to the information in the Linked File to make it unique, LJyou must also do to the information in the Marked Category. See the entry ,on Zachary Tayln in the Linked File. If the information FDappears more than once in the Linked File, and you want to find the JHsecond or third occurrence, you'll need to make that information unique KIin someway. You can add an underline character, "_", before anding at the beginning of another.USING DB.LINK=============OMDB LINK reads the information contained in the Marked Category and looks B@for that information in the Linked File. It will find the first HFoccurrence of that informatioat pathname. Any new GErecords that are entered will automatically be linked to the correct file. Filenames =========NLDB LINK uses Ultra's exact match feature so there is no longer a Gproblem with one filename name appeares, you can link an entire data base to one file if FDyou want. Just enter the pathname in the last category of the first KIrecord then use the ditto command to enter that pathname in all records. JHSet the standard value for the last category for th!Place your Appleworks STARTUP disk in a drilabels.ConfigDBLINKstart C:! ]: 0 poke $336, 0: endifOQRSTUVWXYZ[\] new Category Name, then Return - Esc to Cancel":$40 = getstr 19:if $40 = "" :sa-C goto sa-_: endif:$40 = chr$ 42 + $40 :.setnames S,98,1: sa-C :"poke $c6c, 2 : goto sa-_ >!$(S) = right $(S), L :.setnames S,S,1 : poke $c6c, 2 :sa-C :goto sa-_ >! N:! R: 1 .say %P% + "This Category isn't Marked "+ $41:goto sa-_ : endif:L = L - 1 :endif:if L < 20 exit : endif:if L > 19 bell :5.askyn "Category name is too long, rename it":T = Z :if T = 2 goto sa-N : endif:,if T = 1 or T = 0 or T > 2 goto sa-* endif: rS = Z :)if Z = 0 or Z > F goto sa-* endif:$L = len $(S) : A = asc $(S) :*if Y = #'R' or Y = #'r' goto sa-R : endif:Oif A = 42 and L > 1 bell .say "This Category is Already Marked " + $41 :goto sa-_ : f:"if Z = 3 goto sa-_ : endif: if Z > 3 goto sa-* endif: $41 = "- Press Any Key ":F = peek #dbfields - 1: )if F > 18 N = 18 else N = F endif:C.getnames 1, 1, F : .List 26,0,24,N,1,F,"Select a category":6, %L% : .writestr 22, 3, %NCO% :$1 = "Add a Marker":$2 = "Remove a Marker":$3 = "Previous Menu":.makemenu 24,3,1,3,1,1 :if Z = 0 Z = 3 endif: if Z = 1 Y = #'M' endif:if Z = 2 Y = #'R' endieg.UM":$4 = "Quit":!.makemenu 24, 3, 1,4,1,1 :Dif Z = 0 or Z > 3 display 0 esc display 1 esc : exit endif :.ongoto z, "*pL": rpt :&poke $336, I : poke $10e6, 0 >! *:! _: 12 poke $10e6, 0 poke $336, I : stop endif:goto sa-M >!M:!|: 0 exit endif:oa-q tab esc : D(1) = peek $1024 : if D(1) = D bell :A.say "There are no data bas$1 : $1 = left $1, 13:.writestr 13,8, $1 :.writestr 66, 8, $1 :=.writestr 255, 9, "DB LINK Configuration Macros U4.3":<.writestr 255, 11, "Copyright 1991-93 Steve Beville":.spacebar :' display 0 :oa-q esc:6.writestr 66, 13, %L% : .writestr 13, 7, %NCO%:E$1 = "":.writestr 13,7, $1 :.writestr 13, 13, $1:6$1 = &V& + %IF% : $1 = $1 + $1 + $1 +$1 + P: 2 goto sa-_ :endif:C(1) = peek #dbfields :R(1) = peekword $b4 :Q = peek $c54:oa-q oa-F rtn :#J = peek $230f : // esc key.if J = 27 $9 = "Escape":endif:$if J = 174 $9= "-." : endif:/.writestr 33, 0, "Link a File" + %A%: . .writestr 68, 0,$9 + ": ^`aboa-q print q : rtn>! return "2" the fiNLThese SA-J macros are used with the Data Base OA-W command. While viewing a LJWord Processor file with OA-W, press SA-J to jump to the same spot in the MKactual file. Do any editing you wish, and D@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===2:! = 0 | esc :endif poke $336, I : poke $10e6, 0:begin :)$95 = "" : a = $ef00 n = peek a : E( a = a + 1 : $95 = $95 + chr$ peek a ) n : launch "seg.um" :G .say "Place your AW STARTUP disk in a drive and press Return " : if K = 10 or K = 11 K = K + $80 :print chr$ K : endif:posn K(1), R : if R = 0 >N< bell : rpt :endif :if K = 13 endmacro: endif:rpt >!: 176 and k < 186 print chr$ K : endif:6enameoa-q print Q : O = peek $e86 - 115 :+print chr$ O :last .setcat 0,0,$0 :first |:esc :goto sa-_ >! K: 3 bell :msgxy 255, 22:Omsg ' This is not an AppleWorks file - Press Any Key ':wait 15000 :(msgxy 0, 128 : msg "" :rpt :endif:Lif K = peek $230e: $1 = .peekstr $2152 M = .substring O = peek $e86 - $73:&print chr$ O : goto sa-_ :endif:7X(1) = peek $21c1 : x = .andbits x(1), 15 : :+if K = 13 and X = 5 rtn : rpt :endif:(if K = 13 aendif: begin:5.writestr 255, 0, " LINK A FILE " + %A%:3.writestr 65, 0, $9 + ": Cancel" + %A%:poke $b802, $60:K = key :poke $b802, $4c :$if K = 27 oa-q print Q : Cancel" + %A%:d = peek $362 : "if d > 0 bell oa-q print Q:O = peek $e86 - 115 :print chr$ O :NL.writestr 0, 23, "Disk Error, Check the Current Disk or Path" + %A% : wait 15000 :goto sa-_ : then press SA-J to return to the LJData Base file. If you're not yet in the OA-W segment, the macro is smart #enough to enter the OA-W for you.LJPlace the cursor on a category and press SA-J to jump to OA-W, then press MKSA-J again to jump to th file and to remove your application from the cache.:e file'J:!// get WP file name@X = X + 18 : A = peekword X// get pointer addressFdisplay #off : oa-Q : find : rtn// go is with no arrow9oa-1 : pokeword $7B80,A : oa-Q : display #on rtn>!-- return to Data Basength of the title message2ifnot X = 9 then oa-w : stop : endif :C$70 = .peekstr $C56//remember the DB file name for laterDX = peekword $5A00 : X = X + 58// calc file name position=$0 = .peekstr X :at spot in the Word Processor, and press SA-J once "more to return to the Data Base.start;-- start by trying to make sure we're in the OA-W segment/-- if not, maybe the user wants to do an OA-WDJ:!JH//You can't use $95 = .peekstr $ef00. That address is in aux memory and MK//.peekstr won't work. If you don't want your application removed from the //cache use ::!npqrstuvwxyz{|}~!eturn " :r Appleworks STARTUP disk in a dri Introduction------------OMThis DB Widths TAPL program creates a table report with each category set to LJthe width of the widest corresponding category entry in the file. It then NLuses thtAO=====<===<====<====<=========<=====<====<====<====<====<====<====<====<====<===@O=====<===<====<====<=========<=====<====<====<====<====<====<====<====<====<===Nrpt >D = .getvalue "Enter the Day 1-" + str$ D(2) + ": ",1,D(2),D(1):if D = $ffff exit endif:GProDOSformat= Y * 16 + M * 32 + D : // convert to ProDOS format  Apokeword $bf90, P exit rpt insert .macronames goto sa-R >!f:8M = .getvalue "Enter the Month 1-12: ",1,12,M(1): if M = $ffff exit endif:=$1 = .choose "31,28,31,30,31,30,31,31,30,31,30,31",M :D(2) = val $1 :Hif Y = 84 or Y = 88 or Y = 92 or Y = 96 if M = 2 D(2) = 29 endif:G peek $e86 : display 0 oa-q display 1 :"if O > 0 esc else go endif:?M(1) = peek #month: D(1) = peek #day Y(1) = peek #year :insert oa-e :9Y = .getvalue "Enter the Year 84-99: ",84,99,Y(1):if Y = $ffff exit endiitestr 255,10,"is used past midnight or left on for several days.":M.writestr 255,12,"All AppleWorks and UltraMacros date functions will":M.writestr 255,13,"use the new date. ":.spacebar:1O =ly." goto ba-l : endif:=.titlebox 255,5,55,8,1,"Date Reset by Steve Beville" :M.writestr 255,08,"This program will enable UltraMacros users without":M.writestr 255,09,"a system clock to reset the date if the computer ":M.wr launch "seg.um" :G .say "Place your AW STARTUP disk in a drive and press Return " : rpt >! R::at Widths report to change the screen layout so all data can be seen OMin multiple record layout. Amazingly enough, the entire program is just over I400 bytes long, thanks to the power of dot commands and for-next loops.KWritten by Randy Brandt, str 30,12,"Checking record"//put up some text>// Since we have to track up to 60 categories, it would be a@// hassle to use variables. Instead we'll just make a table in@// memory at the end of the macro space, since this is a short?.writestr 23,13,"You must remove a report in":5.writestr 23,14,"order to execute DB Widths.":>.spacebar display 0 oa-q display 1 go goto sa-b endif:D.therm 22,13,0,#Records//draw thermometerD.writeceD// to put our thermometer without clearing the entire screen,&// just because it looks cooler9.titlebox 18,9,40,5,1,"Scanning category widths" :if R = 30 bell 8.writestr 23,12,"This file contains 30 reports.":5ields//use all categoriesL#Records = peekword #dbrecs//how many records in the file?ACategory = 1//start at beginningH// draw a box in the middle of the screen so that we have a pla Z > 12 goto sa-b else ?.qmenu "Choose a Data Base",1//choose a DB file:if z = 0 or z > 12 esc //user hit Escape,goto sa-b endif: zoom :R = peek #dbrpts : A#CatCount = peek #dbfif Z > 0 : exit endif:oa-q tab :D(1) = peek $1024 : if D(1) = D bell D.say "There are no data base files on any Desktop " esc :goto sa-b endif:rpt : esc:4if Z = 0 orlaunch "seg.um" :G .say "Place your AW STARTUP disk in a drive and press Return " : rpt >!,w:: statement at any point to see what's going on. You can then KIcheck the variables, press OA-V to examine the screen, and finally press )Escape to contin// macro. Each byte will hold the length of the longest entry"// for the category in question.5// initialize our length table to 2, the DB minimumfor J = 1 to #CatCount :EAdr = #MyTable + J//calculate next addressJpoke Adr,2//any less would freak AW outnext J :D// Now we start our for-next loops, which consist of an outer loopH// using variable I to go through all records, and an inner loop usingF// varia//cursor moves down b:!m a reportAdisplay #on//ready to redisplayErtn//pick the report optionE$0 = "Widths" : find rtn//find Widths and use it@rtn>!// exit report and then change screen layout to Widths:esc esc//exit reportKfirst//put cursor on first categoryGoa-L : print "2"//get layout fro//find table location= #Widest = peek Adr//grab new valueFI = #WidthTable + J//calc location to modifyApoke I,#Widest//stuff widest valuenext J :=//create a new table reportKrtn>Widths!//in any case, keep goingH<#makeWidths>: #Widest then//is this one wider?C/scan through all recordsA.writestr 46,12,str$ i//show record number>.getrec Cat,I,1,#CatCount//grab one or all=for J = 1 to #CatCount //loop through cat stringsBAdr = #MyTabse when I took a FortranG// programming class in high school using cards that we filled out byL// hand with pencils, loops used I, J or K. That's the only computer class // I've ever had, so it stuck.Gfor I = 1 to #Records/ble J that goes through all categories in each record. TheseF// loops can get a lot of work done. For example, if we have a 5,000G// record file with 20 categories, the code inside of the J loop willI// be executed 10,000 times. Why I and J? Becau@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===I vote forif x < 223 thenI rpt endif msg " " + $1>! msg &@ABC etc would be easier, of course!Cy:t! move current line to the clipboardmsg "Boring message here " :9x = key :msgxy 0,128>!{ set default back }0--- display all MouseText characters available2:!t: 3 and $0 = "test" then msg "true" : else msg "false">!IL:! why waste space with default macros elsewhere?OM--- poke the ASCII value of the desired default key into #waitkey; aft then reset msg parameters back to normal=h:!Nj:!Af:! clear screen and display a 3message,rtn>!.-- here's how and are used%e:! :! ^T to printerJ-- call this from a file to load the first file on the current data disk9-- the extra oa-q makes sure the proper screen is drawnCd:!NLa:! only page 1 of the 80-column screen is active, (so you get characters two spaces apart9b:!Lc:!&]:!7786 * 256 + peek MKThis file was converted from the version which came on the Ultra 3.x disk. JHMost of the macros worked as is, but a few minor changes were made. The )ampersand and varset stuff was deleted.AO=========<<====<====<====<====<==<=<===<=====<====<====<====<====<====<====<===@O=========<<====<====<====<====<==<=<===<=====<====<====<====<====<====<====<===N Disk filerEW/ADD/CHANGE  mode.NLsa-~RRevert to the last saved version of a file. For saved or unchanged G Efiles, the backup file with "z" inserted before the filename will be F Dloaded. With changed files, you have the option of loading the last G Esarinter 1.Asa-PPrint a data base file with today's date to printer 1.5sa-QSwitch to next file "down" on the desktop.3sa~-QSwitch to next file "up" on the desktop.LJsa-RRename the current data base category while in REVIe clipboard "deletes" the text from the document. Restore the G Eparagraph with sa-U for "undo". Copying or Moving additional data to 9 the clipboard will overwrite any data on the clipboard.Csa-PPrint a spreadsheet file with today's date to psa-KCalculate page breaks and find a page in the word processor.1sa-NPrint your name in the word processor.*sa-OIndent 0 in the word processor.LJsa-PCopy or Move a paragraph to the clipboard. Moving a paragraph to B @thignored.KIsa-F Find text and clear the previous word in the word processor and data base.5sa-IIndent 3 characters in the word processor.JHsa-HPrint Name, organization (if defined), and address in the word processor.Gile if the current desktop is  full.KIsa-B Begin a memo in the word processor. Uses the name, address, and , organization enter by the user at startup.GEsa-CChange the case of the current word in the word processor.  Mousetext is or oa-W will create a word A ?processor file with left and right margins set to 0. oa-rtn on < :"Spreadsheet" or oa-S will create a spreadsheet file with ; 9recalculation frequency set to manual. Changes desktops C Aautomatically when creating a new fAdd Files. This macro allows you to add a new file from the Current F DDisk, a predefined QuickPath, or to create a new file from scratch. G Eoa-rtn on "Current Disk" or oa-C will take you to the Change Current C ADisk menu. oa-rtn on "Word Processor" press solid apple and letter "A" or "a".;The first two macros execute automatically when required. Aba-] Start up macro executed when AppleWorks 5.0 is booted.?ba-[ Executed whenever default macro set is reinstalled .OMsa-A n "restoring the default macro set. Definitions============:ba both apple keys. option and apple keys on the IIGS./sa solid apple key. option key on the IIGS.>sa~ solid apple and control key. option-control on the IIGS/sa-As activated. Both files SEG.UM and LJSEG.AX must be on your AppleWorks Startup disk. "Inits manager activated" ?must be set to "Yes", in order to use the default macro set. LJMacro programmers should read the file "Both.Apples.L" for information orent ile with today's date to printer 1lumn MKThis file contains a list of the default macro set contained in SEG.UM and NLSEG.AX on the AppleWorks 5.0 disk. These macros are automatically installed NLwhen AppleWorks is booted with UltraMacroved version or terminating the macro. Answer "No" at the prompt to E Cabort the macro. With new files and new files that have been saved B @but not loaded from disk, an error message is displayed and the  macro stops.KIsa-SSave the current file to disk. oa-rtn on "Current Disk" or oa-C D Bwill take you to the "CHANGE CURRENT DISK" menu. Filepath option G Esaves the file to the path it was loaded from provided the Auto save E Ckey and the smart save key are the same. If AppleWorks is patch same spot in the actual file. Do any C Aediting you wish, and then press ba-J to return to the Data Base B @file. If you're not yet in the oa-W segment, the macro is smart # enough to enter the oa-W for you.Nsa-JReturn to data base from the d.MKba-TTripleMenu displays a list of files on all three desktops. Use up ? and down arrows and tab to navigate. Return to select a file.KIsa-JWhile viewing a Word Processor file with oa-W in the data base, A ?press sa-J to jump to theor the current disk, if accessed from the Change Current F DDisk filecard. AppleWorks will always use the path displayed in the E Cupper left corner. QuickerPath can not be accessed from a listing 8 of subdirectories at the Change Current Disk filecarcessing the Change Current E CDisk menu. It can be used at the "Add Files" file listing but not F Dfrom any other file listing. QuickerPath updates the path displayed E Cin upper left corner of the screen but not the path displayed as a F Dmenu item f.NLsa-WQuick column for the data base. Enter a number to reset the column 4 width of a category in the Multiple Record Layout.HFba-QQuickerPath. Change the current Path to one of the pathnames D Bdefined in Standard Settings without acba-URemove a Task File from the cache. This is useful to free memory if B @needed. To select all files for removal, use open-apple and the A ?right arrow key. For maximum performance "SEG.UM" and "SEG.AX" + should be left in the cache at all timesout a new file, change the status to "Unchanged"  then removed.2sa-1Leave one file and go to the main menu.FDsa-2Works with sa-1. Returns to previous file from anywhere in AppleWorks.%ba-LLaunch a cached Task File.OMist all files on the current drive.*sa~-O Delete the next printer option.OMsa~-S Filestatus. Change the filestatus of a file. Remove a file from the D Bdesktop. New files will be saved to the current disk before being E Cremoved. To throw r. Insert a space even if strikeover  cursor is active.sa~-BBoldface a word.sa~-CClose a letter.sa~-DMake a paragraph.'sa~-FFind next forced page break.*sa-tabSet tab at the cursor position./sa~-LLRemoves carriage returns in the word processor. Carriage returns 1 that indicate blank lines will not be removed. 4sa--Solid-apple dash. Insert subscript codes.$ba-SInsert superscript codes.KIsa-Solid-apple and the spacebaboard and can be reinserted in the file using this E Ccommand. The data will remain on the word processor clipboard only 9 until the next Copy or Move to the clipboard operation.:sa-VChange a formula to a value in the spreadsheet.LJsa-Zis message. "Dot cmd error" will also be displayed.  Press any key to continue.OMsa-UUndo last "delete" in the word processor. All word processor macros D Bin this set don't actually delete data from the file. The data is F Dmoved to the clipand ,'s are filtered E Cout by the macro. Displays the total with 2 decimal places. If the F Dcategory contains anything but numbers, the dollar sign, commas, or G Ethe minus sign, "Unable to understand..." will be displayed. Press a E Ckey to clear thed D Bto use oa-S as the auto save, it must also be patched to use oa-S 2 for smart save for this macro to work correctly.MKsa-TTotal a column of numbers in data base without printing a report. E CWorks with record selection rules active. $'s word processor. Works with sa-J above.LJsa-EAddress a standard #10 envelope. Prints to printer number 1. The G Eprinter should be online and selected. The envelope should be loaded ) with the top edge under the paper bail.<sa-MSet left and right margins in the word processor.=sa-RToggle recalculation frequency in the spreadsheet.2sa-WChange column widths in the spreadsheetFsa-/ Swap with character to right to correct transposed letters.Csa-\ Swap wrpt :restscr :5poke $10f2,1 :poke #curschar, c : goto ba-l >!r:=poke $10f2,0 : c = peek #curschar :poke #curschar,32 :.cls 0 : begin:poke $b802,$60:k = key :poke $b802, $4c :?if S = 1 and k = $80 exit else if S = 0 exit endif: ity = 1 : bell bell :H.titlebox 255,5,55,9,1,"No Clock Blanker by Steve Beville" :JH.writestr 255,11,"Use -shift-control-@ to reactivate the display" endif:3if Z = 0 or Z > 154 restscr goto ba-L endif:.spaceba.writestr 255,13,"computer from being used by others if the blanker ":M.writestr 255,14,"is active. ":S = 0 : O = peek $e86 : (.askyn "Would you like security":,if Z = 2 : Securnd prevent the":M.writestr 255,10,"monitor from being burned after an extended period":M.writestr 255,11,"of inactivity. As an additional benefit, it will ":NL.writestr 255,12,"provide a small degree of security to prevent the ": M ba-L stop : endif: savescr:C.titlebox 255,5,55,9,1,"No Clock Blanker by Steve Beville" :M.writestr 255,08,"This program will enable UltraMacros users without":M.writestr 255,09,"a system clock to blank the screen a) n :launch "seg.um" :G .say "Place your AW STARTUP disk in a drive and press Return " : rpt >! B::rsor left to the next category in single record layout % at the CHANGE RECORD LAYOUT screen.Mpy text (includrbapples and the delete key. Moves to Delete a file from disk. + Return to current desktop file with sa-2.OMsa-rightJumps the cursor right to the next category in single record layout % at the CHANGE RECORD LAYOUT screen.NLsa-leftJumps the cuith word to the right to correct transposed words.NLsa-del Solid-apple and the delete key. Delete Menu in the word processor. D BNothing is actually deleted, it's moved to the clipboard. Restore the "deleted" data with sa-U.NLba-del Both-'DB.LINK Y'DUP.ZAP f[6-SEG.UM.SOURCE7}0 -SEG.NA.SOURCE [5.ULTRA.COMMANDS}G$.DB.LINK.SOURCE [5.INSTALLDESKJET if Z > 0 exit : endif : if Z = 0 sa-T : bell : .Say OM'Place ' + $4 + ' in a Drive and press return' : K = peek 49152 : if K = 27 OMstop : else : rpt endif : $5 = $4 + "/" + $3 : .Online $5 : if Z = 0 sa-T PN: bell : .Say $3 + ' not found at ' KT:!KIZ:!+S:!M: if T = 3>A peekword 37410 PNor F > peek 37409 G = 1 : endif : if T = 1 and A = 47 esc esc pokeword 37413, #G : endif : oa-Q display 1 : go>!PN: : endif : F = A - B : P = B - 1 : $4 = left $3, P : $3 = OMright $3, F : $0 = $3 : .WriteStr 0, 23, "Please wait..." + %A% : display 0 MK: oa-Q Z = 200 : find : if Z = 1 rtn else : sa-Z : endif : T = peek 3179 : NLoa-1 oa-F if T = 1>AT 2 OMstop : endif : if F(1) > 0 $2 = .GetCat F(1), 0 : : else : $2 = "" : endif : MK$3 = .GetCat F, 0 : : Y = asc $3 : $10 = "/" : $10 = right $3, 1 : L(1) = OMasc $10 : ifnot Y = 47 bell : bell : bell : .Say "This Record Is Not Linked PNTo An9 : .ZoomIn : F(1) = PN0 : .GetNames 1, 1, F : $61 = "*" : for I = 1 to F : L = len $(I) : if L > 1 OMand $61 = left $(I, 1 F(1) = I : I = F : endif : next I : if F(1) = 0 bell : LJ.AskYN "No Marked Category. Continue Anyway" : if Z = 1 or Z = 0 or Say " Execute -] First " : stop : MKendif : $0 = .PeekStr 3158 : : if $0 = $90 or $90 = "" exit : endif : T = OMpeek 3179 : if T = 1 $40 = .Upper $0 : : $41 = .Upper $3 : : if $40 = $41 OMgoto sa-T : endif : exit : rpt $90 = $0 : F = peek 3740!eturn " :r Appleworks STARTUP disk in a drilabels.DB.LINK.4.43\sa-S Find a linked File\sa-T Toggle between Files\sa-E Emergency Display On\ba-L Launch default macrosstartMKS:%~b/ENTER.KEY.PATCHG}g6-KEYPAD.TOGGLE~f).CHANGETEXTTYPE }}/ /CASE.MACROS.ALTs}1 +ALT.STARTUP+ $4 : stop : endif : .SetDisk $4 : $0 = $3 : sa-D>! E:!LJX: 0 display 1 : .Say " Getting error trying to read " + $3 : stop>!OMD: 12 .macronames goto sa-] stop else goto sa-Z >! Z: 0 : exit endif:oa-q tab : D(1) = peek $1024 : if D(1) = D bell D.say "There are no data base files on any Desktop" esc :-.macronames goto sa-] stop endif:rpt : end= a + 1 : $95 = $95 + chr$ peek a ) n launch "seg.um" :G .say "Place your AW STARTUP disk in a drive and press Return " : rpt >!]:: + 1 : $95 = PN$95 + chr$ peek A)N: launch "seg.um" : .Say "Place your AW STARTUP disk in a "drive and press Return " : rpt>!Mpy text (includrb$3 + ' ' : if H = I or H > I sa-T : bell : bell : bell : .Say $6 MK: stop : endif : right rtn H = peekword 4051 : if H = 0 display 1 : sa-T : (bell : bell : bell : .Say $6 : stop>!MK:! + 1PNThis is the macro source file for SEG.UM, the default macros available to you NLupon bootup with AppleWorks 5. It has more than 700 bytes available for you OMto add your own macros by recording CO=====<====<====<====<====<====<==<=<===<=====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<==<=<===<=====<====<====<====<====<====<====<===N.putbendif:)if $2 = $1 and C < F up tab :endif:-ifnot $2 = $1 : onerr off first :endif:/rpt .therm 22,13,0,1 .therm 22,13,1,1 >!$6 = str$ T + $6 :onerr exit:?$1 = .upper cell: down $2 = .upper cell: posn C, R: .therm 22,13,R,N(1): .writestr 27,12,$6 :=if $2 = $1 and C = F oa-d rtn onerr off first up::! E9268 : x = 1 :/( poke A, x : a = a + 1 : x = x + 1 ) F:poke $935c, F :display 0 : oa-q rtn :8.titlebox 18,9,40,5,1,"Checking for Duplicates" :sa-E : .spacebar :A = $922b :T(1) = peek A : Undo last macro "delete"\sa-V Formula to value \sa-W Change col. width in ASP\sa-W ADB MRL Quick Column\sa-Z Remove carriage returns\sa-- Subscript\sa-/ Swap character to right\sa-\ Swap word to right\sa-del AWP delete menu\sa-1 Return to Main Menu\sa-2 Return to previous file\ba-L Launch cached Task\ba-S Superscript\ba-T Triple Menu\ba-U Remove file from cache\ba-Q QuickerPath\ba-del Delete from disk .seg.umstart:To:!Change case of word C: 3 stop endif:pokeword $ef1e,$bb :right oa-left :x = 160 :if Z = 3 : endif oa-N oa-Y >!Begin a letter:B:Date:From: 127 display 0 oa-o>lm0rm0 127 poke $7f84, 77rpt :display 1 :Type = Z - 2 :if T = 2 insert oa-e :CC =.GetValue "How many categories would you like? ",1,60,60:insert :>if C > 60 and S = 1 restscr endif if C > 60 stop endif:.newfilown : rtn stop endif:.if Z = 1 rtn else down rtn oa-P endif : STOP : rpt :// marker onlydisplay 0 : begin:!C = peek #filecount :"if C < 12 exit endif:oa-q tab : :3if Z = 0 or Z > 5 and S = 1 restscr endif :&if Z = 0 or Z > 5 stop : endif:MO = peek $c061 :// oa-rtn on Current or oa-C goes to change disk .if Z > 2 exit: endif: oa-q oa-a :4if Z = 1 and O > 127 : d A:! %:! Add Files:turn" : $k = peek $c000 : if k = 27 stop >!(}:! _: 0 exit endif:"$1 = $1 + "/NAME.ADDRESS" :.loadvar $1, 190 :!if Z = 0 goto ba-# endif :sa-! : exitcall ba-K in "seg.ax" :if f = 0 sa-_ :rpt endif :P(1) = peekword $a90 :if P(1) > 0 exit endif:msg ' Please Wait ' :begin :$1 = .awpath : $Z = len $1 : Z = Z - 1 :ivate Inits and reboot to use UltraMacros ' : stop : Cendif goto ba-[>! get to Main Menu if auto-startup active,6even if 5.25" drive and no clock:5< rtn : NLmsg ' You must actbegin :x = peek $10f5 :%if x > 160 uc exit endif:if x < 160 right :rpt endif:+if Z = 1 pokeword $ef1e, $ba endif :begin :x = peek $10f5 :!ifnot x = 160 sa-0 :rpt endif oa-right >!GF:T!find text, clear previous wordBF:!find text, clear previous;I:IN3! indent 3 charactersPrint Nam q : rtn>! return "2" the file we leftRemove files from cache:!Launch a cached task file:! delete next ^,:!K1:! leave "1" file; go to main menuB2::ONP! find next forced page break (NP)L:l! set tab at cursor position (tab is ctrl-I)E:! list all files on the current drive:::! boldface wordE:Sincerely,! close a letter::! make a paragraphI! insert a space, even if strikeover cursor)-------------------------sD-:-B-E! insert subscript codesK:+B+E! insert superscript codes)---------------------------------------insert a space:!CU:F! undo last Ultra 4.0 delete"V:!WX<Z:!)--------------------------------------- More macroce printer option Revert to last saved versionJ:!=S:!=T: 20 or $2 = "" stop else .setnames 0,2,1 :| esc poke #filestatus,2 >!PR:O!replat "@" :rtn rtn >!PNP:11! print data base report #1 with today's dateGQ:! switch to next file on desktop:! R:!.Print ss file with today's date to printer 10P:A peek $b953 stop endif:$1 = .choose $1,Z :K = $80 + asc $1 :begin :(first : up : R= peek #wpwa :J= peek $B5 :,if J= 208 exit else if R < 128 :; Name1O:IN0! indent 06Copy or Move paragraph to clipboard - undo with sa-u P:!IK:P! calculate page breaks; find a page9N:!printif Z = 0 bell .say "The cache is empty" stop endif :Count = Z :+.list 30, 2, 20, Z, S, Z, 'Launch?':*if Z = 0 or Z > Count exit endif :-launch $(Z) : >! launch selected file.>W:! QuickerPathA:! TipleMenuA:!oa-w data base macroDJ: 0 :*call sa-ctrl-Z in "seg.na" :endif :sa-_ rpt >! !:( .pokestr $(k $10f5 :&ifnot C = 186 left rpt endif : begin : H = peek $14 :if H < 1 stop : endif :C = peek $10f5:+ifnot C = 160 left rpt else right >!:!IJumps the cursor right to next category in single record layout screen.: 77 stop endif:4C = peek $10f5 : ifnot C = K right rpt endif:%if k = 160 K = 186 rpt endif :if K6 left oa-M>T!Delete file from disk:5:6!IJumps the cursor right to next category in single record layout screen.: 6 stop endif:8if z = 1 right oa-left oa-M>TTTTT!Swap with word to right:M\:W!Delete menu::!Change column widths:W:!Swap with character to right:+/:se $1, Z : display 0: 9oa-O print chr$ asc $2 :>M< rtn print right $1,3: rtn display 1: esc >!!Toggle Recalculation frequency: R:2 stop endif:Z(1) = Z :$2 = .choose $2,Z :1$1 = " 0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0":.menubar2 $2,$1,44:$if Z = 0 or Z > 7 stop endif:$1 = .chooJ:!-- Address an envelopeE:!Set Left or Right Margins M:!// go is with no arrow"-- return to Data Base file 'the length of the title message.ifnot X = 9 oa-w : stop : endif :C$70 = .peekstr $C56//remember the DB file name for later:X = peekword $5A00 + 58// calc file name position8$0 = .peekstr X :// ges), a : a = a + peek a + 1 s = s + 1 ) 4 :4.putblock 0,$bd00,l,1 : pokeword $a90, z : >!O# %-+o*=>#o  ~Crb@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===NZip/PostalAME.ADDRESS" : begin:.savevar $1 :if Z = 0 bell :K.say "Place the AW.STARTUP disk in the drive and press Return":rpt endif:| : display 1 esc :$95 = "SEG.NA" :launch "seg.testr 0,Y, chr$ 1:+$99 = .getinput 0,Y,"","",80 :1if $99 = "" or Z = 0 Y = Y - 2 :bell:rpt endif:".askyn "Is this correct" : /if Z = 1 poke $370,1 :goto sa-A endif :0$1 = .awpath : $1 = $1 + "N"","",80 :.if $98 = "" or Z = 0 bell : Y = Y - 2 :rpt endif:Y = Y + 2 :begin :EC.writestr 0, Y, $10 + "City, State/Province abbreviation, and Zip/Postal Code " + chr$ 11:Y = Y + 2 :".wri Z = 2 exit endif:#if $97 = "" or Z = 0 bell :Y = Y - 2 rpt endif:Y = Y + 2:begin :4.writestr 0, Y, $10 + "Street Address " + chr$ 11:Y = Y + 2 :.writestr 0,Y, chr$ 1:&$98 = .getinput 0,Y, + "Organization " + chr$ 11:O.writestr 0,23,chr$ 10 + " Press return to skip this option " + chr$ 11:Y = Y + 2 :.writestr 0,Y, chr$ 1:%$97 = .getinput 0,Y,"","",80 :.writestr 0,23,chr$ 1 :(if $97 = "" andin:.cls 0 : Y = 0 :/.writestr 0, Y, $10 + "Name " + chr$ 11:Y = Y + 2 :%$96 = .getinput 0,Y,"","",80 :#if $96 = "" or Z = 0 bell :rpt endif:Y = Y + 2: begin:7.writestr 0, Y, $10t $1,65535+ len $1 :.online $1 :if Z = 0 bell :F.say "Place the AW.STARTUP disk in the drive and press Return":rpt endif:sa-a >!A::!:!R@O=====<=====<===<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<=====<===<====<====<====<====<====<====<====<====<====<====<====<====<===NJ = 65432 bell: .say " Execute -] First ":STOP endif :-$0 = .peekstr $c56 : // filename :%if $0 = $90 or $90 = "" exit: endif:T = peek $c6b:3if T = 1 $40 = .upper $0 : $41 = .upper $3 :if !eturn " :r Appleworks STARTUP disk in a drilabels.DB.LINK.5.0\sa-S Find a linked File\sa-T Toggle between Files\sa-E Emergency Display On\ba-L Launch default macrosstart S:arch all three desktops, and 7 5will stop on the file name, or it will return to the + starting point if the find attempt fails.FDIn a Word Processor document, SA-Return moves the cursor  to the next carriage return.ters defined in $0 are searched for < :and partial matches are allowed. This means you can press > enters the date as: 09/29/931SA-=