1 REM Ins{nd av John Amsberg <5786>    1985-10-03 09.28.45
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;41



            CALC - KALKYLPROGRAM F\R ABC800, ABC806. 
 

      Programmet best}r av f|ljande filer: 

         1.  CALCMENY.800  Startmodul med menyval av - Ny kalkyl
                           - Befintlig kalkyl - Hj{lptext -
                           Avsluta. 
         2.  CALC1.800     Hj{lpfil som l{ser hj{lptexten. 
         3.  CALC3.800     Huvudmodul med printerrutin. 
         4.  CALCOM.DAT    Kontrollfil som skapas och l{ses av
                           programmet. 
         5.  CALC2.TXT     Denna textfil. 
         6.  CALCEX1.CA3   Kalkyleringsexempel. 
         7.  CALCEX2.CA3   Kalkyleringsexempel. 

 
      Filerna som ursprungligen var avsedda f|r ABC80 har h{mtats
      fr}n ABC-klubben och d{refter modifierats medelst KOMPIL
      samt bearbetats f|r ABC800, ABC806 och BASIC-II-kortet. 

      Programmet {r av typ "spredsheet" dvs du kan lagra text,
      v{rden och formler i ett rutn{t. Text formler och alla v{r-
      den kan {ndras varefter omkalkylering sker. Storleken p}
      den valda matrisen kan dock ej {ndras. Kalkylen kan sparas
      p} diskett varvid programmet sj{lv l{gger till extension
      (.CA3). 

      Rutn{tet numreras p} f|ljande s{tt: 
                   Rader:     AA, AB, AC,...AJ 
                              BA, BB, BC,...BJ etc 
                   Kolumner:  00, 01, 02,...15 etc 
      Rutan l{ngst upp till v{nster {r allts} AA00. 

      I varje ruta kan du anv{nda EN funktion av en typ. Vill-
      korssatser kan EJ anv{ndas i rutorna. Du kan skriva text,
      siffror eller skiljetecken i rutorna. 

      Programmet startas med "RUN CALCMENY.800". I menyn kan du
      v{lja enligt nedan. 

                   0. Ny kalkyl. 
                      Ange antal rader, kolumner och hur m}nga
                      tecken varje f{lt skall inneh}lla. F{lten
                      beh|ver inte vara st|rre {n att text, v{r-
                      den och resultat ryms. Programmet kontrol-
                      lerar att matrisen ryms och ger annars m|j-
                      lighet att minska n}got av v{rdena. 
                      Om allt {r ok skrivs kontrollfilen
                      "CALCOM.DAT" ut p} disketten varefter
                      huvudprogrammet chainas in. 

                   1. Befintlig kalkyl. 
                      Ange kalkylnamn utan extension. Namnet
                      kontrolleras. Om filen inte finns ange nytt
                      namn. "RETURN" ger }terg}ng till menyn. 

                   2. L{sa hj{lptext. 
                      H{r kan du l{sa denna hj{lptext. N{r texten
                      kommer upp p} sk{rmen matar du nya rader
                      medelst mellanslag. Med S eller s stoppas
                      l{sningen och du kommer till en minimeny
                      d{r du v{ljer }terg}ng till huvudmeny eller
                      upprepad l{sning av hj{lptexten. 

                    3. Avsluta. 
                       H{r avslutas programmet. 

      I huvudprogrammet finns det tv} olika "MOD", A - man|vermod
      och B - funktionsmod. 

      A - I man|vermod visas f|ljande kommandorad |verst p} sk{r-
      men. 
                 ->  <-  ~  <RET>  $ 

      Man|verkommandona betyder: 

      ->  (h|gerpil)   Flytta mark|ren en ruta }t h|ger. 
      <-  (v{nsterpil) Flytta mark|ren en ruta }t v{nster. 
      ~                Flyttar mark|ren en ruta upp}t. 
      <RET>            Flyttar mark|ren en ruta ned}t. 
      $                \verg}ng till funktionsl{ge. 

      \vriga tangenter ger text i rutan. 

      B - I funktionsmod visas f|ljande kommandorad |verst p}
      sk{rmen. 

      A C D G L N P R S X + - * / H U K 

      Funktionskommandona betyder: 
      A  Average    - Ber{kna medelv{rde. 
      C  Calculate  - Kalkylera matrisen. 
      D  Delete     - Radera allt i rutan du befinner dig i. 
      G  GOTO       - G} till ruta nr. 
      L  Load       - Ladda in den ursprungliga kalkylen. 
      N             - Radera hela rutn{tet. 
      R  Repeat     - Repetera rutans inneh}ll och tillh|rande
                      funktion i angivna rutor. 
      S  Save       - Spara kalkylen p} diskett. F|rsta tecknet
                      av max 8 skall vara en bokstav. Programmet
                      s{tter extension till "CA3". 
      X             - G} ur funktionsmod. 
      +             - Inleder "+"-funktion (addition). 
      -             - Inleder "-"-funktion (subtraktion). 
      *             - Inleder "*"-funktion (multiplikation). 
      /             - Inleder "/"-funktion (division). 
      H             - Anv{nds ej. 
      U             - Utskrift p} printer av formler och/eller
                      text med 69 tkn/rad. 
      K             - Avbryter och g}r tillbaka till menyfunktio-
                      nen. 

      Det finns s}ledes 6 olika funktionstyper som kan definieras
      i rutorna. 
                    A  Average 
                    R  Repeat 
                    +  Addition 
                    -  Subtraktion 
                    *  Multiplikation 
                    /  Division 

      Du kan anv{nda en funktionstyp i varje ruta. Definiera en
      funktion genom att f|rst g} till den ruta som funktionen
      skall vara i. G} sedan |ver i funktionsmod med "$". Defi-
      nieringen inleds d{refter med n}got av tecknen 
                    A  R  +  -  *  / 
      Dessa 6 funktioner kan ber{kna v{rdet av inneh}llet i en
      f|ljd av rutor. Om man avser att endast summera t ex rutor-
      na AA00 och AA01 och l{gga resultatet i AC00 s} blir kom-
      mandostr{ngen: 
                      AC00=AA00 + AA01...AA01 D 2 
      Efter bokstaven  D  anger man antalet decimaler. 

      Enda s{ttet att klara "dubbelfunktioner" {r att mellanlagra
      den f|rsta funktionens v{rde i en ruta som sedan anropas av
      n{sta funktion. Det kan vara l{mpligt att lagra konstanter
      i rutor p} f|rsta eller sista raden. 

      N{r rutn{tet fyllts i med text och v{rden kan det sparas
      med kommandot "S". F|re avslut med kommandot "K" kommer
      fr}gan  SPARA P] FIL J/N?  [ven h{r kan matrisen sparas p}
      disketten. 

      F|re utskrift p} printer b|r l{mplig printerkod s{ttas i
      CALC3.800. 

      KALKYLERING 

      Bygg f|rst upp din kalkyl p} ett rutat papper. Det ger dig
      m|jlighet att planera uppl{ggningen innan du l{gger in
      funktioner och konstanter i rutorna. 

      Matrisen kalkyleras i "ASCII-aritmetik". Tomma rutor ger
      "noll" vid funktionerna "+-*". Vid division p} tomma rutor
      blir det  ERROR  liksom vid division med noll. 

      Medelst exemplet nedan kan s}dana fel f|rhindras: 
              Fyll alla rutor med 0 (NOLL) p} f|ljande s{tt. 

              - Skriv in  0  i ruta  AA00  i den tomma matrisen. 
              - G} |ver i kommandomod med $ och ange  "R". 
              - Ange sedan  AA00  och efter det  "R"  som kommer
                upp  AA00...AC02,  om matrisen har 3 rader och 3
                kolumner. 

      Om hela kolumn 9 skall reserveras f|r text, byts
      AA00...AC02  ovan ut mot  AA01...AC02.  D} |vriga rutor {r
      fyllda med  "0"  raderas ruta  AA00. 

      P} samma s{tt kan man spara |versta raden f|r text genom
      att repetera  AA00 till AB01...AC02. Kalkyleringen sker i
      ordning rader - kolumner. Detta inneb{r att v{rden som
      skall anropas av en ruta m}ste finnas i en ruta som passe-
      rats. 

      Hj{lptext sammanst{lld av 105 S-] Abrahamsson 
      Modifierad 1985-04 av 2776 Bengt Sandgren 
      Modifierad 1985-10 f|r ABC800 av 5786 John Amsberg 
