8L2C)pJJJJ IH(ȱH:=IH[H`@HcH  $ +   I/H`JLNGȄBȄF aK  haaFF  mJm# KKJ UJ )J ۈ) ;J3ȱJFȱJGJKaȄM  aaNNJFLGJL L? &PRODOS `DaElH$?EGvѶK+`L HHLy XP LM ŠϠĠӠS)*+,+`F)) (*=GJFjJJA QE'+ '== `@ STSP8QSS8 m P o R(8REXTRAS 9 9' @AW3.FILES 9 9DATA.BASE 9 9FILES 9 9MACROS4 9 9ULTRAMACROSG 9 9UPDATER  9 9A.AW51INSTALL.1 Kx7 &ALARMS x|Ҽ;+AW.3.0.TIPS9mox#R.BACKGROUNDTEXTK xG,BASIC.SYSTEMU(x &ERRATAj x|c) +FINDER.DATApx9 .INSTALL.SCRIPTs7 x}2.INSTALL.SHAPESzxa .INSTALL.SYSTEM~A~xv9/MOUSEFIXER.DOCSX x{(NEW.DOTS xwa&PRODOS#Bx #RFP x۾(RFP.DOCS xhROM3MOUSEFIXERx4'STARTUPxG+TRIVIA.QUIZ  x~PAW3.FILESv 9' '$DATAKxڲ&INCOME %xڲ&LETTERIxڲ(MAILLISTAxڲ&SPREAD\xڲTEXTxڲ DD/  Namegory 1TeamAverage! John SmithBob's Automotive112 Sue Jones ABC Rentals145Bill DoeBob's Automotive158Jane Doe ABC Rentals215Shad RoeAl's Fishworks178 CA1NFNFP nS& This Year Last Year Difference Income!.!.!.!....6Salary @ @@; Investments @ @y@8 Interest x@ @e!-!-!-!----V Gross Income@P@i@ !=!=!=!====. Expenses    !.!.!.!....8 Mortgage @ @9 Utilities @ @[@9 Insurance @ P@i@!-!-!-!----U Ttl Expense@E@`s@!=!=!=!====4@O=====|====|====|====|====|====|====|====|====|====|====|====|====|====|====|===@ O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===wholesale, and suggested retail prices.Shoe models, thJones Brake Shoes100 Industrial AvenueMytown, USA 10001<:Here's a list of available Jones Brake Shoe models, their )wholesale, and suggested retail prices.:8We're sure you'll find our break shoes hard to beat for ,stopping custommers right in their tracks."Model Wholesale Retail" 8E $ 10.85 $ 15.00"9C & D $ 12.42 $ 17.98"10A $ 16.50 $ 22.49"10EEE $ 24.68 $ 31.98Very Truly Yours, Alice JonesOwner and PresidentEDD/     First Name Last NameStreetCityStateZipnePhone7JohnJones 33 Elm St.KenoshaWI11111(100) 555-1001>SusanDoe28 Bluebell Way CharlestonWV22222(100) 555-1002>BobWhite8 Airport Blvd. TeeterboroNJ33333(100) 555-1003CJenniferSmith12 Fertile CrescentPuebloCO44444(100) 555-1004GHarry Williamson155 Lancelot Dr. ArthurvilleTX55555(100) 555-1005;LindaWu108 Hillside Rd.TonopahNV66666(100) 555-1006=MikeGreen 210 Main St. Great FallsMO77777(100) 555-1007=NancyFarrel2498 Coyote CynTucsonAZ88888(100) 555-10089MarySmith 634 Birch WayTucsonAZ88888(100) 555-1009CA1NHNHP nS6Salary @ @@; Investments @ @y@8 Interest x@ @e% V Gross Income@P@i@ @O===============<===================<===========================================@ O===============<===================<===========================================;9This is a small sample practice file. You can use it to 64practice copying between the Word Processor and the 0Spreadsheet and Data Base parts of Appleworks.sDATA.BASEv 9' '(AN.INTRO xGART"x`T4*AUTORECALC#{xwT+DISK.IMPORT'x{T -FORMULA.DATES+Bx~xC+FORMULA.NUM0x~`C,FORMULA.TEXT5 x~pC/H.FORMULA.DATES;0x+7 -H.FORMULA.NUMI&x+; .H.FORMULA.TEXT^"x+ MATHqxpT5NUMBERSrvx~n0 !p@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===NGEThe files in the TOTALCONTROL directory are adapted from the samples CAon the original TotalControl product from JEM Software. It added A?category rules to AppleWorks 3.0, including formulas, imports, GEglossaries, etc., and was the basis for these features in AppleWorks HF4, although additional enhancements were made in the that version and now in AppleWorks 5. Formulas ========DBLoad these files: H.Formula.Dates, H.Formula,Num, H.Formula.Text, IGFormula.Dates, Formula,Num, and Formula.Text. The first three are Word GProcessor files containing help info about the three Data Base files.GESwitch to any of the Data Base files and press OA-` in a category to EClearn more about the function being demonstrated in that category. ECAfter Escaping back to the Data Base, press OA-O to see the actual formula definition. AutoRecalc ==========ECAutoRecalc is a very simple file demonstrating how the auto-recalc DBcapability can automatically recalculate a record when a specific GEcategory is changed, providing Spreadsheet-like capabilities. Add it 7to the desktop and follow the on-screen instructions.Disk Importing==============B@Add the "Disk Import" file to the desktop. Follow the on-screen GEinstructions and it will demonstrate importing from both a Data Base IGand a Spreadsheet on disk. Use OA-O to see the actual rule definitions ,in the DB Import and SS Import categories.Miscellaneous=============ECLoad the Sample and States files. Sample demonstrates various data ECentry rules such as a phone mask, minimum and maximum values, case IGrules, etc. It also uses the States file for a glossary example in the IGState category. Type the first few letters of a state in that category 2and press Return to get the postal abbreviation.$More Importing and a Glossary, too$==================================GELoad these files: Student Names, Students, Art, Math and PE. Examine CAthe Spreadsheet files and notice that an ID is in column A, with HFgrades in column C. Now switch to the Student Names file and note the 7ID category, along with Teacher and Grade categories.IGSwitch to Students. Place the cursor in the ID category and press OA-G CAfor a Glossary list of students. Choose one and observe that the ECrecord suddenly becomes much more filled out. Press OA-Z to switch GElayouts and try it again. One thing different from the "Disk Import" HFsample is that the Class categories are not absolute. In other words, HFAppleWorks looks in the Class category to determine where to look for @the grade. This allows for extremely flexible Data Base files. CA1NINIP nSAARoenick, Jeremy(JEMs,SpellCopy)BiologyIDStudentGradeRW1Williams, ReggieBDM1Mutombo, DikembeC+LE1Ellis, LaPhonsoC$%&%DD/  (#Entryory 1 MultiplierResult45678Entry Multiplier2.4dudes3.81dudes4dudesEnter a number in Entry()*DD/  (*'Triggery 1 DB Import SS Import(GradeName Student NamesTriggerNumbersTriggerType in 10, 11, or 12,-./sDD/   () * + , - . / 0 1 2 3 4 6 Datesory 1 DateToJull JulToDatee DayFromJull MoFromJulll YrFromJulllTodayymJull`%Read anTimeeymJulut applicatTimesatamenDates TymeToNumenDatesީ0DaysBetweenDatesih DateInFutureates !IntosetutureatesChoose8|LM Joinat (6Lǀ  ˍDatesٍ DateToJul2͍ DateToJul̍ DateToJul΍ DateToJul  ՍTimes ˍ DateToJul ٍ DateToJul100001 .( DateToJulȍ DateToJul771@:IntSunMonTuesWednesThursFriSaturChooseday1991L25A001991D15A011989B28O0011:59 PM1234%DD/ ))))  (5 6 7 9 : ; < = > &&&&&&&& NumberDataAbsolute SquareRootMaximumMinimumSum Average 1 Average 2RounderIntegerDecimalInverseRecNum CurrentRecNum CurrentRow Increment PriorRecord| TotalRecords à L:IfDataaanother TimeOuIf_2lication disk|`ƍ NumberDataʍ NumberData10 NumberData10 NumberData NumberData103690036901 ؍ NumberData2 ȍ NumberData Ǎ NumberData ɍ NumberData  ܍25Ӎ CurrentRow%ލIfData021041234512345-1200.751 12 -1-1123.456-2.2505ABC6789:,DD/     ))))))))  (&%'%(%)%*%+%,%: * + , - . / 0 1 TextData 1Genderc Upper Case Lower Case Capitalize8{FinddatNol;|<| ߁LengthtNoT`%Read anLefttttek1ut applicatRightee1{` Ifddlee1 Ɉީ0Join 1 1 HihJoin 2 2  ! Account # ! ŀŀMiddle8|LM ChooseentColors|{|Matchms1ums1 à L:LogNums1ums2er TimeOuLogNums2tion disk|`And `|8 Ortީ0!׭| NotHihL/i   ύTextData ЍTextDataэ Lower Caseߍ TextData10 ҍTextDataۍTextDataFind1 #ڍTextDataLengthFind "ލGenderMMr.Mrs. If Right 0*ލGenderMMrMrs. Rightݍ Account #623-MiddleOneTwoThreeFourFive60ColorsGreenBlueRedGrayYellow֍LogNums1LogNums2׍LogNums1LogNums2 ōOr)Al AllanM 5050-01-1800Green00) Bob BrownM 4545-02-5455Blue01. Clem CalhounM 2110-03-6000Yellow10, Danni DanielsF 2550-04-2545Red11( Esther EasterF 1300-05-0505Gray<=>?@ABCDEFGHAO=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===only' to Yes to prevent unwanted updating of the curreMKThis is the help file for the Formula.Dates Data Base. Place the cursor on MKany category in Formula.Dates and press OA-` to read appropriate info from this file.ЖDatesLThese are simply some dates- one famous, one onerous, and one meaningless.LJWell, perhaps not meaningless to you, since there is a 1 in 365.25 chance 0that this was your birthday several years ago.MKAdd your birthdate in record number four, and use the correct year, unless MKyou were born in the 1800's; then you have earned the option to choose any 1year you please! Add as many dates as you wish.*These are all in AppleWorks date format.9The Date Functions are found on page 173 of the manual.Ж DateToJulMKThis formula converts a date into a Julian date. Julian date number one is MMarch 1, 1920. Julian dates increase sequentially with each succeeding day.Usage: @DateToJul(Date)JHTo convert a date to Julian, the date must be either in AppleWorks date 8format or in a text format recognizable by AppleWorks.Ж JulToDate+This converts a Julian number to a date. Usage: @JulToDate(JulianDate)MKThe date can be one of several formats. The possible formats are listed on page 174 of the manual.Ж DayFromJulDThis will return the number of the day (1-31) from a Julian date. Usage: @DayFromJul(JulianDate)OMThis is useful for making your own custom date formats, such as a date stamp in the form of May 13th.Ж MoFromJulFThis will return the number of the month (1-12) from a Julian date. Usage: @MoFromJul(JulianDate)9This is useful for making your own custom date formats.Ж YrFromJulBThis will return the number of the year in a four-digit format. Usage: @YrFromJul(JulianDate)PNIt will return years in the 21st century, for example, @YrFromJul(30000) will return 2002.ЖToday<Returns the current date in the current AppleWorks format.Usage: @TodayMKIf you use this for date-stamping, set the option 'Update empty categories @only' to Yes to prevent unwanted updating of the current date.OMIf you do not have a system clock, it will use the date you entered when you started AppleWorks.ЖTime<Returns the current time in the current AppleWorks format.Usage: @TimeMKIf you use this for time-stamping, set the option 'Update empty categories @only' to Yes to prevent unwanted updating of the current time.ЖTimesKIThese are times used to demonstrate the TimeToNum function. See the next category to the right.OMSince we don't want this screen to appear sparse, let's talk about something LJtotally unrelated to TotalControl. Have you ever purchased a product, and LJhaving observed the total amount were surprised to find it contained only LJdollars and no cents (xxx.00)? You were surprised because this happens so OMrarely, yet you have an equal chance of getting .00 as you do of getting any PNother number, .49 for example. The chances for getting either number are 1 in 100.NLThe reason you rarely see .00 is because you have a 99 in 100 chance of not KIreceiving the number .00. (Editor's note: What Dan is forgetting is that OMretailers tend to price items a penny or two below an even dollar amount, so OMtax almost always bumps you past the magic .00, making the chances less than "1 in 100 in our consumer world.)Ж TimeToNumNL@TimeToNum will convert an AppleWorks time format into an integer between 0 and 1439.$Usage: @TimeToNum(AppleWorks Time)PNThe integer returned represents the number of minutes past midnight. Midnight itself is the integer 0.J12:00 AM, or 00:00 for you 24-hour buffs, is converted to the integer 0.L11:59 PM, or 23:59 for you 24-hour buffs, is converted to the number 1439.OMUsing this function, you can calculate the number of minutes between any two PNtime fixes. You can start with midnight, but you cannot end with midnight nor Dcan you cross midnight between your starting time and ending time.OMTo find out how many minutes elapsed between 3:04 pm and 4:01 pm, place 3:04 PNPM in the category StartTime and 4:01 PM in the category EndTime and use this formula:/@TimeToNum([EndTime])-@TimeToNum([StartTime])(To determine hours, just divide by 60.DaysBetweenDatesPNJulian date math allows you to find the number of days between any two dates. PNThis is useful for billing, time management, and just plain fun. If you added PNyour birthday in the Date category, you can see how old you are as counted in days.F@DateToJul(@Today) is a quick way of getting today's date in Julian.DateInFutureLJJulian date math allows you to add any number of days to a date, and then *determine what that future date will be.NLFor example, on a payment list, knowing you invoice date and payment terms, 3you can display the date on which payment is due.ЖIntOMThis is part of a formula for calculating the day of the week for any Julian Hdate. Don't forget to see the next two formula columns in this series.Usage: @Int(Numeric)PNThis formula calculates the day of the week as a counting number based on the Julian date.ChooseLJThis is the second step of calculating the day of the week for any Julian >date. See the previous formula and the next formula as well.2Usage: @Choose(Position,"List1","List2","ListN")LJIt takes the number we calculated in the previous formula and returns the Gprefix of the day of the week. For more information see Formula.Text.ЖConcatMKUsing the previous two columns of formulas and this final formula, you can Ldisplay the day of the week for any Julian date supported by TotalControl.)Usage: @Concat("Text1","Text2","Text3")HFThis formula appends the word "day" onto the prefix calculated in the previous formula.OMIf you are paid on the 15th and 31st of the month, you can now see if payday ;falls on a weekend. For more information see Formula.TextJKLMNOPQRSTUVWXYZ[\]^BO=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===this file.ry in Formula.Dates and press OA-` to read aOMThis is the help file for the Formula.Num Data Base. Place the cursor on any LJcategory in Formula.Num and press OA-` to read appropriate info from this file. NumberDataMKThis is the original data used to demonstrate the numeric functions. It is PNsimply a list of numbers. Feel free to add as many new numbers as you please, NLespecially in those cases where the usage of a function may not be entirely clear.<The Numeric Functions are found on page 175 of the manual.<The Special Functions are found on page 177 of the manual. Absolute2@Abs will return the absolute value of a number.Usage: @Abs(Numeric)PNAbsolute value, in layman's terms, means the value of a number, regardless of MKa prefixed plus or minus sign; the positive square root of the square of a Knumber. You math nuts know this function makes negative numbers positive.9@Abs(123) will return 123. @Abs (-123) will return 123. SquareRoot,@Sqrt returns the square root of a number.Usage: @Sqrt(Numeric)/@Sqrt(4) returns 2. @Sqrt(10000) returns 100.Ж MaximumJH@Max returns the largest number in the list. The number of arguments is #limited only by data-entry space.(Usage: @Max(Number1, Number2, NumberN)@Max(1,2,3,4) will return 4.Ж MinimumKI@Min returns the smallest number in the list. The number of arguments is #limited only by data-entry space.(Usage: @Min(Number1, Number2, NumberN)@Max(1,2,3,4) will return 1.ЖSumKIReturns the additive sum of the numbers in the list. That is, all of the .numbers in the list are added to each other.(Usage: @Sum(Number1, Number2, NumberN)@Sum(1,2,3,4) will return 10.#An equivalent formula is 1+2+3+4.Ж Average 1JH@Avg returns the average of the numbers in the list. Optionally you can :choose not to average numbers in the list equal to zero.0Usage: @Avg(Number1, Number2, NumberN, Option)NLIf Option is set to 1, zeroes will not be included in the average. If it is $set to 0, zeroes will be included.F@Avg(3,6,9,0,0) will return 4.5. @Avg(3,6,9,0,1) will return 6.LThe equivalent formula is (3+6+9)/4. The equivalent formula is (3+6+9)/3.;This is an example of counting the zeroes in the average.Ж Average 2JH@Avg returns the average of the numbers in the list. Optionally you can :choose not to average numbers in the list equal to zero.0Usage: @Avg(Number1, Number2, NumberN, Option)NLIf Option is set to 1, zeroes will not be included in the average. If it is $set to 0, zeroes will be included.F@Avg(3,6,9,0,0) will return 4.5. @Avg(3,6,9,0,1) will return 6.LThe equivalent formula is (3+6+9)/4. The equivalent formula is (3+6+9)/3.EThis is an example of excluding the count of zeroes in the average.ЖRoundO@Round returns a number rounded to a user-specified number of decimal places.&Usage: @Round(Number, DecimalPlaces)PNIf the digit to the right of the number specified by DecimalPlaces is 0-4, no Dchange takes place. If this number is 5-9, it is incremented by 1.PN@Round(1.2345,2) would return 1.23. The next digit to the right was 4, so the 3 was left unchanged.MK@Round(1.2345,3) would return 1.235. The next digit to the right was 5, so the 4 was incremented by 1.Ж Integer2@Int returns the integer portion of the number. Usage: @Int(Numeric)LJThe integer portion is that portion on the left of the decimal point. The Cdecimal portion in truncated; the integer portion is not rounded.@Int(1.99999) would return 1. Decimal>@Dec return the fractional or decimal portion of the number.Usage: @Dec(Numeric)KIThe fractional portion is that portion to the right of and including the decimal point. @Dec(1.999) would return .999. Inverse*@Inv will change the sign of the number.Usage: @Inv(Numeric)CIt makes positive numbers negative and negative numbers positive.0@Inv(-5)will return 5. @Inv(5) will return -5.ЖCurrentRecNum7@CurRecNo will return the current true record number.Usage: @CurRecNo#This function takes no arguments.KIThis functions returns the true row number used by AppleWorks. If Record FDSelection Rules are being used, the row numbers returned may not be /contiguous, as not all rows may be displayed.Ж CurrentRowK@CurRow returns the number of the current row as displayed on the screen.Usage: @CurRow#This function takes no arguments.HFThis function returns the displayed row number irrespective of Record LJSelection rules. Even if Record Selection Rules are being used, the count will always be contiguous.Ж IncrementB@Inc will increment with each record by a user-specified amount.+Usage: @Inc(StartNumber, IncrementNumber)MKThe first record displayed will contain StartNumber. Each record displayed 4thereafter will be incremented by IncrementNumber. PriorRecordI@PriorRec will return the contents of any category in the prior record. Usage: @PriorRec(CategoryName)MKIf the first record is active, 0 will be returned. This function will then KIcontain the contents of the user-specified category from the last active record.OMThis can be used for running totals by adding a current category (Amount) to IGan @PriorRec category using itself (RunningTotal) as the user-specifed category:DAmount RunningTotal --> @PriorRec([RunningTotal])+[Amount]---------- ------------1.00 1.002.00 3.003.00 6.004.00 10.00ЖTotalRecordsH@TotRecs will return the total number of records in the current file. Usage: @TotRecsJHBy using the "Update empty categories only" option you can keep running PNtotals of the number of records in your file. By subtracting these totals you Acan count the number of newly-added records in any given group.ЖIfOM@If is used to to provide one set of data if a condition is true and another (set of data if the condition is false.5Usage(@If LogicalEquation, DataIfTrue, DataIfFalse)MKDataIfTrue is returned if LogicalEquation evaluates to anything other than Bzero. DataIfFalse is returned if LogicalEquation evaluates to 0.(The logical operators you can use are: = is equal to <> is not equal to < is less than <= is less than or equal to > is greater than" => is greater than or equal toLJ@If([Category1]="M","Mr.","Mrs.") will return the text "Mr." if Category1 HFcontained the letter M. It would return "Mrs." if Category1 contained #anything other than the letter M.NLYou can use text or numbers in both your logical operations and in the data #you wish this function to return.JHThe @If statement is not very intelligent in that it cannot distinguish NLwhether the categories you are comparing contain numeric data or text data. KIUnlike the AppleWorks spreadsheet, all data base data is stored as text. JHLogical comparisons assume that your categories contain text data, even NLthough you mean for it to be numeric data. As a result, your @If statements OMmay not return the results you expect unless you force the comparison to use numeric data. PNFor example, assume the category "Data" contains a "1". It's easy to think of IGData as being numeric because the formula [Data]+1 will result in a 2. OMReally, Data is text; TotalControl sees the "+" operator and knows you meant -Data to be a number. Consider this formula:(@If([Data]=1,"Equals","Is not equal").HFThis formula will return "Is not equal", because text (Data) is being 4compared with a number (1). Consider this formula:*@If([Data]="1","Equals","Is not equal").KThis formula will return Equals because text is being compared with text.OMTo compare numbers, use this little trick- add zero (0) to the category. For example:*@If([Data]+0=1,"Equals","Is not equal").MKThis formula will return Equals because you are now comparing numeric data OMwith numeric data. The "+0" forces TotalControl to consider this term on the OMleft side of the equal sign as numeric. Similarly, to compare two categories as numerics, use7@If([DataOne]+0=[DataTwo]+0,"Equals","Is not equal").MK@If will also return results that can be used as numerics. For example, if Kthe category Data contains a 1, the following formula will evaluate to 5.@If([Data]+0=1,1,0)+4ЖIfDataHFThis data is here to demonstrate an important point regarding the @IF "function. See the next category.OMTry this totally controlled, TotalControl-unrelated problem. Imagine you are PNon a game show. You are to choose one door from among three doors, being able PNto keep the item behind the chosen door. Behind one door is $100,000 in cash. PNBehind another door is a copy of TotalControl, and behind the other door is a NLcopy of DoubleData. You do not know which "prize" is behind which door. You NLchoose door #1. Your host tells you it's a good thing that you did not pick PNdoor #2, because behind it is the copy of DoubleData. Your host now gives you 7the chance to stay with door #1 or change to door #3.EShould you stay, should you switch, or does it make any difference?OMHint: You should switch. It really does make a difference. The proof is left Hup to the clever reader. (Set up an experiment and track the results.)_`abcdefghijklmnopRBO=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@If([Data]+0=1,1,0)+4tains a 1, the following formula PNThis is the help file for the Formula.Text Data Base. Place the cursor on any MKcategory in Formula.Text and press OA-` to read appropriate info from this file. TextDataKIThis is the original data used to demonstrate many of the text and logic 9functions. It is simply a list of first and last names.9The Text Functions are found on page 174 of the manual.:The Logic Functions are found on page 176 of the manual.ЖGenderGEThis is a list of codes to signify the genders of the names found in @TextData. It will be used later to build titles out the names.Ж Upper CaseNLThe @Upper function is used to convert every character of the data to upper case.Usage: @Upper(String)Ж Lower CaseNLThe @Lower function is used to convert every character of the data to lower case.Usage: @Lower(String)Ж CapitalizeOMThe @Caps function is used to convert the first character of every word in a LJcategory to upper case. All other characters are ignored and are returned unchanged. Usage: @Caps(String)>The usage @Caps("the leDeaux School of Cooking") will return The LeDeaux School Of Cooking.LJIf you want to capitalize only the first letter of each word changing all .others to lower case, use this construction:<@Caps(@Lower("eVEry gOOd BOy doeS fINE ALwaYS")) to return"Every Good Boy Does Fine Always.ЖFindJ@Find is used to find the occurence of one string within another string.FUsage: @Find(SearchString, StringToBeSearched, Start, RespectCase). PN@Find will return 0 if SearchString is not found in StringToBeSearched. If it NLis found, the position of the first character matched in StringToBeSearched is returned.NLStart is used to specify the starting character in StringToBeSearched to be matched.NLRespectCase will differentiate between upper and lower case if set to 1; it will ignore case if set to 0.QO@Find("a","DAN",0,0) will return 2, since "a" in the second character in % "Dan", and case is being ignored.NL@Find("Dan","John Smith",0,0) will return 0, since there is no occurence of "Dan" in "John Smith".ЖLengthPN@Len will return the number of characters in a string (its length as measured in characters).Usage: @Len(String)J@Len("ABCDE") will return 5, since there are 5 characters in the string.ЖLeftMK@Left will return a requested amount of characters starting with the first ?character on the left of a string working from left to right.Usage: @Left(String),@Left("JEM Software",3) will return "JEM".MKNotice how the the formula in the data base used @Left, @Find, and @Len to NLreturn the first name out of any name in TextData. The first and last names must be separated by a space.RightNL@Right will return a requested amount of characters starting with the first @character on the right of a string working from right to left.Usage: @Right(String)2@Right("JEM Software",8) will return "Software".NLNotice how the the formula in the data base used @Right, @Find, and @Len to MKreturn the last name out of any name in TextData. The first and last names must be separated by a space.IfOM@If is used to to provide one set of data if a condition is true and another (set of data if the condition is false.5Usage(@If LogicalEquation, DataIfTrue, DataIfFalse)MKDataIfTrue is returned if LogicalEquation evaluates to anything other than Bzero. DataIfFalse is returned if LogicalEquation evaluates to 0.(The logical operators you can use are: = is equal to <> is not equal to < is less than <= is less than or equal to > is greater than" => is greater than or equal toLJ@If([Category1]="M","Mr.","Mrs.") will return the text "Mr." if Category1 HFcontained the letter M. It would return "Mrs." if Category1 contained #anything other than the letter M.NLYou can use text or numbers in both your logical operations and in the data #you wish this function to return.JHThe @If statement is not very intelligent in that it cannot distinguish NLwhether the categories you are comparing contain numeric data or text data. KIUnlike the AppleWorks spreadsheet, all data base data is stored as text. JHLogical comparisons assume that your categories contain text data, even NLthough you mean for it to be numeric data. As a result, your @If statements OMmay not return the results you expect unless you force the comparison to use numeric data. PNFor example, assume the category "Data" contains a "1". It's easy to think of IGData as being numeric because the formula [Data]+1 will result in a 2. OMReally, Data is text; TotalControl sees the "+" operator and knows you meant -Data to be a number. Consider this formula:(@If([Data]=1,"Equals","Is not equal").HFThis formula will return "Is not equal", because text (Data) is being 4compared with a number (1). Consider this formula:*@If([Data]="1","Equals","Is not equal").KThis formula will return Equals because text is being compared with text.OMTo compare numbers, use this little trick- add zero (0) to the category. For example:*@If([Data]+0=1,"Equals","Is not equal").MKThis formula will return Equals because you are now comparing numeric data OMwith numeric data. The "+0" forces TotalControl to consider this term on the OMleft side of the equal sign as numeric. Similarly, to compare two categories as numerics, use7@If([DataOne]+0=[DataTwo]+0,"Equals","Is not equal").MK@If will also return results that can be used as numerics. For example, if Kthe category Data contains a 1, the following formula will evaluate to 5.@If([Data]+0=1,1,0)+4Ж Concat 18@Concat will append all the strings found in the list.)Usage: @Concat(String1,String2,StringN)9@Concat("All ","is"," well") will return "All is well".OMIn the data base this is used to combine a title based on the gender code to the last name. Concat 28@Concat will append all the strings found in the list.)Usage: @Concat(String1,String2,StringN)9@Concat("All ","is"," well") will return "All is well".KIRemember you can nest functions to obtain the same result. Using nesting $allows you to conserve categories. Account #'This is some more demonstration data.ЖMiddleO@Middle will return any number of characters out of the middle of the string.?Usage: @Middle(String, StartingCharacter, NumberOfCharacters)-@Middle("AAAbbbCCC",4,3) will return "bbb".Colors'Some test data to demonstrate @Match.Choose-@Choose will return the nth item in a list..Usage: @Choose(Test,"Item1","Item2","ItemN")LJIf Test contained the number 3, "ItemN" would be returned. Test must be a 7number. The items in the list may be numbers or text.ЖMatchNL@Match will match a test item against the list and return the number of the %order of its occurence in the list.3Usage: @Match("TestItem","Item1","Item2","ItemN")JHIf TestItem matched "Item2", the number 2 would be returned. All of the 'arguments of @Match are text strings.This example will return 3:/@Match("Green","Red","Blue","Green","Orange") LogNums1DThis is part one of a number set to demonstrate logical functions.Ж LogNums2DThis is part two of a number set to demonstrate logical functions.ЖAnd6@And will return the logical AND of any two numbers.!Usage: @And(Numeric1, Numeric2)MAny non-zero number is considered to be true. There are four possibilities: 0 And 0 = 0 0 And 1 = 0 1 And 0 = 0 1 And 1 = 1NLTotalControl's logical operators return true or false, so you can nest this type of logcal equation:C@If(@And([Cat1]+0>5,[Cat2]+0>6),"TrueStatement","FalseStatement")ЖOr4@Or will return the logical OR of any two numbers. Usage: @Or(Numeric1, Numeric2)MAny non-zero number is considered to be true. There are four possibilities: 0 Or 0 = 0 0 Or 1 = 1 1 Or 0 = 1  1 Or 1 = 1IGAgain, logical operators will work inside of an @Or statement. So, the !following is a valid statement:B@If(@Or([Cat1]+0>5,[Cat2]+0>6),"TrueStatement","FalseStatement")ЖNot6@Not will return the logical inverse of an argument.Usage: @Not(Numeric)@Not(1)=0 @Not(0)=1 CA1NINIP nSAARoenick, Jeremy(JEMs,SpellCopy)BiologyIDStudentGradeDM1Mutombo, DikembeALE1Ellis, LaPhonsoB+RW1Williams, ReggieC CA1NFNFP nS $@Ten &@Eleven (@TwelvePEtxT5&SAMPLEux|G&STATESy%x|~ -STUDENT.NAMES~xxT (STUDENTSxT6 CA1NINIP nSAARoenick, Jeremy(JEMs,SpellCopy)BiologyIDStudentGradeLE1Ellis, LaPhonsoA+DM1Mutombo, DikembeARW1Williams, ReggieAvwx(c) 1991 BrandDD/      (P`#Name- no rules)Phone- mask nostore MinMax ValMust fill MinMax LenStatex Len UPPER CASE ListnumbersASE1 80)ead anCapstalizeCAP TEXTcat() -9999amesAbbrev2NamesAbbrevStatesP` Applied Beagle Bros Call APPLE"Quality Orders(800) 777-3642z{|}D D/6   Namesory 1Abbrev.tuff............ AlabamaAL AlaskaAK ArizonaAZ ArkansasAR CaliforniaCA ColoradoCO ConnecticutCT DelawareDEDistrict of ColumbiaDC FloridaFL GeorgiaGA GuamGU HawaiiHI IdahoID IllinoisIL IndianaIN IowaIA KansasKS KentuckyKY LouisianaLA MaineME MarylandMD MassachusettsMA MichiganMI MinnesotaMN MississippiMS MissouriMO MontanaMT NebraskaNE NevadaNV New HampshireNH New JerseyNJ New MexicoNM New YorkNYNorth CarolinaNC North DakotaND OhioOH OklahomaOK OregonOR PennsylvaniaPA Puerto RicoPR Rhode IslandRISouth CarolinaSC South DakotaSD TennesseeTN TexasTX UtahUT VermontVT VirginiaVAVirgin IslandsVI WashingtonWA West VirginiaWV WisconsinWI WyomingWY[^rbDD/ )  (Namegory 1IDGradeTeacher..Comments Citizenship Attendance..core10.core10.core10.core10.core10!Reggie WilliamsRW111MannyLaPhonso EllisLE112Moe Dikembe MutomboDM110JackDD/  ))))))))))))))      (2))J)>)'''Namegory 1IDGradeTeacher..Comments Citizenship Attendance.Class01Score01Class02Score02Class03Score03Class04Score04Class05Score05Class06Score06Class07Score07Class08Score08Class09Score09Class10Score10 IDName Student NamesIDNameID Student Names!IDGrade Student NamesID#IDTeacher Student NamesID Class01IDClass02IDClass03IDPEMathArtMathArtPEArtPEMathFILESv 9' ')ADDRESSESJx& )ASP.DITTOxY,AWP.GLOSSARY ;x>0)BIRTHDAYSxW )CHECKBOOK zx;+,DATE.FORMATS x{3/DESKJETLNDSCAPExvY/DESKJETPORTRAIT xvY(FORM.ADBSxw+7 )FORM.FILLxs+7 .MUTUALS.WEEKLY.xA+NEW.SYMBOLSxw]$ DD/    !"#$%&'()*+,-./0123456789:;<  ( Firstory 1LastNameGreetingCompany1Address1Address2CityeStateZip......FRandallBrandt Randy BrandtRandy 7578 Lamar CtArvadaCO80003vJosephGleason Joe GleasonPresident GleasonQuality Computers20200 E. Nine Mile RoadSt. Clair ShoresMI48080uDanielVerkade Dan Verkade Mr. VerkadeClear Night Software 51 Bowen Road(near the high school)PerrisCA92571bStevenBeville Steve BevilleMr. Beta Coordinator3392 Glenn Spring Rd SpartanburgSC29302  CA1NFNF P nS((] Place the  pointer in cell A9.Use the Ditto command,  open-app le-', to-', to3 copy the label dow n the worksheet.Q Place the  pointer on cell C12 Use the Ditto command to copy the S year down  the work sheet. Repeat the process in colum ns D and  E to< see all t he leap y ears starting with 1901.~| @=@@-This is a Leap Year @?=@@-This is a Leap Year @?=@@-This is a Leap Year @?D@@@This is a Leap YearThis is a Leap Yearp <DD R<>>>  !"#$%&'()*+,-./0123456789:;<  !"#$%&'()*+,-./0123456789:;<=>?@AB  !"#$%&'()*+,-./0123456789:;<(<<%Options ZeroOutput LetterheadOutput2 Output2tooTitleCat7ingClosingCat9Cat10Cat11Cat12Cat13Cat14Cat15Cat16Cat17Cat18Cat19Cat20Cat21Cat22Cat23Cat24Cat25Cat26Cat27Cat28Cat29Cat30Cat31Cat32Cat33Cat34Cat35Cat36Cat37Cat38Cat39Cat40Cat41Cat42Cat43Cat44Cat45Cat46Cat47Cat48Cat49Cat50Cat51Cat52Cat53Cat54Cat55Cat56Cat57Cat58Cat59Sort1\Vލ׍TitleSirTitleSirsTitle,^MލTitleTitle +%^M^MClosing,^M^M^MJohn Doe<ӍSort11Left & Right Margins 0@Olm^M0^Mrm^M0^M^[Centered Name & Address?@1@Ocn^M^[John Doe^M123 Main Street^MQuadriga City, SC 29302^M@Ouj^M^[Mr.Mr. Sincerely^M^MSincerely,^M^M^MJohn Doe1ZLeft Margin 0.0 @Olm^M0^M^[Mrs.Mrs. Yours truly^M^MYours truly,^M^M^MJohn Doe2WLeft Margin 0.5 @Olm^M.5^M^[MissMiss Thank you^M^MThank you,^M^M^MJohn Doe3LLeft Margin 1.0 @Olm^M1.0^M^[Ms.Ms. Love^M^MLove,^M^M^MJohn Doe4lLeft Margin 1.5 @Olm^M1.5^M^[SirSir,^MHexidecimally yours&^M^MHexidecimally yours,^M^M^MJohn Doe5vLeft Margin 2.0 @Olm^M2.0^M^[SirsSirs,^MThanks for your support*^M^MThanks for your support,^M^M^MJohn Doe6cLeft Margin 2.5 @Olm^M2.5^M^[Thanks for your help'^M^MThanks for your help,^M^M^MJohn Doe7%Left Margin 3.0 @Olm^M3.0^M^[8$Right Margin 0.0 @Orm^M0^M^[9&Right Margin 0.5 @Olm^M.5^M^[10'Right Margin 1.0 @Olm^M1.0^M^[11'Right Margin 1.5 @Olm^M1.5^M^[12'Right Margin 2.0 @Olm^M2.0^M^[13'Right Margin 2.5 @Olm^M2.5^M^[14'Right Margin 3.0 @Olm^M3.0^M^[15%5 Chars per inch @Oci^M5^M^[16%6 Chars per inch @Oci^M6^M^[17%7 Chars per inch @Oci^M7^M^[18%8 Chars per inch @Oci^M8^M^[19%9 Chars per inch @Oci^M9^M^[20'10 Chars per inch @Oci^M10^M^[21'12 Chars per inch @Oci^M12^M^[22'13 Chars per inch @Oci^M13^M^[23'15 Chars per inch @Oci^M15^M^[24'17 Chars per inch @Oci^M17^M^[25#Proportional-1@Op1^M^[26#Proportional-2@Op2^M^[27 Indent 0 @Oin^M0^M^[28 Indent 3 @Oin^M3^M^[29 Justified@Oju^M^[30 Unjustified@OUJ^M^[31Centered@Ocn^M^[32$Right Justified@Orj^M^[33,Paper Lenth 8 inches @Opl^M8^M^[34,Paper Lenth 4 inches @Opl^M4^M^[35+Paper Lenth 1 inche @Opl^M1^M^[36$ Top Margin 0 @Otm^M0^M^[37$ Top Margin 1 @Otm^M1^M^[38$ Top Margin 2 @Otm^M2^M^[39'Bottom Margin 0 @Obm^M0^M^[40'Bottom Margin 1 @Obm^M1^M^[41'Bottom Margin 2 @Obm^M2^M^[42(6 Lines per inch @Oli^M6^M^[43(8 Lines per inch @Oli^M8^M^[44! Single Space@Oss^M^[45! Double Space@Ods^M^[46! Triple Space@Ots^M^[47New Page@Onp^M^[48 Group Begin@Ogb^M^[49 Group End@Oge^M^[50!Pause Each page@Ope^M^[51 Pause Here@Oph^M^[52 Boldface Begin@Obb^M^[53 Boldface End@Obe^M^[54#Superscript Begin@O+b^M^[55!Superscript End@O-b^M^[56!Underline Begin@Oub^M^[57 Underline End@Oue^M^[58 Print Page No.@Opp^M^[59 Print Date@Opd^M^[60 Print Time@Opt^M^[61 Enter Keyboard@Oek^M^[62DD/  !"#$%&'()*+,-./0123456789:;<  (b`PNamegory 1addresscitystatezipphone date of birth8xtra~agea10tra11tra12tr13141516b@(.`P@()-- #΍ˍ΍ˍ date of birth{ލ֍͍ˍ date of birth͍ˍ̍ˍ date of birth̍ˍ Today is Name's Birthday!! Send Money$$$NIChange Date Of Birth To Today On One Of The Following Records And Recalc.^ David Beville3392 Glenn Springs Road SpartanburgSC29302( )-582-36871984H20*9*MJohn Q. Public 111 Main St.HometownUS12345(555)-123-45671993G300MJane Q. Public 111 Main St.HometownUS12345(555)-123-45671993G300 0.00JKL1DR/     !"#$%&'()*+,-./0123456789:;<A@4C;$;*L  !"#$%   .Toress (X#e#I$V$No.e .ry 1Date.______Payee y) Pay to .MemogoryION .$mt1nceInvoice e s s |Forosit . Deposit $ .C/Oess .Adresst .Citye$t ..tate$t . .SS.ipit$t . .Calancey . . BALANCE $ . .Acctgory . . . Week Ending . .Amt2nce . . .Payee2e . . .::LLARS . . ..****RS . . . .LARS ... . .. . .!. .er of____________. H!{ r!!N.r!C{s!D{ ` . Μ`.mimi`. B戎Check Printing 2C ))))))))))))))))))))))))))))))))))))))))))))))))))))  !"#$%&'()*+,-./012345666666666666666666666666 #$%&'()*+,-./0123456789:;<=>????????????????????????P #CVS .Adresst Stubk Printing?   ))))))))))))))))))))))))))))))))))))))))))))))))))))  !"#$%&'()*+,-./01234566666666666666666666666666666()*+,-./0123456789:;<=>?????????????????????????????P #CVS .Adresst Outstanding Checks   !"#$%&'()*+,-./0123456789:;<=>?P nCHS .Adresst Pending Depositsks /  !"#$%&'()*+,-./0123456789:;<=>?P nCHS .Adresst 1opening balance 0.00 1000.00X0A29831993A 5 POSTMASTERFGT/SHP 89.40 0.00X02DEPOSIT1993A 6 0.00 500.80X0 CA1 NB NBP nS((This file illustrates Date Formats available w ith QuadrigaMonth out of range9?@(@ ? @ @ @ @ @ @ @ "@ $@ &@ (@Day out of Range[@@?@ ?@ <@ ?@ >@ ?@ >@ ?@ ?@ >@ ?@ >@ ?@} @ 1. AppleWorks Standard DateYear out of range 9@@@! @ 2. Mon DD YYYY! @ 3. DD Mon YYYY  @ 4. MM/DD/YYYY @ 5. MM/DD/YY @ 6. DD/MM/YY# @ 7. Month DD YYYY# @ 8. DD Month YYYY1 @Enter "@" for the current date> ^@Enter number of days to add or subtract (-) @* $@<---Enter year (Ex: 1993)( @<---Enter month (Ex: 7)' 6@<---Enter day (Ex: 22)i>d@@@??days until the turn of th e century{9c@(@9@<days from Christmas 1993days from Christmas 4 12/11/1904Enter date as label(MM/DD/YYYYY)iu@@@?@@@8$@Wrong Date Format in A21& $@Enter year (4 digits) ? Enter month  9@ Enter day@l@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<=== @O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===HMMMMMMMMMMMMMMM<:rstuvwxyz{|}~the DeskJetNew DeskJet 500 Features HFThe DeskJet 500 extended characters 161-254 are accessible in AW 4 by FDusing the Control-A Apple code to toggle extended characters on and CAoff. Your DIP switches should be in their default positions. The IGfollowing table shows the normal text characters with their associated HFextended characters directly beneath them. The Apple codes are at the *end of the lines for cleaner formatting.B ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?B ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?B@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _B@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _@` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~@` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~IMMMMMMMKMMMMMMM;GDDDDDDDPDDDDDDD6: This is a box :HMMMMMMMMMMMMMMM<IMMMMMMMMMMMKMMMMMMMMMM;GDDDDDDDDDDDPDDDDDDDDDD6: This is a 20 cpi box :HMMMMMMMMMMMMMMMMMMMMMM< DBA printer Special Code can be defined to activate the Latin font. HFChoose define Special Codes and press Escape followed by "(" zero "N" CAand OA-Return to end it. That Special Code can then be used with DBControl-A to add still more extended characters. Also, the PC-850 Fcodes can be activated with a Special Code defined as Escape "(12U". %This is 10 cpi Courier: ABC abc 012%This is 17 cpi Courier: ABC abc 012%This is 20 cpi Courier: ABC abc 012 ;NOTE: Underlining is now available in landscape mode.@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<=== @O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===`abcdefghijklmnopqrstuvwxyz{|}~the DeskJetNew DeskJet 500 Features HFThe DeskJet 500 extended characters 161-254 are accessible in AW 4 by FDusing the Control-A Apple code to toggle extended characters on and CAoff. Your DIP switches should be in their default positions. The IGfollowing table shows the normal text characters with their associated HFextended characters directly beneath them. The Apple codes are at the *end of the lines for cleaner formatting.B ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?B ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?B@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _B@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _@` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~@` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ IMMMMMMMKMMMMMMM;GDDDDDDDPDDDDDDD6: This is a box :HMMMMMMMMMMMMMMM<DBA printer Special Code can be defined to activate the Latin font. HFChoose define Special Codes and press Escape followed by "(" zero "N" CAand OA-Return to end it. That Special Code can then be used with DBControl-A to add still more extended characters. Also, the PC-850 Fcodes can be activated with a Special Code defined as Escape "(12U".$This is 5 cpi Courier: ABC abc 012*This is 6 cpi Letter Gothic: ABC abc 012 %This is 10 cpi Courier: ABC abc 012 +This is 12 cpi Letter Gothic: ABC abc 012%This is 17 cpi Courier: ABC abc 012%This is 20 cpi Courier: ABC abc 012+This is 24 cpi Letter Gothic: ABC abc 012 MKNote: The DeskJet drivers on AppleWorks 4.0 were originally developed by MKJohn Link for SuperPatch. Quality acquired the rights so I could implement LJthem in AppleWorks 4.0. a bug showed up, but I had no DeskJet 500 to test IGwith until Will Nelken came to the rescue. Will's church in California JHdecided to get another DeskJet, so he offered that I could buy one, get HFAppleWorks 4 tested, and then ship the printer to him. Because of his PNgenerosity you have these new features (extended characters, 6 cpi) available to you. Enjoy them!RandyDD/    !"#$%&'()*+,-./0123456789:;< (Namegory 1RelationSex Date of BirthAddressholderCityessholderStatessZiptess3RandyfatherM1960H26officeMorrisMB800038JoannamotherF1960I26 sewing roomForksWA80003>HeatherdaughterF1985D11 reading roomLa MesaCA800039ErikadaughterF1987B21 play roomLa MesaCA80003eMichaelsonM1991D 75family room, living room, office, kitchen, everywhere WheatridgeCO80003(@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<=== ################## # ######## < LJThis file illustrates the use of Mail Merge to fill in printed forms. The OMfile "Form.adb" must be on the desktop. Press OA-9, followed by OA-P. Select LJPrint from This Page to see the results. Notice how the Address field for (Michael is truncated to fit the field.NLNote: There must be at least one space between the last # of one mail merge PNcategory and the next mail merge category. Without the space, AppleWorks will OMassume the next mail merge definition is text and print it as such. No merge $will take place for that category.. ############### #6
############################# # ) ########### # ###MCForm.adbeincludrb CM1NCNC P nS((*@$@@?@@@@@@@@@Totals!=!=!=!=!=!=!=m Asian Growth Q-@ Q+1@ 0@ q= ף00@ ffffff/@$Vl@SharespAmerican HiTech (@ q= ף(@ (\(@ Q)@ ףp= (@$@SharesoCanadian Bonds )@ ףp= +@ Gz*@ Q*@ 333333*@$ 0ي@SharesrEuropean Wineries L(@ Gz)@ HzG)@ )@ L)@$ho@SharessHigh Risk Equities (\&@ )\((@ )\'@ q= ףp'@ Q'@$j@Sharesl Income Fund Q#@ p= ף#@ (\u#@ Gz#@ )\#@$]wbέ@Sharesm Money Market ffffff=@ @@ p= c@@ p= #@@ (\?@$[@Shares !=b This file illustrat es date math  (look at ce ll B2 and then the U1zj@I rest of Row 2) and also "3D" sp readsheets.  (look at column GFand see how this fe ature reads the number o f shares ownedKfrom the file "Shar es", which m ust be on th e desktop as well.)KThe user would use this file by  entering th e current value ofCeach fund on a weekly basis, af ter copying the "Totals"Ncolumn one space to  the right t o make room for a new we ek's data.FAO=====<====<==============<====<====<====<====<====<====<====<====<====<====<===@ O=====<====<==============<====<====<====<====<====<====<====<====<====<====<===N Print page number ;9Below are examples of the new MouseText symbols for word processor printer options./ Boldface   Print page number ( Underline   Print date , Superscript   Enter Keyboard ( Subscript   Print time ( Sticky space  Mail Merge =;Use -Z to display word processor markers assigned for use by other programs.ЖЗИЙКЛМНРС,NEWFUNCTIONSM xo[7&PRES.1 xpB&PRES.2 xpJ&&PRES.3W xp"&PRES.4 Nxp#*PRESIDENTSx[&SHARESOx|ASOURCE.1x|3SOURCE.2x|3(SOURCE.3x|3&SSHELP`x8'THREE.D xx3,TITLE.SAMPLEkx}9 CA1NI NIP nS((3 JOIN: @JO IN(string 1, string 2, stringN)+ Concatena tes two o r more stringsMr.SmithMr.Smith+ MID: @MID (start, l ength, string)T Returns a  portion (middle) of a stri ng. 1st p osition i s 1, not 0. 559-35-9294$ 35@@: FIND: @Fi nd(start,  SearchFo rStr, Sea rchInStr)L Returns t he positi on of the  SearchFo rStr in t he SearchInStr@ Begin sea rching at  start. R eturns 0 if not found."understandingding Al JonesT! @?and-Al ??  VAL: @VAL (string)W Returns t he value of the st ring. If argument is a valu e, pass it on.123 559-35-9294?^@(A@@@ @_@ UC: @UC(string), Returns s tring in all upper case. !abCDeF"ABCDEF% LC: @LC(string),& Returns s tring in all lower case. (abCDeF)abcdef, LEN: @LEN (string)*- Returns t he length  of a string./Apple Al Jonesd0@MJones? ?? 3 TEXT: @TE XT(value)74 Returns v alues or labels as  a text result.%6 Some Text (\F@ 6@P7 Some Text45.67 22/L F@(: DATE: @DA TE(Year, Month, Day)3; Returns a  julian d ate in nu meric form.Y< Use date formattin g to make  it under standable  - oa-L, E, V, D, Format.$> $@ @ .@0?@@B ALERT: @A LERT(string)/C Displays the strin g in an a lert box.AD An edit o r recalc must occu r to disp lay the alert.-F)You must enter the number of exemptions.JG ?  <-- Ente r a zero (0) here and see w hat happens.'H#@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===Source: 1987 World Almanac George WashingtonMK George Washington, first president, was born February 22, 1732(February IG11, 1731 old style), the son of Augustine Washington and Mary Ball, at GEWakefield on Pope's Creek, Westmoreland County, Virginia. His early NLchildhood was spent on the Ferry farm near Fredericksburg. His father died PNwhen George was 11. He studied mathematics and surveying and when 16 went to JHlive with his half brother Lawrence, who built and named Mount Vernon. PNGeorge surveyed the land of William Fairfax in the Shenandoah Valley, keeping OMa diary. He accompanied Lawrence to Barbados, West Indies, contracted small NLpox, and was deeply scarred. Lawrence died in 1752 and George acquired his OMproperty by inheritance. He valued land and when he died owned 70,000 acres <in Virginia and 40,000 acres in what is now West Virginia.HF Washington's military service began in 1753 when Gov. Dinwiddie of MKVirginia sent him on missions deep into Ohio country. He clashed with the NLFrench and had to surrender Fort Necessity July 3, 1754. He was an aide to NLBraddock and at his side when the army was ambushed and defeated on a march NLto Ft. Duquesne, July 9, 1755. He helped take Ft. Duquesne from the French in 1758.FD After his marriage to Martha Dandridge Custis, a widow, in 1759, OMWashington managed his family estate at Mount Vernon. Although not at first OMfor independence, he opposed British actions and took charge of the Virginia IGtroops before the war broke out. He was made commander-in-chief by the %Continental Congress June 15, 1775.HF The successful issue of a war filled with hardships was due to his OMleadership. He was resourceful, a stern disciplinarian, and the one strong, JHdependable force for unity. He favored a federal government and became HFchairman of the Constitutional Convention of 1787. He helped get the OMConstitution ratified and was unanimously elected president by the electoral LJcollege and was inaugurated, April 30, 1789, on the balcony of New York's Federal Hall.NL He was reelected in 1792, but refused to consider a 3rd term and retired OMto Mount Vernon. He suffered acute laryngitis after a ride in snow and rain Daround his estate, was bled profusely, and died December 14, 1799. !John AdamsK John Adams, 2nd president, Federalist, was born in Braintree (Quincy),KIMassachusetts, October 30, 1735 (October 19, old style), the son of John KIAdams, a farmer, and Susanna Boylston. He was a great-grandson of Henry MKAdams who came from England in 1636. He was graduated from Harvard, 1755, JHtaught school, studied law. In 1765 he argued against taxation without LJrepresentation before the royal governor. In 1770 he defended the British OMsoldiers who fired on civilians in the "Boston Massacre". He was a delegate PNto the first Continental Congress,and signed the Declaration of Independence. PNHe was a commissioner to France, 1778, with Benjamin Franklin and Arthur Lee; IGwon recognition of the U.S. by The Hague, 1782; was the first American LJminister to England, 1785-1788, and was elected vice president , 1788 and 1792.OM In 1796 Adams was chosen president by the electors. Intense antagonism to PNAmerica by France caused agitation for war, led by Alexander Hamilton. Adams *broke with Hamilton and opposed the war.MK To fight alien influence and muzzle criticism Adams supported the Alien NLand Sedition laws of 1798, which led to his defeat for reelection. He died JHJuly 4, 1826, on the same day as Jefferson (the 50th anniversary of the Declaration of Independence).Z@O=====|====|====|====|====|====|====|====|====|====|====|====|====|====|====|===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===James Knox PolkPN James Knox Polk, 11th president, Democrat, was born in Mecklenburg County, MKNorth Carolina, November 2, 1795. He was the son of Samuel Polk, a farmer NLand surveyor of Scotch-Irish descent, and Jane Knox. He graduated from the LJUniversity of North Carolina 1818 and was a member of the Tennessee state PNlegislature from 1823-1825. He served in Congress 1825-39 and was Speaker of NLthe House from 1835-1839. He was governor of Tennessee from 1839 to 1841, PNand was defeated for reelection in 1841 and 1843. In 1844,when both Clay and PNVan Buren announced opposition to annexing Texas, the Democrats made Polk the IGfirst dark horse nominee because he demanded control of all Oregon and KIannexation of Texas. Polk reestablished the independent treasury system IGoriginated by Van Buren. His expansionist policy was opposed by Clay, KIWebster and Calhoun. He sent troops under Zachary Taylor to the Mexican OMborder. When the Mexicans attacked, Polk declared war existed. The Mexican PNWar ended with the annexation of California and much of the Southwest as part JHof America's "manifest destiny". He compromised on the Oregon boundary PN("54-40 or fight") by accepting the 49th parallel and giving Vancouver to the OBritish. Polk died in Nashville, Tennessee on June 15, 1849 at the age of 53.Zachary Taylor_OM Zachary Taylor, 12th president, Whig, who served only 16 months, was born LJNovember 24, 1784, in Orange County, Virginia. He was the son of Richard IGTaylor, later collector of the port of Louisville, Kentucky, and Sarah NLStrother. Taylor was commissioned a first lieutenant in 1808. He fought in NLthe War of 1812, the Black Hawk War in 1832, and the second Seminole War in PN1837. His nickname was Old Rough and Ready. He settled on a plantation near IGBaton Rouge, Louisiana. In 1845 Polk sent him with an army to the Rio FDGrande. When the Mexicans attacked, Polk declared war. Taylor was LJsuccessful at Palo Alto and Resaca de la Palma. He occupied Monterrey in NL1846. Polk made Taylor a major general but sent many of his troops to Gen. PNWinfield Scott. Outnumbered 4 to 1, he defeated Santa Anna at Buena Vista in JH1847. A national hero, he received the Whig nomination in 1848 and was KIelected president. He resumed the spoils system and though once a slave JHholder worked to have California admitted as a free state . He died in office July 9, 1850.f@O=====|====|====|====|====|====|====|====|====|====|====|====|====|====|====|===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===Chester Alan ArthurLJ Chester Alan Arthur, 21st president, Republican, Fairfield, Vermont on KIOctober 5, 1829. He was the son of the Rev. William Arthur, from County PNAntrim, Ireland and Malvina Stone. He graduated from Union College in 1848, MKtaught school at Pownall, Vermont and studied law in New York. In 1853 he PNargued in a fugitive slave case that slaves transported through New York were JHthereby freed. He was made collector of the Port of New York in 1871. KIPresident Hayes, reforming the civil service, forced Arthur to resign in PN1879. This made the New York machine stalwarts enemies of Hayes. Arthur and HFthe stalwarts tried to nominate Grant for a third term in 1880. When KIGarfield was nominated, Arthur received second place in the interests of MKharmony. When Garfield died, Arthur became president. He supported civil NLservice reform and the tariff of 1883. He was defeated for renomination by NLJames G. Blaine. Arthur died in New York on November 18, 1886, of Bright's disease.Grover ClevelandOM(According to a ruling of the State Department, Grover Cleveland is both the JH22d and 24th president, because his two terms were not consecutive. By "individuals he is only the 22d.)OM Grover Cleveland, 22d and 24th president, Democrat, was born in Caldwell, KINew Jersey on March 18, 1837. He was the son of Richard F. Cleveland, a IGPresbyterian minister and Ann Neale. He was named Stephen Grover, but OMdropped the Stephen. He clerked in Clinton and Buffalo, New York, taught at MKthe New York City Institution for the Blind and was admitted to the bar in NLBuffalo in 1859. He became assistant district attorney in 1863, sheriff in PN1871, mayor in 1881 and governor of New York in 1882. He was an independent, MKhonest administrator who hated corruption. He was nominated for president PNover Tammany Hall opposition in 1884 and defeated Republican James G. Blaine. PNHe enlarged the civil service and vetoed many pension raids on the Treasury. OMIn 1888 he was defeated by Harrison for president, although his popular vote PNwas larger. Reelected over Harrison in 1892, he faced a money crisis brought HFabout by lowering of the gold reserve, circulation of paper money and NLexorbitant silver purchases under the Sherman Act. He obtained a repeal of PNthe Sherman Act and a reduced tariff. A severe depression and labor troubles PNracked his administration but he refused to interfere in business matters and OMrejected Jacob Coxey's demand for unemployment relief. He broke the Pullman KIstrike in 1894. In 1896 the democrats repudiated his administration and PNchose silverite William Jennings Bryan as their candidate. Cleveland died at )Princeton, New Jersey on June 24, 1908.@O=====|====|====|====|====|====|====|====|====|====|====|====|====|====|====|===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===Herbert Clark HooverPN Herbert Clark Hoover, 31st president, Republican, was born at West Branch, PNIowa on August 10, 1874. He was the son of Jesse Clark Hoover, a blacksmith, HFand Hulda Randall Minthorn. Hoover, grew up in Indian Territory (now PNOklahoma) and Oregon. He received his A.B. from Stanford in 1891. He worked LJbriefly with the U.S. Geological Survey and western mines. Then he was a PNmining engineer in Australia, Asia, Europe, Africa, and the U.S. While chief IGengineer with the Imperial Mines in China, he directed food relief for NLvictims of the Boxer Rebellion in 1900. Hoover directed the American Relief PNCommittee, London, 1914-1915; the Committee for Relief in Belgium, 1915-1919; IGAmerican Relief Administrator, 1918-1923, feeding children in defeated QOnations; Russian Relief, 1918-1923. He was secretary of commerce, 1921-1928. NL He was elected president over Alfred E. Smith in 1928. In 1929 the stock KImarket crashed and the economy collapsed. During the depression, Hoover MKopposed federal aid to the unemployed. He was defeated in the 1932 in the EC1932 election by Franklin D. Roosevelt. President Truman made him GEcoordinator of the European Food Program in 1947 and chairman of the OMCommission for Reorganization of the Executive Branch 1947-1949. He founded OMthe Hoover Institution on War, Revolution and Peace at Stanford University. /He died in New York City on October 20, 1964.Franklin Delano RooseveltKI Franklin Delano Roosevelt, 32d president, Democrat was born near Hyde MKPark, New York on January 30, 1882. He was the son of James Roosevelt and LJSara Delano. He graduated from Harvard in 1904 and attended Columbia Law MKSchool but did not get his law degree. However Roosevelt did pass the New NLYork State bar examinations in 1907 and was admitted to the bar. He was in OMthe N.Y. senate for the period 1910-1913. In 1913 President Wilson made him Eassistant secretary of the Navy, a position he occupied until 1920.PN Roosevelt ran for vice president in 1920 with James Cox and was defeated. NLFrom 1920 to 1928 he was a New York lawyer and vice president of Fidelity & MKDeposit Company. In August, 1921 polio paralyzed his legs. He learned to $walk with leg braces and a cane. NL Roosevelt was elected governor of New York in 1928 and 1930. In 1932 at PNthe Democratic Convention, W. G. McAdoo, pledged to John N. Garner, threw his LJvotes to Roosevelt, who was nominated. The depression and the promise to GErepeal prohibition insured his election. He asked emergency powers, OMproclaimed the New Deal, and put into effect a vast number of administrative NLchanges. Foremost was the use of public funds for relief and public works, KIresulting in deficit financing. He greatly expanded the controls of the ECcentral government over business, and by an excess profits tax and GEprogressive income taxes produced a redistribution of earnings on an PNunprecedented scale. The Wagner Act gave labor many advantages in organizing OMand collective bargaining. He was the last president inaugurated on March 4 :(1933) and the first inaugurated on January 20 (1937). PN Roosevelt was the first president to use radio for "fireside chats". When PNthe Supreme Court nullified some New Deal laws, he sought power to "pack" the MKcourt with additional justices. However, Congress refused to give him the PNauthority. He was the first president to break the "no third term" tradition NL(1940) and was elected to a fourth term in 1944 despite failing health. He OMwas openly hostile to fascist governments before World War II and launched a OMlend-lease program on behalf of the Allies. He wrote the principles of fair PNdealing into the Atlantic Charter on August 14, 1941 (with Winston Churchill) NLand urged the Four Freedoms (freedom of speech, of worship, from want, from MKfear) on January 6, 1941. When Japan attacked Pearl Harbor on December 7, PN1941 the U.S. entered the World War II. Roosevelt confered with allied heads HFof state at Casablanca (January, 1943); Quebec (August,1943); Teheran NL(November-December, 1943); Cairo (December, 1943); Yalta (February, 1945). 5He died at Warm Springs, Georgia on April 12, 1945.٥DD/ 3   (8'NO.egory 1*NAMEPARTYDOB BIRTHPLACEHOMEG.LACEINAUG. INAUG. AGE AT INAUG.DIEDE OF DEATH AGE AT DEATHTHPLACE OF DEATH OCCUPATIONIONIN NOTESTE TO JOIN *TO.CLOCKClock TO.CL*BOARDData Converter*6avg 3L  !  P nCHSCategory4 a Mark Ca 1George Washington Federalist Feb. 22, 1732VirginiaMount Vernon, Virginia178957 Dec.14, 179967Mount Vernon, VirginiaPlanter, Surveyor, Soldier/extras/files/PRES.12 John Adams Federalist Oct. 30, 1735 Massachusetts Massachusetts179761 Jul. 4, 182690Quincy, MassachuettsLawyerV.P. under Washington/extras/files/PRES.111James Knox PolkDemocrat Nov. 2, 1795North Carolina184549 Jun.15, 184953Nashville, Tennessee/extras/files/PRES.212Zachary Taylor_Whig Nov. 24, 1784Orange County, Virginia184964 Jul. 9, 185065Washington, D.C.Soldier5Did not complete term-served 16 months-Died in office/extras/files/PRES.221Chester Alan Arthur Republican Oct. 5, 1829Fairfield, VermontNew York188151 Nov.18, 188657New York, New YorkLawyer'V.P.-Assumed office on Garfield's deathGsome older sources list 1830 as date of birth however 1829 is accepted./extras/files/PRES.322Grover ClevelandDemocrat Mar. 18, 1837 New Jersey188547 Jun.24, 190871Princeton, New JerseyLawyerserved 2 nonconsecutive terms/extras/files/PRES.331Herbert Clark Hoover Republican Aug. 10, 1874Iowa192954 Oct.20, 196490New York, New YorkEngineer/extras/files/PRES.4t32Franklin Delano RooseveltDemocrat Jan. 30, 1882New YorkHyde Park, New York193351 Apr.12, 194563Warm Springs, GeorgiaLawyerHdid not complete term-Died in office; last Pres. to be inaug. on Mar. 4(K1933), first to be inaug. on Jan.20(1937); reelected in 1940 and 1944. only?president to serve more than 2 terms. elected President 4 times/extras/files/PRES.4  CA1NHNHP nS(MUTUAL FUNDS: NUMB ERS OF SHARES Wife's Acct. My Acct. Mutual Fund:!= | != != | - Asian Growth /$FB@ | +V{@0American HiTech  | 33333@/Canadian Bonds  | Zd;OeP@2 European Wineries %C @ | 3 High Risk Equities ( g@ | , Income Fund  | m@@ Money MarketK7@@w/? | Zdl@>This file simply h olds a li sting of the number of>shares a couple ow ns in a n umber of mutual funds.;The file "Mutuals Weekly" a ccesses this file's?info to compute a weekly va lue for the inv estment.@Uses AppleWorks 4. 0's new " 3D Spreadsheet"  feature. CA1NHNHP nS ? @ @ @ @ @ @ @ "@ $@ CA 1NHNH P nS $@ $@ $@ $@ $@ $@ $@ $@ $@ $@ CA1NHNH P nS" Y@ ?January# Y@ @ February  Y@ @March  Y@ @April Y@ @May Y@ @June Y@ @July! Y@ @August$ Y@ "@ September" Y@ $@October &@ November (@ December 6@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===OFile: Test PRINTER OPTIONS Escape: OptioO=============================================================================M O-------Left and right margins-------- ------Top and bottom margins-----OPW: Platen Width 8.0 inches PL: Paper Length 11.0 inchOLM: Left Margin 0.0 inches TM: Top Margin 0.0 inchORM: Right Margin 0.0 inches BM: Bottom Margin 0.0 inchOCI: Chars per Inch 10 LI: Lines per Inch 6 O O Line width 8.0 inches Printing length 11.0 inchO Char per line (est) 80 Lines per page 66 O O --------------------Formatting options-------------------- O SC: Send Special Codes to printer Yes O PH: Print report Header at top of each page Yes O PT: Print titles at top of each page Yes O Single, Double or Triple Spacing (SS/DS/TS) SS O F ------------------Recalculation options-------------------F RP: Recalculate before Printing NoF NT: Number of Times to recalculate 1O-----------------------------------------------------------------------------OType a two letter option code 19K Avail.  CA1NHNHP nS((k This file  illustra tes 3D fu nctions. Examine t he formulas ? @ @. source.1 source.1 source.2 source.3 4@!@source.1 ? <-- Enter  a number  from 1 to 3&The Value in cell C3 is out of range.Y!K@source.1 <-- Enter  a number  from 1 to 123-"@source.1source.1'!$@source.1 '!$@source.1'!?source.1* $/@source.15 /4or @source.1source.1 @U OK@@ ( "i@source.1+&source.3  CM1#N(@$N(@ P nS RJanFebMarAprMayJunJulAugSepOctNovDec Totala ? ? ? ? ? ? ? ? ? "@[thisb ? ? ? ? @isc ? ? ? ? ? ? ? ?  @ad ? ? ? ? ? ? ? ? ? ? $@samplee ? ? ? ? ? ? ? ? ? ? $@AW 3.0f ? ? ? ? ? ? ? ? ? ? $@ fileg ? ? ? ? ? ? ? ? ? "@$ withh ? ?1 titlesi ? ? j ?* k  != !=Total @ O@)ZIP.CODES-xo; *ZIP.LOOKUP.=xg;  !"#$%&'()*+,-DD /yyy   !"#$ (Citygory 1StateZip3Cat4Cat5Cat6Cat7Cat8Cat9Cat10Cat11Cat12Cat13Cat14Cat15Cat16Cat17Cat18Cat19Cat20Cat21Cat22Cat23Cat24Cat25Cat26Cat27Cat28Cat29Cat30ChicopeeMA01013 North AdamsMA01247ConcordMA01742HinghamMA02043Wellesley HillsMA02181AvonMA02322East BridgewaterMA02333PlymouthMA02360 NantucketMA02554South DartmouthMA02748CranstonRI02910MilfordNH03055BowNH03304W. PeterboroughNH03468ArundelME04005GrotonCT06340 StratfordCT06497StamfordCT06902MillburnNJ07041RoselleNJ07203 HackensackNJ07602TeaneckNJ07666!Washington TownshipNJ07675 Mt. HollyNJ08060New YorkNY10009New YorkNY10016New YorkNY10017New YorkNY10024New YorkNY10036BedfordNY10506Croton-on-HudsonNY10520 Mount VernonNY10551 New RochelleNY10805SuffernNY10901 Great NeckNY11021BrooklynNY11230 Glen CoveNY11542 FarmingdaleNY11737CiceroNY13039SherrillNY13461 LancasterNY14086LewistonNY14092 WilliamsvilleNY14221BuffaloNY14226 Nigrara FallsNY14304 LeetsdalePA15056 PittsburghPA15205 GreensburgPA15601ButlerPA16001 Sugar GrovePA16350 BethlehemPA18018 GreentownPA18426 WarringtonPA18976RadnorPA19088 WashingtonDC20008 WashingtonDC20013 WashingtonDC20036 WashingtonDC20071St. Mary's CityMD20686District HeightsMD20747New CarrolltonMD20784"Silver SpringsMaryland20904ColumbiaMD21045DumfriesVA22026RestonVA22096ViennaVA22180ViennaVA22182 ArlingtonVA22204 AlexandriaVA22314 RuckersvilleVA22968 TallhasseeFL23308 PetersburghVA23803RidgewayVA24148 Hot SpringsVA24445SwitzerWV25647 Winston-SalemNC27104 Winston SalemNC27104 GreensboroNC27419 GoldsboroNC27533RaleighNC27606RaleighNC27612DurhamNC27707WilsonNC27893 AlbemarleNC28001 HuntsvilleNC28078 PinevilleNC28134ShelbyNC28150WaxhawNC28173 CharlotteNC28205 CharlotteNC28210 CharlotteNC28217 CharlotteNC28222 CharlotteNC28226 CharlotteNC28241 FayettevilleNC28303DunnNC28334Carolina BeachNC28428 SouthportNC28461'Wrightsville Beach IslandNC28480 JacksonvilleNC28540HickoryNC28601BrevardNC28712CandlerNC28715HendersonvilleNC28739MarshallNC28753SaludaNC28773IrmoSC29063NewberrySC29108 West ColumbiaSC29169ColumbiaSC29201ColumbiaSC29202ColumbiaSC29208ColumbiaSC29210ColumbiaSC29226 SpartanburgSC29301 SpartanburgSC29302 SpartanburgSC29303 SpartanburgSC29304 SpartanburgSC29305 SpartanburgSC29306 SpartanburgSC29307ConverseSC29329DuncanSC29334 FairforestSC29336GaffneySC29340GaffneySC29342InmanSC29349MayoSC29368MooreSC29369PaulineSC29374RoebuckSC29376UnionSC29379WellfordSC29385WoodruffSC29388 SpartanburgSC29393 CharlestonSC29401 CharlestonSC29407 CharlestonSC29412 Goose CreekSC29445 Moncks CornerSC29461FlorenceSC29501 North Myrtle BeachSC29582 GreenvilleSC29601 GreenvilleSC29602 GreenvilleSC29605 GreenvilleSC29606 GreenvilleSC29607 GreenvilleSC29609 GreenvilleSC29615AndersonSC29621BeltonSC29627ClemsonSC29631EasleySC29640GreerSC29651 PendletonSC29670 SimpsonvilleSC29681TaylorsSC29687Travelers RestSC29690Box 267 ChesterSC29706 Fort MillSC29715 N. AugustaSC29841BeaufortSC29902DecaturGA30030DecaturGA30033RoswellGA30076 La GrangeGA30240LilburnGA30247DunwoodyGA30350CalhounGA30701 WaynesboroGA30830MaconGA31204 ThomasvilleGA31799 Green Cove SpringsFl32043 MiddleburyFL32068OrlandoFL32821 Pompano BeachFL33069 Miami ShoresFL33138MiamiFL33176TampaFL33613SebringFL33780 BradentonFL34208 Spring HillFL34609LargoFL34640 BlountsvilleAL35031Vestavia HillsAL35243HendersonvilleTN37075 NashvilleTN37204Cumberland GapTN37724 GermantownTN38138 LouisvilleKY40206 WestervilleOH43081ColumbusOH43213ColumbusOH43221ParmaOH44129 ClevelandOH44130 Bay VillageOH44140 WadsworthOH44281FirfieldOH45014 GeorgetownOH45121 BeavercreekOH45432 South BendIN46637 New HavenIN46774MuncieIN47302 BirminghamMI48011 SouthfieldMI48034St. Clair ShoresMI48080 Ann ArborMI48103 Grand RapidsMI48182CantonMI48187 Port AustinMI48467 KalamazooMI49004MattawanMI49071 MenomineeMI49858AmesIA50010Council BluffsIA51503Red OakIA51566 BettendorfIA52722 MilwaukeeWI53216 MilwaukeeWI53225MadisonWI53704MadisonWI53706Spring Lake ParkMN55432 CorvallisMT59828EvanstonIL 60202GodfreyIL62035 Belleville IL62223 BellevilleIL62223 FlorissantMO63031 St. LouisMO63126 St. CharlesMO63303 Kansas CityMO64111 Overland ParkKS66207WichitaKS67211WichitaKS67217OmahaNE68123NorfolkNE68701 Morgan CityLA70380SlidellLA70461Ft. SillOK73503TulsaOK74104 CarrolltonTX75006GarlandTX75041DallasTX75229DallasTX75243ParisTX75460 ArlingtonTX76013RR1 Wichita FallsTX76301TempleTX76502HoustonTX77055HoustonTX77074TivoliTX77990 San AntonioTX78232AustinTX78754ArvadaCO80003 BroomfieldCO80020 LafayetteCO80026 EnglewoodCO80110 EnglewoodCO80111DenverCO80221BoulderCO80322MorrisonCO80465LongmontCO80501GreeleyCO80631AspenCO81611OremUT84057ThatcherAZ85552TucsonAZ85715 Los AngelesCA90012 Beverly HillsCA90212 Culver CityCA90230AltadenaCA91001 Granada HillsCA91344ValenciaCA91355Woodland HillsCA91364BurbankCA91502 Baldwin ParkCA91706 San MarcosCA92069 San DiegoCA92117CoronadoCA92118 San DiegoCA92121 San DiegoCA92126 Desert Hot SpringsCA92240HesperiaCA92345RedlandsCA92374 VictorvilleCA92392MurrietaCA92563OrangeCA92669 CarpinteriaCA93013 Pacific GroveCA93950 Redwood CityCA94062!South San FranciscoCA94080 San FranciscoCA94105 San FranciscoCA94110 San FranciscoCA94131ConcordCA94520 LivermoreCA94550OrindaCA94563 PittsburgCA94565 Walnut CreekCA94596AlbanyCA94706 San RafaelCA94901 San RafaelCA94903 Corte MaderaCA94925 Mill ValleyCA94941 Santa ClaraCA95051 SacrementoCA95814HonoluluHI96822 BeavertonOR97005 BeavertonOR97006PortlandOR97231AlbanyOR97321LynnwoodWA98036RedmontWA98052 Port AnglesWA98362 Port OrchardWA98366SpanawayWA98387TacomaWA98411TacomaWA98467 VancouverWA98663SpokaneWA99202PrestonCT 06365-8622CarmelNY 10512-2108 New Hyde ParkNY 11040-0352BrooklynNY 11235-3992 HicksvilleNY 11819-0001 TonawandaNY 14151-0183 Camp HillPa 17012-0001 WarministerPA 18974-2260 PhiladelphiaPA 19104-9701MohntonPA 19540-9416 WilmingtonDE 19886-1021 AlexandriaVA 22310-3143 WhitesvilleWV 25209-0444 CharlotteNC 28266-9306 CharlotteNC 28272-0138ColumbiaSC 29209-4111ColumbiaSC 29227-0801 SpartanburgSC 29301-1587 SpartanburgSC 29305-4922InmanSC 29349-7890 GreenvilleSC 29602-3088 GreenvilleSC 29607-9432RoswellGA 30076-1308OcalaFL 32671-1456MadisonTN 37115-5112SelmerTN 38375-0547JacksonMS 39236-2489JohnstonOH 43031-9313 UniontownOH 44685-9559DaytonOH 45432-3804LivoniaMI 48154-4220FlintMI 48503-4623 MilwaukeeWI 53216-1198 MilwaukeeWI 53221-2233 JanesvilleWI 53546-1327MosineeWI 54455-8922EdinaMN 55436-2025MinotND 58701-1430 Kansas CityMO 64180-0777 LeonardvilleKS 66449-9759WichitaKS 67217-3763TulsaOK 74114-5616 Fort WorthTX 76108-3821 San AntonioTX 78209-3550AustinTX 78760-9135LubbockTX 79413-3721DenverCO 80237-1740BoulderCO 80303-5713 Fort CollinsCO 80525-2919 Los AngelesCA 90038-1451 San DiegoCA 92126-1523 Mountain ViewCA 94043-7210San JoseCA 95125-1430San JoseCA 95131-3012 Maple ValleyWA 98038-8915LongviewWA 98632-5734PalmerAK 99645-0919/0123DRR  !"#$%&'()*+,-./0123456789:;<  !"#$ (456K First Name Last NameNameAddressCityStateZip7Cat8Cat9Cat10Cat11Cat12Cat13Cat14Cat15Cat16Cat17Cat18Cat19Cat20Cat21Cat22Cat23Cat24Cat25Cat26Cat27Cat28Cat29Cat30% First Name Last NameZipCity Zip.codesZipZipState Zip.codesZip@ZipZip Zip.codesJohn Q.PublicJohn Q. Public123 Maple SteetChicopeeMA1013GUse oa-G to select a zip code or type in a zip code. The City and stateBwill be entered automatically if found in the Zip.codes data base.MACROSv 9' '+ALT.STARTUP5 xg}.4*AW5.MACROS<y!xd3 4-BOTH.APPLES.LN_xsY4/CASE.MACROS.ALTTxs}1 4.CHANGETEXTTYPEY x}}/ 4*CONFIG.DBL` x|[64,CONFIGDBLINKo\x|ռ'4*DATE.RESET~x{[64)DB.WIDTHSM x/R4-DB.LINK.NOTES&xxY 4'DB.LINK xY4.DB.LINK.SOURCE x[546789:;~@O=====<====<====<====<====<====<==<=<===<=====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<==<=<===<=====<====<====<====<====<====<====<===Nwait 2000 : msg "" >!cros Installed ':e .setnamesNLThis file contains an alternate startup routine for the default macro set. NLIf you're uncomfortable with modifying macros, continue to use the original default macro set. MKTo use the alternate startup routine, enter your Name, Organization, City, NLState, and Zip in the appropriate places in the ba-[ below macro. Copy the OMba-[ macro configured with your information to the clipboard. Load the file MK"Seg.um.Source" from the /Extras disk to the desktop. Delete the existing JHba-[ macro, copy the new one from the clipboard. Make sure ba-[ is the second macro in the file.LJNow delete the AWP macros sa-B, sa-H, and sa-N from "Seg.um.Source". Copy PNsa-B, sa-H, and sa-N below to the clipboard and into "Seg.um.Source". Delete 3macros sa-%, ba-#, and sa-! from "Seg.um.Source."MKAfter you've made these changes, you may also add additional macros to the @>file if you wish. Next use TimeOut Ultra Compiler to compile PN"Seg.um.Source". Then use TimeOut Ultra Options to Save current macros as the LJDefault set. That's option 4 on the Ultra Options Menu. Answer "Yes" to OM"Activate auto startup macro?". Save the source file after you make changes IGto your backup copy of /Extras. You may delete the files "SEG.NA" and IG"NAME.ADDRESS" from your working copy of AppleWorks, they're no longer needed.8If you have any questions, I can be reached via email.GEnie - S.BEVILLE%Internet - S.BEVILLE@GENIE.GEIS.COM:! // B:Date:From:To:!NLH:!3N:!print NameO# %-+o*=>#o  ~Crb=>?@ABCDEFGHIJKLMAO=========<<====<====<====<====<==<=<===<=====<====<====<====<====<====<====<===@O=========<<====<====<====<====<==<=<===<=====<====<====<====<====<====<====<===N Disk filerrent 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 UltraMacros 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 on "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-A 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 Add 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" 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 file 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 ignored.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.Gsa-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 @the 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 printer 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 REVIEW/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 Esaved 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 patched 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 and ,'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 this 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 clipboard 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-ZRemoves 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 spacebar. 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~-LList 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 out 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.OMba-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 times.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 accessing 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 for 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 filecard.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 the 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 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 with 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-apples 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 cursor left to the next category in single record layout % at the CHANGE RECORD LAYOUT screen.Mpy text (includrbOPQRSR@CUO=====<==========================================================================@O=====<=========================================================================rpt >!Place your Appleworks STARTUP disk in a driNLIf you want to distribute applications for use by those who have the player 'only version of UltraMacros, read on.MKThis file contains information on restoring the default macro set, SEG.UM. PNStrings 96 through 99 contain the name and address information entered by the OMuser when AppleWorks was initially booted. The NAME.ADDRESS variable file is PNonly loaded when AppleWorks is booted. That information is then stored on the KIdesktop and retrieved whenever "SEG.UM" is relaunched. You can use these MKvariables in your applications without causing any problems in the default macro set.MKWhen a Mac2Menu application or Task File is finished, pass the name of the NLMac2Menu application or Task File to SEG.UM in $95. This way users who make MKMac2Menu applications memory resident won't pay a memory penalty by having NLthe Mac2Menu application memory resident and in the cache at the same time. FDIt also has the added benefit of preventing these applications from PNaccumulating in the cache. If you don't want your macros uncached, don't pass the name in $95. KIInsert the following macro in your application to restore SEG.UM without OMreloading the NAME.ADDRESS variable file and to remove your application from the cache.:!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 ::!UVWXh@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===Nrpt endif oa-right >!ght :60 uc rpt endif :MKThe change case of a word macros have been combined into one, sa-C, in the NLAppleWorks 5.0 Default set. If you prefer using three different macros, as PNin AppleWorks 4.x, copy the three macros below into the default macros source PNfile and delete sa-C. Recompile the file, using TimeOut Ultra Compiler. Then OMuse TimeOut Ultra Options to Save current macros as the Default set. That's NLoption 4 on the Ultra Options Menu. Answer "Yes" to "Activate auto startup 8macro?". Save the source file after you make changes.startlowercase a word:!UPPERCASE a word::!Capitalize a word::!Z[\]^_@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===N.writestr 0,21, "Copyright 1994 Steve Beville" + MKAppleWorks now allows you to save a word processor file loaded from a text MKfile as a text file without printing to disk. This application will allow MKyou to change the type of file the word processor file will be saved to on PNdisk. The choices are word processor, Apple text, and MS-DOS text. If "Save JHtext files as text" isn't activated you'll be prompted to activate it. PNActivating this option will not change your current setting on disk, just the ,setting in memory for the current session.OMThis application is an amalgam of a bare bone macro I wrote and an interface LJsuggested by a macro written by Steve Weyhrich of A2-Central on Disk fame PNwhich I rewrote to use less code. It has appeared on GEnie and A2-Central on 0Disk in a shorter form minus some error traps.AUse Ultra Mac2Menu to make it into a handy TimeOut application.-- Steve Bevillelabels.ChangeTxtTypestart:! D: 2 ba-L endif :0ifnot X = $20 poke $ffd, T + $20 : endif: C = peek $7c68 :5 $1 = "Word processor,Apple Text,MS-DOS Text" :X = .andbits C,48 :C = C - X :if X = 0 S = 1 else :S = X / 16 endif :$2 = .choose $1, S :, $3= 'Current: '+$2 + '. Change to ' : .menubar2 $3,$1,44 :% if Z = 0 or Z > 3 ba-l endif :B = Z :!$4 = .choose "0,32,48",B : X = val $4 :) poke $7c68,C + X : poke $c6c, 2 :;$1 = ' This file will be saved as ' + .choose $1,B : .say $1 : ba-l >!abcdefghijklmnAO=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===Nrpt >!Place your Appleworks STARTUP disk in a drilabels.ConfigDBLINKstart C:! ]: 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, $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 Steve Beville":.spacebar :' display 0 oa-q display 1 esc :D = peek $1024: begin:.deskcount 1 : if Z > 0 exit endif:oa-q tab esc : D(1) = peek $1024 : if D(1) = D bell :A.say "There are no data base files on any Desktop" : $ poke $10e6,0 stop endif: rpt :&.qmenu "Choose a Data Base",1: 8if Z = 0 or Z > 12 poke $10e6, 0 poke $336, I : stop endif:goto sa-M >!M:!|:! _: 3 display 0 esc display 1 esc : exit endif :.ongoto z, "*pL": rpt :&poke $336, I : poke $10e6, 0 >! *: 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":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 bell .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:,if T = 1 or T = 0 or T > 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 Marked "+ $41:goto sa-_ : endif:L = L - 1 :$(S) = right $(S), L :.setnames S,S,1 : poke $c6c, 2 :sa-C :goto sa-_ >! N:! 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 + ": 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-_ : endif: 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 : 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 and X > 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 "/",$1,2 :if M = 0 bell rpt :endif:if K = 13 exit :endif:print chr$ K : rpt:'$0 = .peekstr $2152 : //get path@$0 = $0 + "/" + .peekstr $21b1 :// add slash and filenameoa-q print Q : O = peek $e86 - 115 :+print chr$ O :last .setcat 0,0,$0 :first |:esc :goto sa-_ >! 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: endif:rpt >!:!pqrstuvwxyz{|}AO=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===rpt >!Place your Appleworks STARTUP disk in a drilabels.ConfigDBLINK\ba-l Launch SEG.UM\sa-M Data Base Config. Menustart C:! ]: 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, $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 Steve 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) = D bell :A.say "There are no data base files on any Desktop" : $ poke $10e6,0 stop endif: rpt : esc :%.qmenu "Choose a Data Base",1:8if Z = 0 or Z > 12 poke $10e6, 0 poke $336, I : endmacro endif: goto sa-M >!M:!|:! _: 3 display 0 esc display 1 esc : exit endif :.ongoto z, "*pL": rpt :&poke $336, I : poke $10e6, 0 >! *: 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":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 bell .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:,if T = 1 or T = 0 or T > 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 Marked "+ $41:goto sa-_ : endif:L = L - 1 :$(S) = right $(S), L :.setnames S,S,1 : poke $c6c, 2 :sa-C :goto sa-_ >! N:! P: 2 goto sa-_ :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:/.writestr 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 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 :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 : :+if K = 13 and X = 5 rtn : rpt :endif:(if K = 13 and X > 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 $2f82: $1 = .peekstr $2152 M = .substring "/",$1,2 :if M = 0 bell rpt :endif:if K = 13 exit :endif:print chr$ K : rpt:'$0 = .peekstr $2152 : //get path@$0 = $0 + "/" + .peekstr $21b1 :// add slash and filenameoa-q print Q : O = peek $e86 - 115 :+print chr$ O :last .setcat 0,0,$0 :first |:esc :goto sa-_ >! 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: endif:rpt >!:!`@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===Nrpt >!Place your Appleworks STARTUP disk in a drilabels .Date.Reset\ba-L Launch Default Macros\sa-R Reset Datestart:! R: 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 endif: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:GD = .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 >!tAO=====<===<====<====<=========<=====<====<====<====<====<====<====<====<====<===@O=====<===<====<====<=========<=====<====<====<====<====<====<====<====<====<===Nrpt >!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 that 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, inspired by a Gary Hayman macro from the 1980's. Handy Tip ---------OMInsert a 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 continue on with the program.Dot Commands Used------------------.getrec//used to grab the DB info2.qmenu//used to display DB files only8.therm//used to show the program's progress4.titlebox//used to make things look better<.writestr//used to display some messages on screen Da Program ----------labels:.DB.Widths //the program name.// titles for the SA-Esc .macronames command<\ba-LLaunch Default Macros//standard ba-L:\sa-WAdjust Data Base Widths//startup key9// define some labels to make our program more readableB#ItemNum=peek $8c//current menu item numberK// this address is the report width table, even with DoubleData installedI#WidthTable=$7513//db report horiz widths table -18#CatCount=C(9)//some variables#DoAll=D(9)#Records=R(9)#Widest=W(8)E#makeWidths =sa-x//second macro in the programK// free macro table space if macro set is short enough, which this one isD#MyTable=$FD00//space to store some information@// we're actually ready to start our TAPL program code at lastL//________________________________________________________________________start:!,w: 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 or 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 #dbfields//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 placeD// 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.":5.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.writestr 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?// 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// variable 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? Because 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//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 = #MyTable + J//calc table positionE #Widest = peek Adr//what's current widest?BLength = 1 + len $(J)//check string lengthAif L > #Widest then//is this one wider?Cpoke Adr,L : endif// if so, update tableBnext J//check next categoryA.therm 0,0,I,#Records//update thermometer@next I //check next record&// make sure no widths report existsDdisplay #off//kill the display to cut flicker<oa-p//go to DB reports module@// if the menu bar is on 2, we don't have any reports yet@z = #ItemNum//see if we have some reportsIif z = 2 then goto #makeWidths endif//make the first report:print "5"//choose Erase a format=//numbered menus have to be visible for find to work:display #on//just a bit of flickerArtn//report list for erase option;$0 = "Widths" : find//see if "Widths" exists5display #off//lights out again@if z = 1 then rtn print "y"//kill old Widths reportDelse esc endif// or exit if it's not thereAgoto #makeWidths>!//in any case, keep goingH<#makeWidths>:Widths!//cursor moves down b:!AO====<<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O====<<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===-Lly select 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 an attempt to overcome one of the shortcomings of FDthe AppleWorks data base. Programs such as PFS File and Q&A (Q&A is IGMS-Dos) are capable of having multiple page data base records in which LJfields can be several pages long. This allows you to have short fields to IGsearch and sort by and longer fields that can contain several pages of KIdetailed information. Unfortunately these programs don't have a multiple FDrecords layout ( without printing a report ) or the ability to have IGmultiple files active in RAM or Appleworks' ability to easily transfer CAinformation to other files, not to mention ease of use, Timeout, KIUltraMacros, etc. My goal was to have different data base RECORDS linked KIto different files, to enable me to have information in the data base to JHsearch and sort by and information of a more detailed nature in another LJfile that could quickly be called up and viewed, information that was too HFlong to fit in an Appleworks data base. The linked file can be a word /processor, spreadsheet, or another data base.TERMS=====KILinking Data Base - The data base which contains the information you IGwish to find in the other file. This is the data base you configure to work with DB LINK.FDLinked File - The AppleWorks file that is specified in the last KIcategory. It can be another database, a spreadsheet, or a word processor KIfile. This is the file DB LINK searches for on the desktop or loads from disk for you.MKMarked Category - The category which contains an asterisk ("*") as the LJfirst character in the file name. This category must contain at least two DBcharacters in the file name, "*" and another. Many people, myself ECincluded, like to name extra categories "*", 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 allow 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 JHinformation 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 isn'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 are 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 similarly 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 where 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 KIFOUND. 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 display 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 is 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 in 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 subdirectories 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 is 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.KIDB 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 isn'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 load 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 files, 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 that 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 appearing 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 information 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 and/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 Taylor 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 prompts.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 option 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 of 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 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. This 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.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.@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===rpt >!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: 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 Z > 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 Another File " : stop : endif : A = len $3 : B = A - 1 : begin : $4 = mid PN$3, B, 1 : ifnot $4 = "/" B = B - 1 : rpt endif : L = A - B : if L = A - 1 or NLL(1) = 47 bell : bell : .Say "Last Category Does Not Contain a Legal ProDOS MKPathname " : stop : 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>ATA 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:!+S:!MKT:!KIZ: 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 ' + $4 : stop : endif : .SetDisk $4 : $0 = $3 : sa-D>! E:!LJX: 0 display 1 : .Say " Getting error trying to read " + $3 : stop>!OMD: 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:!Mpy text (includrbfAO=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===Nrpt >!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: 1 and $61 = left $(I),1 : "F(1) = I I = F endif :next I :Iif Found(1) = 0 bell .askyn "No Marked Category. Continue Anyway":/if Z = 1 or Z = 0 or Z > 2 stop endif :Dif Found(1) > 0 $2 = .getcat Found(1), 0 :else $2 = "" endif:$3 = .getcat F, 0 :Y = asc $3 : $10 = "/" :+$10 = right $3, 1 Last(1)= asc $10 :#ifnot Y = 47 bell:bell:bell:9.say "This Record Is Not Linked To Another File ": STOP: endif:A = len $3: B = A - 1: begin:$4 = mid $3, B, 1:%ifnot $4 = "/" B = B - 1:rpt: endif :L = A - B :/if L = A - 1 or Last(1) = 47 bell bell :N.say "Last Category Does Not Contain a Legal ProDOS Pathname " :stop : endif:F = A - B: P = B - 1:*$4 = left $3, P:{set path}/$3 = right $3, F:{ set filename}$0 = $3 : 1.writestr 0, 23, "Please wait..." + %A%: : display 0 :oa-q : Z = 200 : find : 'if Z = 1 rtn : else sa-Z endif :T = peek $c6b :oa-1 oa-F :if T = 1 >A< else :2>TA< endif:oa-Y print $2 : rtn :2if T = 1 posn F, G :A = peek #dbzoom endif:Lif T = 1 and G > peekword #dbrecs or F > peek #dbfields G = 1 :endif:>if T = 1 and A = 47 esc esc pokeword $9225, G :endif : oa-q display 1: go >!:!)S:! T:! Z: 0 exit endif:if Z = 0 sa-T : bell :<.say 'Place ' + $4 + ' in a Drive and press return' :5k = peek $c000 if k = 27 stop else rpt endif:$5 = $4+"/" + $3 :.online $5 :if z = 0 sa-T : bell :5.say $3 + ' not found at ' + $4 : stop endif :&.setdisk $4: $0 = $3 : sa-D :>!O-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- E:!7{ emergency turn display on if something bombs },X: 0 display 1 :7.say " Getting error trying to read " + $3 : STOP >!O----------------------------------------------------------------------------- D: I sa-T : bell bell bell :.say $6 : STOP: endif:*right rtn : H = peekword #freemem :.if H = 0 display 1 sa-T bell bell bell:.say $6 :stop >!:!Mpy text (includrb4'DUP.ZAP xf[64/ENTER.KEY.PATCHGx}g64.INSTALLDESKJET%x~b4-KEYPAD.TOGGLEx~f)4-MACRO.SAMPLES x}O4/NOCLOCK.BLANKERUx_~[64)OAW.MAKER xT%4-SEG.AX.SOURCE2x~ 4-SEG.NA.SOURCE x4-SEG.UM.SOURCE J7x4.ULTRA.COMMANDS=x}G$4/WP.WINDOW.MACROB3x/%%4@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===Nrpt >!Place your Appleworks STARTUP disk in a drilabels.DuplicateZapper\ba-L Launch Default Macros\sa-] "DuplicateZapper"\sa-Z Zap duplicate recordsstart:!]: 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 : endif :,.qmenu "Choose a Data Base", 1 :HFif Z = 0 or Z > 12 .macronames goto sa-] stop else goto sa-Z >! Z:! E:!@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===N.say "This application requires a IIgs." : goto bPNThis application will allow you to change what action is taken when the enter MKkey is used on the IIgs keypad in a spreadsheet file. This is a quick and KIeasy way to change the setting temporarily without changing your default MKsetting. It only changes 1 byte in memory and doesn't make any changes to PNSEG.ER on disk. If Keypad macros are active you will be asked if you want to ,disable Keypad macros or cancel the patch.labels.ASP.Enter.Patchstart:! E: 5 restscr goto ba-L endif:'$2 = .choose "13,11,10,8,21",Z :V = val $2 :"poke $f13, V : goto ba-L >! K: 1 poke $370,0 goto ba-L endif:"K = K + $10 poke $ffd, K >!AO=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<=== @O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===Ngoto sa-4>! then Slot = Slot - 1 endif:eg.um" : else:r Install.DJ.s0Written for AW5 October 11, 1993 by Jim Parker2Adapted for AW5 November 2, 1994 by Randy BrandtNLInstalls DJ 500 printers (portrait and landscape) in AW 5 and also installs +the special codes used by SuperPatch 8.0.PNQuitting or Esc'ing now properly turns display on before launching seg.um and OMthe printers are found by number since find doesn't work in the printer list when display is off.OMAdded a check to see if machine is //e //GS or //c because the printer slots !options are different on a //c.labels.Install.DeskJetstart]:!: 2 then oa-q display #on esc goto ba-l: else:if z = 1 goto SA-2 >!:352x!: 2 then Slot = Slot - 1 endif: goto sa-4>!E:!:3!:2551Italics Begin(s1S2Italics End(s0S3Double Begin>&d2D4Double End&d@56 Point Begin(s6V66 Point End(s12V!:25512324 Point Begin(s24V424 Point End>(s12V56 Point Begin(s6V66 Point End(s12V!:!Z@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===N.askyn $(y) + " keypad macros":ts k,$10 :LJThis application allows you to turn IIgs keypad macros on and off without Ichanging your default setting or making changes to the AppleWorks disk.labels.ToggleKeypadstart:! 1: 2 goto ba-l endif:2if y = 1 k = k + $10 else k = k - x endif:poke $ffd, k :-.say "Keypad macros are " + $(y)+"d" :goto ba-L >!@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===I vote for the v3.0-only solution!>!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.startN[:!&]:!NLa:! only page 1 of the 80-column screen is active, (so you get characters two spaces apart9b:!Lc:! ^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:!.-- here's how and are used%e:! :!Af:! clear screen and display a 3message, then reset msg parameters back to normal=h:!Nj: 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; after the NLwait, peek #waitkey to get that value or the user keystroke if they aborted the wait.8w:!t:!{ set default back }0--- display all MouseText characters available2:! msg &@ABC etc would be easier, of course!Cy:t! move current line to the clipboardl@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===Nrpt >!eturn " :r Appleworks STARTUP disk in a drilabels.Screen.Blanker\ba-l Launch default macros\sa-B Blank screenstart:! B: 154 restscr goto ba-L endif:.spacebar:=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: rpt :restscr :5poke $10f2,1 :poke #curschar, c : goto ba-l >!@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===if X = 222 then oa-y oa-y first endif :OMThis macro by Randy Brandt prepares an OA-W Word Processor file for use with LJthe current Data Base by creating a label entry in the Word Processor for MKevery record in a specific category. When the macro is done, you may enter PNWord Processor text which will be accessible from the Data Base when the OA-W command is used.NLYou must have fewer than 12 files on the desktop before starting, and there @can't be a WP file whose name is the DB file preceded by "H.".Here's how the macro works:H1. When you press SA-W, you're prompted for the Data Base file to use.MK2. The current layout is stored as a report format, and you're prompted to Cuse OA-D to delete all categories but one, and then press Return.H3. The file is copied to the clipboard (just one category per record).84. The WP file is created and the clipboard pasted in.75. Marker 150 is inserted before each category entry./6. The original Data Base layout is restored.=7. You're returned to the WP file to enter data as desired.start.W:22Current 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." + $1 : { define WP file name } oa-1 oa-c>t3xf< { get records }0 oa-o print "sm" : rtn : print "150" : rtn esc< zoom oa-z up oa-c>tf $40 then rpt endif :if L > 2 then rpt endif6 oa-Z : oa-Q : print Q : rtn oa-L>25y!----- T:! BO=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===*AO=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===Nif O = $40 : rtn >!lay 1 endif : :if:kword $cc8 :labels .seg.axstart:!!:!: 154 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:Dif 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 R = 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 $0 = "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:t< begin :x = peek $b5 :/if x = 208 : first left exit endif:last down : rpt : rtn : oa-q oa-c :oa-1 : first :begin :'cell : $0 = .zapchar $0, 9:$$0 = .stripchar $0,32,1:oa-Y print $0 :!oa-rtn X = peek $b5 :%if X = 208 exit endif: rpt :oa-1 oa-o KI>tm1bm0rm0lm3.5pl4T< rtn rtn : display 0 oa-q print F(1): go poke $11ac,$1b : >! z: 3 endmacro endif:/if Z = 3 : oa-m >t< poke $b802,$60?keyto 13 : poke $b802,$4c : if 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 1 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 :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 :1A = $7b01 + B : L = peek A :oa-rtn : -F(1) = peek $7b02 :N = peek $b5 :-if B < 208 and N = 208 rpt endif:'if N < 208 up find oa-del :7ifnot L = $20 or F(1) = $20 spc endif: rpt >! W: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 >!,: 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$1 = .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 endif:;.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 $10b1 : print chr$ K(1) :4e = peek $362 : if e > 0 bell endmacro endif::if k = 210 oa-Q esc>4 $4 exit endif:if z = 1 Z = 0 : endif :)poke #filestatus, Z : endif :rpt :)display 0 oa-q go poke $10f2,1 >!: 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) = 2 or q(1) = 6 :C.askyn "This file is changed. Revert to last saved anyway": if Z = 1 exit endif:Jif q(1) = 0 or q(1) = 4 $0 = "z" + left $2,14 : else $0 = $2 endif:($3 = $1 + "/" + $0 : .online $3 :?if Z = 0 bell .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: 67 K = 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: goto 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: { 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 = .getvalue $1,1,78,W :insert :'if V = $ffff: |: display 1 esc :'poke $11ac, $1b endmacro: endif:poke A, V + 1: :| : display 1 : esc :OMpoke #filestatus, 2 :goto sa-W >! Set filestatus to changed, loop back and start over.:! // oa-left to remove all%S: 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 = .choose "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, R : .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: if 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 = 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 rtnrpt endif:if Y = 1: n = peek $8c:/ifnot n = peek $ef2 rtn exit endif:X = peek $ca6 :#if X > 0 $1 = "" endif:if Y = 1:1$2 = .getstring "Directory? ",$1,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:!@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===NZip/Postal Code bbreviation TUP disk in the drive and labels .SEG.NAStart:!:!A:!!"#$%&'()*+,-./0123456789:;<CO=====<====<====<====<====<====<==<=<===<=====<====<====<====<====<====<====<===@O=====<====<====<====<====<====<==<=<===<=====<====<====<====<====<====<====<===N.putblock 0,$bd00,l,1 : pokeword $a90, z : >! + 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 or entering them in this file. Use Debug 1to see which macro names haven't yet been used.OMAlthough it will work, you shouldn't use the Ultra Compiler to decompile the PNmacros into a file for recompiling. If you want to record a macro and add it, PNdecompile into another file, then use the clipboard to copy your new macro to IGthe end of this file. That way you keep the formatted source and macro Htitles. Decompiling macro programs when you have the source is uncool.NLIf you feel the default set is too complex, make a simple set of macros and LJreplace it. That's the beauty of having a full set of macro tools at your disposal.labels\sa-A Add Files\sa-B Begin a memo in AWP\sa-C Change case of word\sa-E Address an envelope\sa-F Find text \sa-H Print Name & Address AWP\sa-I Indent 3 chars\sa-J ADB jump to Window file\sa-J AWP return to ADB\sa-K Calculate page breaks\sa-M Set AWP margins\sa-N Print your name in AWP\sa-O Indent 0\sa-P Copy or Move paragraph\sa-P Print ASP or ADB \sa-Q Switch to next file down!\sa-R Rename data base category#\sa-R AWP Replace printer option#\sa-R ASP Toggle recalc frequency\sa-S Save file\sa-T ADB column totals \sa-U 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:5< rtn : NLmsg ' You must activate 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: 0 exit endif:msg ' Please Wait ' :begin :$1 = .awpath : .online $1 : if Z = 0 sa-_ :rpt endif:if P(1) > 0 exit endif:"$1 = $1 + "/NAME.ADDRESS" :.loadvar $1, 190 :!if Z = 0 goto ba-# endif :sa-! : exit : rpt :.uncache $95 : sa-% : Jmsg ' Default Macros Successfully Installed - Press any key ':.wait 9000 : msg "" : poke $11ac, $1b >! _:!(}:! %:! Add Files: A: 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 : down : 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 : rpt :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:.newfile "New",T :Fif T = 1 and O > 127 display 0 oa-o>lm0rm0 127 poke $7f84, 77 endif oa-N oa-Y >!Begin a letter:B:Date:From:To:!Change case of word C: 3 stop endif:pokeword $ef1e,$bb :right oa-left :x = 160 :if Z = 3 :begin :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 Name, Address:PNH:!IK:P! calculate page breaks; find a page9N:!print Name1O:IN0! indent 06Copy or Move paragraph to clipboard - undo with sa-u P: 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 :;rpt : endif : down : first : print chr$ K + chr$ 84:begin :$first : R = peek #wpwa :if R < 128 down :rpt else last rtn >!.Print ss file with today's date to printer 10P:A!PNP:11! print data base report #1 with today's dateGQ:! switch to next file on desktop:! R: 20 or $2 = "" stop else .setnames 0,2,1 :| esc poke #filestatus,2 >!PR:O!replace printer option Revert to last saved versionJ:!=S:!=T:!CU:F! undo last Ultra 4.0 delete"V:!WX<Z:!)--------------------------------------- More macrosD-:-B-E! insert subscript codesK:+B+E! insert superscript codes)---------------------------------------insert a space:! insert a space, even if strikeover cursor)---------------------------------------Control-Character MacrosA:! boldface wordE:Sincerely,! close a letter::! make a paragraphI: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::! delete next ^,:!K1:! leave "1" file; go to main menuB2:! return "2" the file we leftRemove files from cache:!Launch a cached task file: Count exit endif :-launch $(Z) : >! launch selected file.>W:! QuickerPathA:! TipleMenuA:!oa-w data base macroDJ:!// go is with no arrow"-- return to Data Base file 'J:!-- Address an envelopeE:!Set Left or Right Margins M: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 = .choose $1, Z : display 0: 9oa-O print chr$ asc $2 :>M< rtn print right $1,3: rtn display 1: esc >!!Toggle Recalculation frequency: R:!Change column widths:W:!Swap with character to right:+/:W!Swap with word to right:M\:W!Delete menu:: 6 stop endif:8if z = 1 right oa-left oa-M>TTTTTT!Delete file from disk:5:6!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 K = 186 K = 160 :begin :  C = peek $10f5 :! ifnot C = K left rpt elseright >!IJumps the cursor right to next category in single record layout screen.:!: 0 :*call sa-ctrl-Z in "seg.na" :endif :sa-_ rpt >! !:( .pokestr $(s), a : a = a + peek a + 1 s = s + 1 ) 4 :4.putblock 0,$bd00,l,1 : pokeword $a90, z : >!O# %-+o*=>#o  ~Crb>?@AR@O=====<=====<===<====<====<====<====<====<====<====<====<====<====<====<====<===@O=====<=====<===<====<====<====<====<====<====<====<====<====<====<====<====<===N?=UltraMacros offers many keyboard commands, some of which are IGdocumented below. For full documentation, contact Quality Computers to %order the full UltraMacros package.Tokens------OAopen-apple1SAsolid-apple (Option on the IIgs)7$0string zero (a temporary storage area) Commands --------9OA-; sets the cursor character to lower case9OA-: sets the cursor character to upper case GEOA-- reads the current SS cell, WP line, or DB category  into string zero ($0)AOA-0 prompts user to enter text for defining $0.<SA-'  enters the date as:September 29, 19932SA-" enters the date as: 09/29/931SA-=