.OP
.PL 66
















                  programmnoe obespe~enie p|wm robotron 1715


                 sistema  uprawleniq  bazami  dannyh   "rebus"



                          rukowodstwo programmista


                         101.2341987.00102-01 33 01


                           NA  MAGNITNOM NOSITELE
                       

                                 LISTOW 86
                    














                          1987
                                              
                                           LITERA
.PA
                                     aNNOTACIQ


     nASTOQ]Iʠ DOKUMENԠ SODERVIԠ SWEDENIQ NEOBHODIMY 
PROGRAMMISTՠ PRɠ RABOT  RELQCIONNOʠ SISTEMOʠ UPRAWLENI 
BAZAM DANNY "rebus" sISTEM "rebus RABOTAE N MIKRO-\W 
rOBOTROΠ 171 PO UPRAWLENIE OPERACIONNO SISTEM SCP ɠ N 
SOWMESTIMY MIKRO-\WM NAPRIME sm-1800.

       DANNO DOKUMENT ISPOLXZOWAN MATERIALY
 e.m dMITRIENK  wck s tOMSKO OBLAST ).

 dAT REDAKCI DOKUMENT - APREL 198 GODA.
.PA


                                    sODERVANIE


 1 iSPOLXZOWANI "rebus"........................5

 2 sISTEMNY TREBOWANIQ.........................7

 3 fAJL "rebus"................................8

    3.1 fAJL BAZY..............................8
    3.2 fAJL HRANENI SODERVIMOG PAMQTI.......9
    3.3 kOMANDNY FAJLY.........................9
    3.4 fAJL FORMATO OT^ETOW.................10
    3.5 wYHODNY TEKSTOWY FAJLY...............10
    3.6 iNDEKSNY FAJLY........................10
    3.7 fORMATNY FAJLY........................10

 4 wYRAVENIQ...................................12

    4.1 fUNKCII................................12
    4.2 oPERACII...............................16

 5 mAKROPODSTANOWKI............................18

 6 iNTERFEJ  NE-"rebus"-PROCESSORAMI.........19

 7 kLASS KOMAND...............................20

 8 pOLNO\KRANNY OPERACII......................23

 9 kOMANDY.....................................25

    9.1 oBOZNA^ENIQ............................25
    9.2 pRAWIL RABOTY.........................26

 10 sORTIROWK P RUSSKOM ALFAWITU............64

 11 pROGRAMM  "rebus/|kran"...................65

 12 fUNKCIONALXNY  ANALOGI....................74

    pRILOVENI 1 fUNKCI "rebus"...............75

    pRILOVENI 2 kOMAND "rebus"...............76

    pRILOVENI 3 sWODK KOMAN P FUNKCIQM.....81

    pRILOVENI 4 oGRANI^ENIQ...................84

    pRILOVENI 5 dOPOLNITELXNY DANNYE.........85
.PA  
.HE               101.2341987.00102-01 33 01
.FO                          #
.PN 5
                 1 iSPOLXZOWANI "rebus"


     ~TOB WOSPOLXZOWATXS subd "rebus" POSTAWXT DISKET  
NEʠ נ  DISKOWOD  sDELAJTE \TOԠ DISKOWOĠ UMAL^IWAEMY  
USTROJSTWO͠ (T.E ESLɠ  DIS STAWITS N USTROJSTWϠ "b" 
NABERIT "b:", NAVMIT <et  NABERITE:
  
      rebus


      pROGRAMM ZAGRUZITS  PAMQT  WYDAS ZAPROS:

      wwedit dat il <et>
      (dd/mm/gg):

      |T DAT BUDEԠ HRANITXSѠ נ L@BOʠ BAZŠ  ɠ  BUDE  
PE^ATXSѠ  KAVDO OT^ET  wMEST SLE[  MOVN ISPOLXZOWAT 
L@BO SPECSIMWOL nAPRIMER:

      1,1,81
      0 0 82
      3/17/83

      zATE PE^ATAETS SOOB]ENIE:

      ** sub "rebus   11.1986   som b.a.
      wwedit 'HELP  'HEL rebus il komandu.
      .

           tO^K נ TRETXEʠ STROKŠ QWLQETSѠ PODSKAZKO 
"rebus" OZNA^AQ ^T "rebus GOTOW PRINQT KOMANDU  CELO 
KOMAND٠ "rebus QWLQ@TS IMPERATIWNYMI Z GLAGOLO SLEDU@  
FRAZY  KOTORY KONKRETIZIRU@ DEJSTWIE "rebus" PREVD ^E 
WYPOLNQT KOMAND SKANIRUE WS STROKU eSLɠ OBNARUVIWAETS 
O[IBKA "rebus SOOB]AE O \TOM  OB]E SLU^A POLXZOWATEL 
KORREKTIRUEԠ O[IBO^NU KOMANDU  N NABIRAEԠ EŠ ZANOW 
CELIKOM eSL  "rebu "OBNARUVIWAE O[IBKU KOTORU NELXZ 
OPISATؠ TO^NO ON PREDPOLAGAEԠ SINTAKSI^ESKU O[IBKՠ  
OTOBRAVAEԠ O[IBO^NU STROKՠ  POMETKO WOPROSO͠ נ NA^AL 
NEKORREKTNO FRAZY.

      pRIMER O[IBOK:

       DISPRA MEMORY
      ** neizwestnaq komanda
      DISPRA MEMORY                \H O[IBO^NO KOMANDY
      skorrektirowatx i powtoritx       da KORREKTIROWATX
      staroe zna~enie :PR           IZMENIT BUKW "PR"
      nowoe zna~enie  :PL           N "PL"
      DISPLA MEMOR                POSL IZMENENIQ
      e}e korrekcii <et               <et  BOLX[ NE IZ-
                                        MENENIJ

      . STOR (2+ T X
      ** sintaksi~eskaq o{ibka ***
                                      POME^EN STROK (2+2
      STOR (2+ T X
      skorrektirowatx i powtoritx? u
      staroe zna~enie :+2
      nowoe zna~enie :+2)
      STOR (2+2 T X
       
        e}e   korrekcii? Π         ΠBOLX[ŠNE IZMENENIJ
        4

         SU T X
      dlq 'SUM net wyraveniq          SOOB]ENIE
      SU T X
      skorrektirowatx i powto-
      ritx Π                NE KORREKTIROWKI,
                                     TERMINACI \TO KOMANDY.

           pROGRAMMA MOVET BYTX TAKVE WYPOLNENA SLEDU@]IM OBRAZOM:

                rebus <imq fajla>

           |TϠ ZNA^IT ^TϠ "rebus BUDEԠ ZAGRUVEN נ PAMQTX 
OTKROEԠ KOMANDNYʠ FAJ̠ <imq fajla>. CMD ɠ NA^NEԠ EG 
WYPOLNQTX |T FORM POLEZN DL ISPOLXZOWANIѠ "rebus  
SUBMIT-FAJLŠ ILɠ PR ISPOLXZOWANI OPCI SCEPLENIѠ KOMAND 
QUIT.
      pRɠ WWODŠ KOOMANĠ "rebus MOGUԠ BYTؠ ISPOLXZOWAN 
SLEDU@]IE UPRAWLQ@]I SIMWOLY:

      ^P                 - \HO-PE^AT (PEREKL@^ATELX)
      ^U                 - UNI^TOVIT TEKU]U STROKU
      ^X                 - UNI^TOVIT TEKU]U STROK (KROM 
                           REVIM POLNO\KRANNOG REDAKTIRO-
                           WANIQ)
      <DEL             - UNI^TOVITؠ POSLEDNIʠ WWEDENNY 
                           SIMWOL
            ^N (ILI [AG NAZAD) - UNI^TOVITX  POSLEDNIJ WWEDENNYJ
                                      SIMWOL
             <ESC>             - WYHOD IZ NEKOTORYH DOLGOS^ITA@]IH 
                                      KOMAND, A IMENNO: DISPLAY, COUNT, 
                                      DELETE, INPUT, LIST, LOCATE, RECALL, 
                                      REPLASE, SKIP, SUM; ESC TAKVE DAET 
                                      WYHOD IZ ACCEPT, INPUT, REPORT (DIA-
                                      LOGOWYH  WAIT w WSE SLU^AQ 
                           <ESC WOZWRA]AEԠ UPRAWLENIŠ  
                           INTERAKTIWNOMU MONITOR ɠ WYDAE 
                           TO^KU-PODSKAZKU.
                                         pRɠ ISPOLNENIɠ KOMANDNOGϠ FAJL 
                           "rebus  PROWERQEԠ ESC SIMWO 
                           PERE OBRABOTKO   KAVDO KOMANDNOJ 
                           STROKI.
                                      wOZMOVNOSTX WYHODA MOVET BYTX WYKL@-
                                      ^ENA KOMANDOJ SET ESCAPE OFF.

      2   sISTEMNY TREBOWANIQ

      p|wm N KOTOROʠ WYPOLNQETSѠ "rebus DOLVN IMET 
SLEDU@]I HARAKTERISTIK :

           1 mIKROPROCESSOR ANALOGI^NY 808 ILɠ Z80 NAPRIMER 
U880.

           2 48K (IL BOLEE  OPERATIWNO  PAMQT   WKL@^A  SCP
 ("rebus ISPOLXZUE PAMQT D ADRES a40 ).

     3  oPERACIONNA SISTEM SCP ;
           4oDNϠ ILɠ NESKOLXKϠ USTROJSTנ  WNE[NEʠ PAMQTI 
RABOTA@]IȠ PO SCP (OBY^N FLOPP DISKI ILɠ WIN^ESTERSKI 
DISK);

           5 dISPLE  ADRESUEMY KURSORO (VELATELXN 2 STROK  
8 STOLBCOW);

           6) vELATELEN PRINTER (DLQ NEKOTORYH KOMAND).
.PA


           3.   fAJLY "rebus"


           wOOB] FAJ EST SOWOKUPNOST INFORMACII RASPOLOVENNO 
N DISKE KOTORAѠ SODERVIԠ POLXZOWATELXSKIŠ DANNYE 
iNFORMACIѠ MOVEԠ ZAPOMINATXSѠ  FAJL ILɠ IZWLEKATXSѠ I 
NEGO fAJL MOVN SGRUPPIROWAT P [EST  TIPAM  KAVDY  I  
KOTORY SWQZA  OTDELXNO OPERACIE "rebus".

         wS FAJL "rebus - STANDARTNY FAJL SCP  IMENAM D  
SIMWOLO   TIPO FAJL I TRE SIMWOLOW nIVŠ PERE^ISLEN 
TIP٠ FAJLOנ PϠ UMOL^ANI@ ISPOLXZUEMYŠ נ "rebus"  dL  
KAVDO KOMANDY KOTORA IMEE DOSTU  FAJLU POL TIP MOVE 
OTSUTSTWOWATX TOGD "rebus PRINIMAE ZNA^ENI POL TIP P 
UMOL^ANI DL DANNO KOMANDY nAPRIMER ESL FAJ BAZ UV 
IMEE TI DBF T NE NEOBHODIMOST UKAZYWAT EG  נ  L@BO  
I KOMAN MANIPULQCI FAJLOM.

           fAJLY     BAZY                              - .DBF
           fAJLY HRANENIQ SODERVIMOGO PAMQTI           - .MEM
           kOMANDNYE FAJLY                             - .CMD
           fAJLY FORMATOW OT^ETOW                      - .FRM
           tEKSTOWYE WYHODNYE FAJLY                    - .TXT
           iNDEKSNYE FAJLY                             - .NDX
           fORMATNYE FAJLY                             - .FMT


           3.1. fAJLY BAZY


       
     fAJL٠ BAZ SODERVA STRUKTURNU ZAPIS  O  DϠ 6553 
ZAPISEʠ DANNYH sTRUKTURNAѠ ZAPIS EST נ SU]NOSTɠ SHEM 
FORMAT ZAPISɠ DANNYH sTRUKTUR MOVEԠ SODERVATؠ DϠ 3  
RAZLI^NYȠ \LEMENTOW kAVDY \LEMEN   STRUKTUR  UKAZYWAE  
N POLŠ DANNYȠ נ ZAPISQȠ DANNYH sTRUKTUR  SODERVI  
SLEDU@]I DANNYE:

           IMENA POLEJ DANNYH;
                 TIPY DANNYH W POLQH DANNYH;
                 DLINY POLEJ DANNYH;
                 POZICI@ DANNYH W ZAPISQH.

           3.1.1. iMQ POLQ DANNYH

           iM D 1 SIMWOLO DLINY iMEN ALFAWITNOCIFROWY (PL@ 
DWOETO^IE P PRIRODE oDNAK POL MOGU NA^INATXS   BUKW 
 DWOETO^I DOLVN BYT  SEREDIN IMENI.
 
          pRIMERY:

      A
          A123456789
    ABW:GDE
          A:B:W:G:D
          ABWG:         NEWERNO, DWOETO^IE NE W SEREDINE
          ABW,GDE       NEWERNO, ZAPQTAQ NE DOPUSTIMA
           
     3.1.2. tIP DANNYH


           dOPUSTIM  TIP DANNYH STROK SIMWOLO ('ABWG') ^ISL 
( IL 5.18) LOGI^ESKI DANNY (ISTINA/LOVX).


           3.1.3. dLINA POLQ


           |T ^ISL POZICI ([IRINA) NEOBHODIMY DL  SOHRANENI 
DANNYH sIMWOLXNY  ^ISLOWY POL MOGU BYT O    D  25 
POZICIʠ DLINNOJ  NEGϠ DLѠ ^ISE̠ DOLVN WKL@^ATXS 
DESQTI^NA TO^KA lOGI^ESKI POL WSEGD SODERVA  POZICI@.


           3.2. fAJLY HRANENIQ SODERVIMOGO PAMQTI (.MEM)


           |TϠ STATI^ESKIŠ FAJL נ OPERATIWNOʠ PAMQTI KOTORY 
RAZBIWA@TS  N PEREMENNY NAPODOBI PEREMENNY ZAPISEJ |T 
PEREMENNYŠ NAZYWA@TS PEREMENNYM PAMQT  OGRANI^EN ^ISLO 
64.
 
           zNA^ENI PEREMENNY PAMQT N ZAWISI  OԠ  ISPOLXZUEMO 
BAZY T.E POZICI  ZAPIS ISPOLXZUEMOG  FAJL  N  IMEE 
NI^EG OB]EG  PEREMENNYM FAJL  PAMQTI pEREMENNY PAMQT 
ISPOLXZU@TS DL HRANENI KONSTANT REZULXTATO  WY^ISLENIJ 
DLѠ PODSTANOWKɠ STROˠ (S͠ RAZDE̠ 5 ɠ T.D. pRAWIL 
NAIMENOWANIQ PE^ATɠ ɠ RAZMEROנ  PEREMENNYȠ  PAMQT  
IDENTI^N٠ PRAWILA͠ DL PEREMENNYȠ POLEJ OPISANNYȠ WY[E 
     kOMAND  SAVE BUDE ZAPISYWAT WSŠ TEKU]IŠ PEREMENNY  
PAMQTɠ    DISKOWY FAJL  KOMAND RESTORE BUDE ^ITAT I 
OBRATNO.


           3.3. kOMANDNYE FAJLY


           kOMANDNY FAJ  SODERVI  POSLEDOWATELXNOSTؠ  KOMANDNY 
STROˠ "rebus" |TϠ DAEԠ WOZMOVNOSTؠ  HRANITؠ  MNOVESTW  
^ASTϠ ISPOLXZUEMYȠ POSLEDOWATELXNOSTEʠ KOMAND  KOTORY  
POZWOLQ@ LEGK MANIPULIROWAT  FAJLAM BAZY.

           kOMANDNY FAJL MOGU SOZDAWATXS  MODIFICIROWATXSѠ   
POMO]X REDAKTOR TEKSTO I/IL PROCESSOR OBRABOTK TEKSTOW 
ODNAKϠ SAM "rebus IMEE WOZMOVNOSTؠ  SOZDAWATX/REDAKTIRO
WATؠ KOMANDNYŠ FAJL  POMO]X KOMAND٠ MODIFY kOMANDNY 
FAJL٠ NA^INA@TS  KOMAND DO  MOGU SODERVAT L@BU rebus-
KOMANDU ODNAKϠ SLEDUEԠ ZAMETITX ^TϠ NEKOTORYŠ KOMAND  (CREATE INSERT APPENĠ (WWODIMY Ӡ KLAWIATURY) TREBU@ 
WHODNYȠ DANNYȠ O POLXZOWATEL WNŠ SODERVIMOGϠ KOMANDNOG 
FAJLA.

           kOMANDNYŠ FAJL٠ MOGUԠ BYTؠ WLOVENNYMI T.E MOGU 
SODERVAT KOMAND DO."rebus POZWOLQE OTKRYWAT ODNOWREMENN 
DϠ 1 FAJLOW sLEDOWATELXNO ESL FAJ̠ ISPOLXZUETSQ T 
TOLXKϠ 1 FAJLO MOGU BYTؠ WLOVENNYMI nEKOTORYŠ KOMAND 
TAKVŠ ISPOLXZU@Ԡ RABO^I FAJL (NAPRIME SORT ISPOLXZUEԠ  
DOPOLNITELXNY  FAJLA REPORT INSERT COPY SAVE RESTOR  
PACK ISPOLXZU@   DOPOLNITELXNY FAJL)  ^ASTNOSTI ESL 
KOMAND SORT ISPOLXZUETS N NIVNE UROWN P WLOVENNOSTI T 
TOLXK 1 UROWNE KOMANDNY FAJLO MOGU ISPOLXZOWATXS (T.E  
ISPOLXZUEMYʠ FAJL  SORT-RABO^IȠ FAJL ɠ 1 KOMANDNY  
FAJLOנ    16)  wSQKIʠ RAZ KA KOMANDNYʠ FAJ̠ WYDAE 
KOMAND RETURN IL WSTRE^AETS KONE FAJLA T KOMANDNY FAJ 
ZAKRYWAETS  EG  RESURS PREDOSTAWLQ@TS DL DRUGI KOMAND.


           3.4. fAJLY FORMATOW OT^ETOW (.FRM)

           kOMAND REPORԠ ILɠ  GENERIRUEԠ  FAJ̠  OT^ETOנ  IL  
ISPOLXZUEԠ SU]ESTWU@]Iʠ   FAJ̠  OT^ETOW fAJ̠  OT^ETO  
SODERVIԠ INSTRUKCIɠ    GENERATOR OT^ETOנ DLѠ ZAGLAWIJ 
ZAGOLOWKOW ITOGOWYȠ [APO  SODERVIMOGϠ STOLBCOW  fAJL   
OT^ETOנ STROQTSѠ "rebus W WREMѠ DIALOG WNUTRɠ KOMAND  
RERORT  oNɠ MOGUԠ MODIFICIROWATXSѠ REDAKTORAMɠ TEKSTOW 
ODNAK OBY^N LEGK OPREDELIT NOWU FORM OT^ET SNOWA.


           3.5. wYHODNYE TEKSTOWYE FAJLY (.tht)


           wYHODNY TEKSTOWY FAJL SOZDA@TSQ  KOGD  UKAZYWA@TS 
KOMAND٠ "SE ALTERNAT T <IM FAJLA>  "SE ALTERNAT ON" 
pODROBNOST OPISAN  KOMAND SET  kOMAND  COPY    APPEND 
PREDPOLAGA@ TEKSTOWY (.tht FAJL ESL ISPOLXZUETS  OPCI 
SDƠ (STANDARĠ DAT FORMAT -STANDARTNY FORMAԠ DANNYH IL 
DELIMITED.


           3.6. iNDEKSNYE FAJLY (.NDX)


            iNDEKSNYŠ FAJL٠ GENERIRU@TSѠ KOMANDOʠ INDEX oN 
SODERVAԠ KL@^ɠ ɠ UKAZATELɠ N ZAPISɠ FAJL BAZY  
iNDEKSIROWANIŠ  "rebus - \T TEHNIKA DA@]AѠ WOZMOVNOST 
BYSTROʠ  LOKALIZACI DANNY  BOLX[IȠ BAZAH sM OPISANI 
KOMAND INDEX.


          3.7. fORMATNYE FAJLY (.FMT)


           fORMATNY FAJL SODERVA TOLXK "@"-UTWERVDENI  ɠ "*"- KOMMENTARII oN IDENTIFICIRU@TS KOMANDO  "SE  FORMA  TO 
<imq  fajla>  AKTIWIZIRU@TS POSLEDU@]IM  KOMANDAM  READ. 
pODOBNϠ KOMANDNY͠ FAJLA͠ (KOTORYŠ POHOVɠ N  FORMATNY  
FAJLY) FORMATNY FAJL MOGU SOZDAWATXS  MODIFICIROWATXS 
L@BY PROCESSORO OBRABOTK TEKSTO IL WOZMOVNOSTQM KOMAND  
MODIFY. fORMATNYŠ FAJLY ODNAKO NŠ  OBQZATELXNY  
     uTWERVDENI "@  "* OBY^N WSTRAIWA@TS  KOMANDNY FAJL.

     4.   wYRAVENIQ

           wYRAVENIѠ נ "rebus - \T GRUPP PROSTYȠ \LEMENTOנ  
OPERATOROW KOTORY MOGU WY^ISLQTXS DL FORMIROWANI NOWOG 
PROSTOG ZNA^ENIQ nAPRIMER "2+2 EST WYRAVENIE KOTORO  
WY^ISLQEԠ ZNA^ENI "4" wYRAVENI N OBQZATELXNϠ  ^ISLOWY  
PϠ PRIRODE wYRAVENIŠ 'AWS'+'DEF DAEԠ ZNA^ENIŠ 'AWSDEF  
(KONTKATENACIѠ STROK) ILɠ WYRAVENI 1> DAEԠ LOGI^ESKO 
(BULEWO ZNA^ENI "F (FALS - LOVX).

           wYRAVENIQ W "rebus" SOSTOQT IZ SLEDU@]IH KOMPONENT:

           pEREMENNYE BAZY;
           pEREMENNYE PAMQTI;
           kONSTANTY W KOMANDAH (LITERALY);
           fUNKCII;
           oPERACII.

           pEREMENNAѠ נ "rebus - \TϠ L@BOŠ  POLŠ  DANNYH  
ZNA^ENIŠ KOTOROGϠ MOVN IZMENQTX iMEN POLEʠ נ TEKU]E 
ZAPIS  FAJL BAZ DANNY QWLQ@TS PEREMENNYMI i SODERVANI 
MOVNϠ IZMENQT, PEREDWIGAѠ UKAZATEL FAJL ILɠ REDAKTIRU  
TEKU]U  ZAPISX pEREMENNYŠ TAKV SOZDA@TSѠ ɠ IZMENQ@TS 
KOMANDAM STORE RESTORE COUNT SUM WAIT ACCEPT INPUT 
tAKI PEREMENNY NAZYWA@TS PEREMENNYM PAMQTI.

           pEREMENNYE MOGUT BYTX TREH TIPOW:

       sTRO^NYE;
             ~ISLOWYE;
             lOGI^ESKIE.

           kONSTANT (IL LITERAL EST  \LEMEN  DANNYH  KOTORY 
IMEE  INWARIANTNOE SAMOOPREDELENNO ZNA^ENIE nAPRIME  1 
'AWS  .T EST KONSTANTY IME@]I POSTOQNNO ZNA^ENIE.

           sTRO^NYŠ KONSTANT٠ MOGUԠ ZAKL@^ATXSѠ נ  ODINARNY  
KAWY^Kɠ (') DWOJNYŠ KAWY^K (" IL נ KWADRATNYŠ SKOBK 
([,]) eSLɠ STRO^NAѠ KONSTANT SODERVIԠ ODIΠ Iڠ TAKI 
OGRANI^ITELEJ  TϠ ON DOLVN OKAJMLQTXSѠ DRUGIM 
OGRANI^ITELQMI 'AWS[DEF]GN' lOGI^ESKIŠ KONSTANT 
(TRUE/FALSŠ -ISTINA/LOVX PREDSTAWLQ@TS KA "t","u" (MOGU 
ISPOLXZOWATXSѠ MALENXKIŠ BUKWY DL  ISTIN٠ (TRUE YEӠ - 
ISTINA DA  "F" "N" (MOGU  ISPOLXZOWATXS MALENXKI BUKWY 
DL LV (FALSE N - LOVX NET).



           4.1. fUNKCII

          fUNKCIɠ ESTؠ OSOBYŠ OPERACII KOTORYŠ MOVN 
ISPOLXZOWATXSѠ  WYRAVENIQ DL SLU^AEW KOGD TRUDNϠ  IL  
NEWOZMOVNϠ  \T SDELAT  REGULQRNY WYRAVENIQH  "rebus 
SU]ESTWU@ TR  OSNOWNY TIP FUNKCIJ ^ISLOWYE SIMWOLXNY  
LOGI^ESKIE  tI FUNKCI OSNOWA N TIPŠ ZNA^ENIQ KOTORO 
WY^ISLQE FUNKCIQ.

           4.1.1. cELO^ISLENNAQ FUNKCIQ:

     INT<~islowoe wyravenie>)

           |T FUNKCI WY^ISLQE ^ISLOWO WYRAVENI   OTBRASYWAE 
DROBNU ^ASTX ^TOB POLU^IT CELO ^ISLO.

           pRIMERY:

       . ? INT(123.456)
         123
       . STORE 123.456 TO X
         123.456
       . ? INT(X)
           123
 

          4.1.2. fUNKCIQ NOMERA ZAPISI:

       #

           zNA^ENI E EST CELO  ^ISLO  SOOTWETSTWU@]E  NOMER 
TEKU]E ZAPISI.

       pRIMERY:

       . ? #
         4  (PREDPOLOVIM, ^TO ISPOLXZUEMAQ BAZA  POZICIONIROWANA
               NA ^ETWERTOJ ZAPISI)
       . SKIP
       . ? #
         5

           4.1.3. sTRO^NAQ FUNKCIQ:

           STR(<~islowoe wyravenie>,<dlina>,[<desqti~nye>])

           |T FUNKCI WY^ISLQE  ^ISLOWO  WYRAVENI  ɠ  POLU^AE 
STROK SIMWOLOW IME@]U DLIN  <dlina>  <desqti~nye  EST 
^ISLϠ CIF POSL DESQTI^NO TO^KI wS OPERAND MOGUԠ BYT 
LITERALAMI PEREMENNYMɠ IL WYRAVENIQMI eSL \T FUNKCI  
ISPOLXZUETS DL WY^ISLENI KL@^ PR INDEKSIROWANII T WS  
OPERAND DOLVN BYT LITERALAMI.

       pRIMERY:
 
 . ? STR(123.456,9,3)
         123.456
 

           4.1.4. fUNKCIQ PODSTROKI:

     $(<simwoli~. wyravenie>,<na~alo>,<dlina>)

           |T FUNKCI FORMIRUE SIMWOLXNU  STROK  I  UKAZANNO 
^ASTɠ DRUGOʠ STROKI zNA^ENIŠ FUNKCIɠ PODSTROKɠ EST  
SIMWOLXNAѠ STROK DLIN <dlina> ZAPOLNENNAѠ SIMWOLAMɠ I  
SIMWOLI^ESKOG WYRAVENI NA^INA  SIMWOL  NOMERO <na~alo 
DLѠ <dlina SIMWOLOW <na~alo ɠ <dlina MOGUԠ BYT 
LITERALAMI PEREMENNYM IL WYRAVENIQMI.

           eSL <dlina BOLX[ ^E <simwoli~ wyravenie IL  ESL 
<simwoli~. wyravenie KON^AETSѠ DϠ <dlina>+<na~alo> T 
REZULXTATO͠ BUDUԠ TOLXKϠ TŠ SIMWOLY KOTORYŠ ESTX sM  
PRIMERY eSLɠ FUNKCI ISPOLXZUETS DL POLU^ENI KL@^ PR 
INDEKSIROWANII T SPECIFIKATOR DOLVN BYT LITERALAMI.

           4.1.5. fUNKCIQ PEREWODA STROKI W ^ISLO:

           VAL(<simw. stroka>)

           |T FUNKCI FORMIRUE CELO ^ISL I SIMWOLXNO STROKI 
dLIN CELOG RAWN ^ISL SIMWOLO  STROKI  eSL  SIMWOLXNA 
STROK NA^INAETSѠ Ӡ CIFROWYȠ SIMWOLOנ ɠ DALEŠ SODERVI 
NECIFROWYŠ SIMWOLY T POLU^AEMO FUNKCIEʠ  VA̠  ZNA^ENI  
BUDE RAWN PRED[ESTWU@]I CIFROWY SIMWOLAM.

           dRUGOʠ PUT PREOBRAZOWANI CIFROWY SIMWOLO  CIFR٠ - 
ISPOLXZOWANI "& (SM RAZDE 5.  MAKROKOMAND)  "&  BUDE 
KONWERTIROWATؠ STROK  ^ISL  (WKL@^A  DESQTI^NU  TO^KU) 
ESL WSTRE^AETS PODSTANOWKA.

           4.1.6. fUNKCIQ DLINY:

           LEN(<simw. stroka>)

           wOZWRA]AE  CELOE  RAWNO  ^ISL  SIMWOLO  SIMWOLXNO 
STROKI.

           4.1.7. fUNKCIQ UDALENIQ ZAPISI:

           *

           |T LOGI^ESKA FUNKCIQ KOTORA IMEE ZNA^ENI  .TRUE., 
ESL TEKU]A ZAPIS POME^EN N UDALENIE INA^ - .FALSE..

           4.1.8. fUNKCIQ KONCA FAJLA:

           EOF

           |T LOGI^ESKA FUNKCIQ IME@]A ZNA^ENI  .TRUE.  ESLI
DOSTIGNU KONE ISPOLXZUEMOG FAJL  (TEKU]A  ZAPIS  BUDE 
POSLEDNE ZAPISX  BAZE).

     4.1.9. fUNKCIQ POISKA PODSTROKI:

       @(<simw. stroka1>,<simw. stroka2>)

           |T FUNKCI DAE CELO ^ISLO  ZNA^ENI  KOTOROG  EST 
^ISLϠ SIMWOLOנ נ <simw stroka2> SOWPADA@]IȠ Ӡ <simw 
stroka1> eSL stroka N SODERVITS  stroke2 T FUNKCI @ 
DAEԠ 0 fUNKCIѠ @ PODOBN OPERATORՠ PODSTROKɠ  Z 
ISKL@^ENIE͠TOGO, ^T ON SOOB]AET GD PERWA  STROK  BYL  
NAJDEN  W WTORO STROKE  MOVE NAZYWATXS "gde stroka w 
stroke2".

     4.1.10. fUNKCIQ MALENXKIH SIMWOLOW:

     !(<stro~noe wyravenie>)

     |T FUNKCI DAE T V STROKU N TOLXK WS  MALENXKI 
BUKW PEREWODQTS  BOLX[IE.

     4.1.11. fUNKCIQ PEREWODA ^ISLA W SIMWOLY:

           CHR(<~isl. wyravenie>)

     |T FUNKCIѠ DAEԠ koi-7-\KWIWALENԠ DLѠ ^ISLOWOG 
WYRAVENIѠ oN POLEZNA KOGD POLXZOWATELؠ VELAEԠ POSLAT 
UPRAWLQ@]I SIMWOL N USTROJSTWO ^A] WSEG PRINTER.

           4.1.12. fUNKCIQ DATY:

     DATE()

           oN GENERIRUEԠ SIMWOLXNU STROKU SODERVA]U DATՠ  
FORMAT mm/dd/gg e DLIN WSEGD 8 mEVD SKOBKAMɠ NI^EG  
N STAWITSQ.

           4.1.13. fUNKCIQ FAJLA:

           FILE(<stro~noe wyravenie>)

     |T LOGI^ESKA  FUNKCI  IMEE  ZNA^ENI  .TRUE.  ESL 
<stro~noe wyravenie SU[ESTWUET  .FALSE., ESL NET.

     4.1.14. fUNKCIQ TIPA:


     TYPE(<wyravenie>)

           |T FUNKCI DAE ODNOSIMWOLXNU STROKU SODERVA]U  TI 
WYRAVENIQ 'C' 'N ILɠ 'L - SIMWOLXNOE ^ISLOWOŠ IL 
LOGI^ESKO SOOTWETSTWENNO.



           4.1.15. TRIM-funkciq:

           TRIM(<simw.stroka>)

           |T FUNKCIѠ UBIRAEԠ PROBEL٠ נ KONCŠ POLQ oBY^N  
"rebus DAE KONE^NY PROBEL DL WSEȠ  PEREMENNYH  ^TOB  
IZBEVAT PROBLEM WYRAWNIWANI STOLBCO N \KRANE.

          e NELXZ ISPOLXZOWAT  KOMAND INDEX, T.K DLIN KL@^ 
DOLVN BYT WY^ISLIM DL "rebus".

     4.2. oPERACII

           sU]ESTWU@  OSNOWNY  TIP  OPERACIJ  ARIFMETI^ESKIE 
SRAWNENIQ LOGI^ESKI  STRO^NYE nIV PERE^ISLENN OPERACI 
 PRIMERY.

           nEOBHODIM POMNITX ^T  BINARNY  OPERACIQ  OPERAND 
DOLVN BYT ODNOG TIPA.

           4.2.1. aRIFMETI^ESKIE OPERATORY:

       +  SLOVENIE
             -  WY^ITANIE
             *  UMNOVENIE
             /  DELENIE
             ()  SKOBKI DLQ GRUPPIROWKI

     4.2.2. oPERACII SRAWNENIQ:

     <  MENX[E
           >  BOLX[E
           =  RAWNO
           ^  NE RAWNO
           <= MENX[E ILI RAWNO
           >= BOLX[E ILI RAWNO
           $  OPERATOR PODSTROKI (SODERVITSQ LI PODSTROKA W DRUGOJ
                 STROKE)

     4.2.3. lOGI^ESKIE OPERATORY:

     .OR.  ILI
           .AND. I
           .NOT. NET (UNARNYJ OPERATOR)

           4.2.4. sTROKOWYE OPERATORY:

     +  KONKATENACIQ
           -  KONKATENACIQ S UNI^TOVENIEM PROBELOW W MESTE STYKA

     4.2.5. pORQDOK WYPOLNENIQ

            NIVEPRIWEDENNO  TABLIC  UKAZA  PORQDO  WYPOLNENI OPERATOROנ TREȠ KLASSOW ~EREڠ ZAPQTU PRIWEDEΠ PORQDO  
WYPOLNENI WNUTR PODKLASSA.


 ------------------------------------------------------------
 !                      !                     !             !
  !    ARIFMETI^ESKIE    !      STROKOWYE      ! LOGI^ESKIE  !
  !                      !                     !             !
  !----------------------------------------------------------!
  !                      !                     !             !
  ! 1) SKOBKI, FUNKCII   !  SKOBKI, FUNKCII    !   .NOT.     !
  !                      !                     !             !
  ! 2) UNARNYE +, -      !  OTNO[ENIQ, $(...)  !   .AND.     !
  !                      !                     !             !
  ! 3) *, /              !  +, - (KONKATENACII)!   .OR.      !
  !                      !                     !             !
  ! 4) +, -              !                     !             !
  !                      !                     !             !
  ! 5) OTNO[ENIQ         !                     !             !
  ------------------------------------------------------------

.PA


           5.   mAKRO-PODSTANOWKI


           kAVDY RAZ KA  KOMAND WSTRE^AETS AMPERSAN (&) Z 
KOTORY͠ SLEDUEԠ IMѠ STRO^NOʠ PEREMENNOʠ PAMQTI "rebus  
ZAMENQEԠ IȠ SODERVIMO N SODERVIMOŠ STRO^NOʠ PEREMENNO 
PAMQTI |T POZWOLQE OPREDELIT NEKOTORY FRAGMENT KOMAND 
mAKROS٠  POLEZN٠ DL ^AST ISPOLXZUEMY SLOVNYȠ WYRAVENIJ 
oN TAKV POZWOLQ@ ORGANIZOWAT PEREDA^  PARAMETRO  WNUTR  
CEPO^Kɠ WLOVENNY KOMANDNY FAJLOW wS SIMWOL MEVDՠ    
SLEDU@]I͠ SPECSIMWOLO͠ (WKL@^A PROBEL  S^ITA@TSѠ  IMENE  
PEREMENNOʠ PAMQTI eSLɠ POLXZOWATEL NUVNϠ DOBAWITؠ  
SIMWOLI^ESKOʠ PODSTANOWK SIMWOLY T IM PEREMENNO PAMQT 
DOLVNϠ BYT  OGRANI^EN TO^KOJ oN BUDE UDALEN WϠ WREM 
PODSTANOWKI.

      pRIMERY:

. ACCEPT "wwedi simwoly diska" to DR
      USE &DR:DATAFILE

     wϠ WREM WYPOLNENI BUDE US B:DATAFILE, ESL נ OTWE 
N ACCEP BYL WWEDEN "b".

       . STORE 'DELETE RECORD ' TO T
  &t 5

       wO WREMQ WYPOLNENIQ BUDET DELETE RECORD 5.
.PA


     6.   iNTERFEJS S NE-"rebus"-PROCESSORAMI


          "rebus MOVE ^ITAT DANNY I FAJLOW SOZDANNY DRUGIM 
PROCESSORAMɠ (NAPR. BASIC FORTRAN PASCAL ɠ MOVE 
GENERIROWAT FAJLY KOTORY WOSPRINIMA@ DRUGIŠ PROCESSORY 
kOMANDA APPENĠ IMEE WOZMOVNOST ^ITAT STANDARTNYŠ koi-7-
TEKSTOWY FAJL (ISPOLXZU SOGLA[ENI SCP  STROK TEKSTA Z 
KOTOROʠ SLEDUEԠ SIMWOL٠ WOZWRAT KARETKɠ ɠ WWOD STROK  
(LINŠ FEED)) UKAZYWAѠ OPCI SD (SYSTE͠ DAT FORMAT-    
SISTEMNYʠ FORMA   DANNY )     pODOBNY͠ OBRAZO͠ KOMAND 
COP٠ GENERIRUEԠ STANDARTNYŠ koi-7- FORMATNYŠ FAJLY ESL 
UKAZAN  OPCIQ SDF; ESL NŠ UKAZANOTIР SOZDAWAEMOGϠ  
OPCIQM SDF  DELIMITE FAJL BUDE .tht.

           nEKOTORYŠ PROCESSOR  QZYK ^ITA@    PI[U  FAJL   
FORMAT  RAZDELITELQMI  NE WS POL RAZDELEN ZAPQTYMI  
SIMWOLXNYŠ STROKɠ ZAKL@^EN٠ נ KAWY^KI "rebus MOVE 
DOBAWLQTؠ (APPEND  KOPIROWAT (COPY \Tɠ FAJLY ESLɠ  
KOMANDA UKAZAN KL@^EWO SLOW DELIMITED kOGD ISPOLXZUETS 
WOZMOVNOST DELIMITED, PREDPOLAGAETS OPCI SDF.

           tAˠ KAˠ NEKOTORYŠ PROCESSOR٠ ISPOLXZU@Ԡ ODINARNY 
KAWY^KI  DRUGI - DWOJNYE T APPEND BUDE WOSPRINIMAT OB 
SLU^AQ kOMANDA"COPY OBY^N GENERIRUE ODINARNYŠ KAWY^KI  
N  BUDE WYWODIT L@BO SIMWOL KOTORY OPREDELE   POMO]X  
WITH   PREDLOVENI DELIMITED.

           oSOBY SLU^AJ ESL ", ISPOLXZUETS   WITH DL  COPY. 
wS KONE^NY PROBEL  SIMWOLXNY STROKA  NA^ALXNY PROBEL 
נ ^ISLAȠ UBIRA@TSQ T.E SIMWOLXNYŠ STROKɠ NŠ BUDU  
ZAKL@^ATXS N  KAWY^K, N  DRUGI SIMWOLY.

     pRIMERY:

.USE <imq fajla>.DBF
      .COPY TO <imq fajla>.TXT DELIMITED WITH "

.US <imq fajla>.DBF
.APPEN FRO <imq fajla>.DA SDF
.PA

                        7. kLASSY KOMAND


           pRɠ OBY^NO͠ ISPOLXZOWANIɠ "rebus DLѠ WYPOLNENI  
TREBUEMY ZADA UPOTREBLQ@TS RAZLI^NY KOMANDY tAKI GRUPP 
PRIWEDEN٠ NIVE nEKOTORYŠ "rebus"-KOMAND٠ OTOBRAVA@ 
STRUKTURNYŠ KONSTRUKCII UPOTREBLQEMYŠ WϠ MNOGI  
"SOWREMENNYH  QZYKAH tAKIŠ KOMAND٠ WHODQԠ נ KLAS  
"KOMANDNY  FAJL" sU]ESTWU@ NEKOTORY SPECIALXNYŠ PRAWIL 
DL ISPOLXZOWANI TAKI KOMAN (S RAZDE  9. ).

           sOZDANIE FAJLOW:

       CREATE  - SOZDATX NOWU@ STRUKTURU BAZY;
       COPY    - KOPIROWATX SU]ESTWU@]U@ BAZU;
       MODIFY  - IZMENITX STRUKTURU BAZY;
       REPORT  - SOZDATX FAJL FORMY OT^ETA;
       SAVE    - KOPIROWATX PEREMENNYE NA DISKETU;
       INDEX   - SOZDATX INDEKSNYJ FAJL;
       REINDEX - OBNOWITX STARYJ INDEKSNYJ FAJL;
       JOIN    - WYWESTI OBXEDINENIE DWUH BAZ;
       TOTAL   - WYWESTI WSE ZAPISI BAZY.

     dOBAWLENIE DANNYH:

       APPEND - DOBAWITX DANNYE W KONEC BAZY;
       CREATE - DOBAWITX DANNYE PRI SOZDANII BAZY;
       INSERT - WSTAWITX DANNYE W BAZU.

     rEDAKTIROWANIE DANNYH:

       CHANGE  - REDAKTIROWANIE STOLBCOW DANNYH;
       BROWSE  - POLNO\KRANNOE OKNO DLQ PROSMOTRA I  REDAKTIRO-
                      WANIQ DANNYH;
       DELETE  - POMETITX ZAPISI DLQ UDALENIQ;
       EDIT    - IZMENITX DANNYE W UKAZANNYH POLQH BAZY;
       PACK    - UDALQET ZAPISI, POME^ENNYE NA UDALENIE;
       RECALL  - UBIRAET POMETKI NA UDALENIE;
       REPLACE - ZAME]AET DANNYE W POLQH;
       READ    - ZAME]AET DANNYE IZ  OPREDELENNOGO  POLXZOWATELEM
                      POLNOGO \KRANA;
       UPDATE  - POZWOLQET SDELATX PAKETNYE IZMENENIQ BAZY.

     kOMANDY OTOBRAVENIQ DANNYH:

  @     - OTOBRAVAE FORMATIRUEMY  POLXZOWATELE͠  DANNY  
     N \KRAN IL PRINTERE;
        BROWSE - OTOBRAVAE D 1 ZAPISE  MAKSIMALXN  WOZMOVNY 
           DL \KRAN ^ISLO POLEJ;
        COUNT- PODS^EԠ ZAPISEJ UDOWLETWORQ@]IȠ NEKOTOROM 
           USLOWNOM WYRAVENI@;
  DISPLAY - OTOBRAVAET ZAPISI, POLQ I WYRAVENIQ;
        READ   - OTOBRAVAE DANNY  PODSKAZYWA@]U INFORMACI   
           POLNO\KRANNO REVIME;
  REPORT  - FORMATIROWANIE I OTOBRAVENIE OT^ETA DANNYH;
  SUM    - WY^ISLENI  OTOBRAVENI ITOG NEKOTOROG 
            WYRAVENI NA   GRUPPO DANNY BAZY;
        ?       - OTOBRAVAET SPISOK WYRAVENIJ.

       kOMANDY POZICIONIROWANIQ W BAZE:

        CONTINUE  - POZICIONIROWANIE NA SLEDU@]U@ ZAPISX S USLO-
                         WIQMI, UKAZANNYMI W KOMANDE LOCATE;
        FIND      - POZICIONIROWANIE NA ZAPISX, SOOTWETSTWU@]U@ 
                         KL@^U W INDEKSNYH FAJLAH;
        GOTO      - POZICIONIROWANIE NA OPREDELENNU@ ZAPISX;
        LOCATE    - NAJTI ZAPISX, UDOWLETWORQ@]U@ USLOWI@;
        SKIP      - POZICIONIROWANIE WPERED I NAZAD.

       kOMANDY RABOTY S FAJLAMI:

       APPEND   - ZAGRUZITؠ "rebus"-FAJL٠ ILɠ  FAJL٠    
     SISTEMNOM FORMATE (SDF);
       COPY   - KOPIROWATX BAZY ILI DRUGIE BAZY ILI SDF-FAJLY;
       DELETE - UNI^TOVITX FAJLY;
       DO     - UKAZYWAET KOMANDNYJ FAJL, IZ KOTOROGO BERUTSQ 
                     POSLEDU@]IE KOMANDY;
       RENAME - PEREIMENOWATX FAJLY;
       SELECT - PEREKL@^ENIE MEVDU ISPOLXZUEMYMI FAJLAMI;
       SORT   - SOZDATX KOPI@ BAZY, KOTORAQ SORTIRUETSQ PO  OD-
                     NOMU IZ POLEJ;
       USE    - UKAZYWAET FAJL  BAZY,  KOTORYJ  ISPOLXZUETSQ  DO
                     SLEDU@]EGO USE.

     kOMANDY RABOTY S PEREMENNYMI :

       ACCEPT  - ZAPOMINAET SIMWOLXNU@ STROKU W PEREMENNOJ;
       COUNT   - ZAPOMINAET S^ET^IKI W PEREMENNYH ;
       DISPLAY - MOVET OTOBRAVATX PEREMENNYE ;
       INPUT   - ZAPOMINAET WYRAVENIQ W PEREMENNYH ;
       RESTORE - POISK  SOWOKUPNOSTEJ  ZAPOMNENNYH  PEREMENNYH; 
       SAVE    - ZAPOMINAET PEREMENNYE  W FAJLE;
       STORE   - ZAPOMINAET WYRAVENIQ W PEREMENNYH ;
       SUM     - ZAPOMINAET SUMMY W PEREMENNYH ;
       WAIT    - ZAPOMINAET NAVATYE KLAWI[I  W PEREMENNYH.

    kOMANDY RABOTY S  KOMANDNYMI FAJLAMI:

       ACCEPT         - WWOD SIMWOLXNYH STROK W PEREMENNYE PAMQTI;
       CANCEL         - TERMINIRUET WYPOLNENIE KOMANDNOGO FAJLA;
       DO             - WYZOW KOMANDNOGO FAJLA NA ISPOLNENIE I 
                             WOZMOVNOSTؠ ORGANIZACIɠ STRUKTURNY 
        CIKLO  KOMANDNY FAJLAH;
       IF             - USLOWNOE WYPOLNENIE KOMAND;
       ELSE         - ALXTERNATIWNYʠ PUTؠ WYPOLNENIѠ KOMAN 
                      WNUTR IF;
       ENDDO          - TERMINATOR KOMANDY DO WHILE;
       ENDIF          - TERMINATOR KOMANDY IF;
       INPUT          - WWOD WYRAVENIJ W PEREMENNYE PAMQTI;
       LOOP           - PEREHOD NA NA^ALO DO WHILE;
       MODIFY COMMAND - REDAKTIROWANIE KOMANDNYH FAJLOW;
       RETURN         - KONEC KOMANDNOGO FAJLA;
       SET            - USTANAWLIWAET UPRAWLQ@]IE PARAMETRY "rebus";
       WAIT           - PRIOSTANAWLIWAET WYPOLNENIE KOMANDNOGO FAJLA.


      kOMANDY UPRAWLENIQ USTROJSTWAMI:

EJECT - PROPUS STRANIC N PRINTERE;
ERASE - O^ISTK \KRANA.
.PA


                8.   oPERACII POLNO\KRANNOGO REVIMA


           nIVE PERE^ISLENY UPRAWLQ@]IE SIMWOLY KURSOROM I  POLNYM
\KRANOM:
 
       ^E,A   -  NA PREDYDU]EE POLE DANNYH;
       ^X,F   -  NA SLEDU@]EE POLE DANNYH;
       ^S     -  NAZAD NA SIMWOL W POLE DANNYH;
       ^D     -  WPERED NA SIMWOL W POLE DANNYH;
       ^Y     -  ZA^ISTKA PROBELAMI TEKU]EGO POLQ DANNYH;
       ^V     -  PEREKL@^ATELX  MEVDU  REVIMAMI   ZAPISI  I
                      WSTAWKI;
       ^G     -  UNI^TOVITX SIMWOL POD KURSOROM;
       DEL    -  UNI^TOVITX SIMWOL SLEWA OT KURSORA;
 ^Q     -  TERMINACIQ POLNO\KRANNOGO REVIMA I WOZWRAT
                      W NORMALXNYJ REVIM  "rebus".  wSE  IZMENENIQ
                      PEREMENNYH BAZY TERMINIRU@TSQ.

                dLQ REVIMA EDIT:

       ^U     -  PEREKL@^ATELX DLQ TEKU]EJ ZAPISI MEVDU PO-
                      ME^ENNOJ NA UDALENIE I NE POME^ENNOJ;
       ^R     -  ZAPISX TEKU]EJ ZAPISI NA DISK I OTOBRAZITX
                      PREDYDU]U@ ZAPISX;
       ^C     -  ZAPISX TEKU]EJ ZAPISI I OTOBRAVENIE SLEDU@]EJ;
       ^W     -  ZAPISX TEKU]EJ ZAPISI I WYHOD NA  \KRANNYJ
                      REVIM KORREKTIROWKI.

     dLQ MODIFY:

^N     -  PEREDWINUTX  WSE  \LEMENTY  WNIZ,  POLU^IW
                         SWOBODNOE MESTO DLQ WSTAWKI NOWOGO POLQ;
       ^T     -  UDALENIE POLQ POD KURSOROM I PODWIVKA  NI-
                      VELEVA]IH POLEJ WWERH;
      ^C     -  SKROLLING POLEJ WNIZ;
      ^R     -  SKROLLING POLEJ WWERH;
      ^W     -  ZAPISؠ DANNYȠ N DIS ɠ PRODOLVENIŠ NORMALXNY 
           OPERACI ;
^Q     -  WYHOD BEZ SOHRANENIQ IZMENENIJ.

                w APPEND, CREATE I INSERT:

      ^C ILI -  ZAPISX TEKU]EJ ZAPISI I PEREHOD K  SLEDU@]EJ;
      ^R            

<et>    - WOZWRAT KARETKI, ESLI NET IZMENENIJ I KURSOR 
                     W  NA^ALXNOJ POZICII - TERMINACIQ OPERACII I  
                     PREDPOLOVENIE NORMALXNYH OPERACIJ "rebus".




       BROWSE:

      ^U     -  PEREKL@^ATEL DL TEKU]E ZAPIS MEVD PO-
          ME^ENNO N UDALENI  N POME^ENNOJ;
      ^R     -  ZAPIS TEKU]E ZAPIS  ^TENI PREDYDU]EJ;
      ^C     -  ZAPIS TEKU]E ZAPIS  ^TENI SLEDU@]EJ;
      ^W     -  ZAPIS TEKU]E ZAPIS  WYHO    \KRANNYJ
                     REVIM KORREKTIROWKI
      ^Z     -  PEREDWINUT OKN WLEW N ODN POLE;
^B     -  PEREDWINUT OKN WPRAW N ODN POLE.
.PA


                          9.   kOMANDY


     9.1. oOBOZNA^ENIQ


       <kOMANDY> ILI    - l@BOE WERNOE PREDLOVENIE "rebus"; TAK-
       <PREDLOVENIQ>      VE OZNA^AET POLNYE  PREDLOVENIQ.  IF
                               BEZ ENDIF(ILI DO WHILE BEZ ENDDO EST 
                    TOLXK POLOWIN PREDLOVENIQ  נ T 
         WREM KA REPORT EST POLNO PREDLOVENIE.
       <sIM.STROKA> ILI - l@BAQ SIMWOLXNAQ STROKA;  SIMWOLXNAQ
       <SSTROKA>          STROKA ESTX POSLEDOWATELXNOSTX  SIM-
                               WOLOW ZAKL@^ENNAѠ  ODINARNYŠ KAWY^K 
                    (') DWOJNYŠ KAWY^Kɠ ("  ILɠ   
                    KWADRATNY SKOBK ([,]).
 <oGRANI^ITELX   - l@BO SPECSIMWOL SPECSIMWOLAM  QWLQ@TS    
                    ZNAK    PREPINANI   TIPA "()"*,:.
       <wYR>            - wYRAVENIE; WYRAVENIE SOSTOIT IZ  ^I-
                               SEL, FUNKCIJ, IMEN POLEJ I  SIMWOLX-
                               NYH STROK, SOSTAWLENNYH W PROIZWOLX-
                               NOM PORQDKE: "4+S" I "DOS='3'.OR.DOS
                               ='4'", "$('ABC'+&COMESTR,N,#)='ABCDE
                               FG'".
       <sPIS.WYR>       - sPISOK WYRAVENIJ, RAZDELENNYH  ZAPQ-
                               TYMI;  OBY^NO  ISPOLXZU@TSQ  PROSTYE
                               WYRAVENIQ. wY[EPRIWEDENNYE 2 POSLED-
                               NIH WYRAVENIQ - SLOVNYE, A PERWOE  -
                               PROSTOE.
       <pOLE>           - iMQ POLQ ZAPISI.
       <sPIS.POLEJ> ILI - sPISOK IMEN POLEJ ZAPISEJ, RAZDELEN-
       <sPISOK>           NYH ZAPQTYMI.
       <fAJL> ILI       - iMQ FAJLA.
       <iMQ FAJLA>
       <fORMFAJL>       - iMQ FORMATNOGO FAJLA OT^ETA (SM. RA-
                               ZDEL 3.4 I KOMANDU REPORT).
       <iNDEKS FAJLA>   - iMQ INDEKSNOGO FAJLA.
       <kL@^>           - iMQ POLQ, KOTOROE BUDET INDEKSIROWA-
                               TXSQ. rAZNYE BAZY BUDUT IMETX  RAZ-
                               NYE INDEKSY. oDNA BAZA MOGUT IMETX NE-
                               SKOLXKO INDEKSOW. kL@^I MOGUT BYTX  <WYRA-
                               VENIE> ILI IMENA POLEJ.
       <pERPAM         - pEREMENNA PAMQTI SOZDAETS P STORE IL 
                    PRɠ ISPOLXZOWANIɠ KOMAND SOHRANQ@]I 
                    ZNA^ENIѠ  DL  DALXNEJ[EG ISPOLXZOWANI 
                    (ACCEPT INPUT  T.D.)
                    w "rebus" DOPUSTIMO DO  64  PEREMENNYH
                               PAMQTI.
      <pERPA͠ SPISOK  - sPISO PEREMENNYȠ PAMQTI  RAZDELENNY 
          ZAPQTYMI.
      <N>              - lITERAL.
      <oBLASTX>        - oBLASTX DEJSTWIQ KOMANDY. mOGUT  PRINI-
                              MATX 3 ZNA^ENIQ.
      ALL              - WSE ZAPISI W FAJLE. pOSLE  USTANOWKI
                              NA NA^ALO BAZY, KOMANDOJ PROSMATRI-
                              WA@TSQ WSE ZAPISI FAJLA. dLQ  MNOGIH
                              KOMAND ALL - ZNA^ENIE PO  UMOL^ANI@.
                              dLQ DRUGIH KOMAND PO UMOL^ANI@  S^I-
                              TAETSQ TEKU]AQ ZAPISX (NAPRIMER, DLQ
                              DELETE). w SLU^AE ISPOLXZOWANIQ FRA-
                              ZY FOR, PO UMOL^ANI@ S^ITAETSQ ALL.
       NEXT N          - SLEDU@]IE N ZAPISEJ, WKL@^AQ TEKU]U@
                              ZAPISX. N ESTX LITERAL.
       RECORD N        - N-AQ ZAPISX; N - LITERAL.
       FOR <wyr>       - L@BAQ ZAPISX, ESLI LOGI^ESKOE WY-
                              RAVENIE ISTINNO.
       WHILE <wyr>     - WSE ZAPISI, POKA LOGI^ESKOE WYRA-
                              VENIE NE STANET LOVNYM. bAZA  NA
                              NA^ALO NE USTANAWLIWAETSQ.

     dRUGIE SPECSIMWOLY OPISANY PRI SWOIH KOMANDAH.


      9.2. pRAWILA RABOTY


     sU]ESTWUEԠ MNOVESTWϠ PRAWI̠ DLѠ USPE[NOʠ RABOT٠  
"rebus".
           1 gLAGO L@BO KOMAND DOLVE BYT PERWY NEPROBELXNY 
SIMWOLO KOMANDNO STROKI FRAZ Z NI  MOGU    SLEDOWAT  
L@BO͠ PORQDKE gLAGO̠ ESTؠ SLOWϠ - PRIKAZANIE CREATE 
APPEND REPORT SET DISPLAY I    ERASŠ WYZYWA@ 
SPECIFI^ESKI DEJSTWIQ fRAZ    \KWIWALENTN NARE^IQ  (KA 
DEJSTWOWATX  UTO^NQ@    DEJSTWIE FOR NEX WIT - PRIMER 
SLOW  KOTORY    NA^INA@TS FRAZY wS  TAKI SLOW (GLAGO 
     NA^ALXNY  SLOW  FRAZ  NAZYWA@TS KL@^EWYM SLOWAMI.
     2. l@BOE ^ISLO PROBELOW MOVET RAZDELQTX SLOWA I FRAZY.
           3. wSE KOMANDY D.B. MENEE 254 SIMWOLOW (RAWNO  I  POSLE
                 MAKRORAS[IRENIQ).
           4 kOMAND٠ ɠ KL@^EWY SLOW MOGU BYTؠ SOKRA]EN٠ D 
PERWYȠ  (IL BOLEE SIMWOLOW nAPRIMER WMESTϠ DISPLA 
STRUCTUR MOGU WWEST DISP STRU.
     5 bOLX[I  MALENXKI BUKW MOGU BYT ISPOLXZOWAN PR 
WWODŠ KOMAND KL@^EWY SLOW IME POLEJ IME  PEREMENNY 
PAMQT  IME FAJLOW.
     6 nEKOTORYŠ FRAGMENT KOMANĠ MOGUԠ OPUSKATXSQ dL  
OBOZNA^ENI I ISPOLXZU@TS KWADRATNY SKOBKI.
     7 zAREZERWIROWANNO SLOW EST KL@^EWO SLOWO KOTORO 
WYZOWE O[IBKU ESL ON ISPOLXZUETS DL  ^EGO-LIB DRUGOGO 
^E͠ DLѠ TOGO DLѠ ^EG ON PREDNAZNA^EN. w "rebus NE 
ZAREZERWIROWANNYȠ SLOW oDNAKO  NEKOTORYŠ IMEN POLEʠ  
FAJLOנ MOGU WYZWAT OSLOVNENIQ nAPRIME, KOMANDNY FAJ̠ 
IMENE͠ WHILE BUDEԠ NEKORREKTNϠ  INTERPRETIROWAΠ KA  
PREDLOVENI  D  WHILE  KOMANDNY PROCESSORO DO ALL KA IM 
POL N MOVE ISPOLXZOWATXS  RQD KOMAND.
           8 pREDLOVENIѠ "rebus  KOMANDNO FAJLŠ DOLVN٠ BYT 
WLOVEN٠ KORREKTNO "rebus N ZAME^AE O[IBKɠ WLOVENIQ   
BUDE WYPOLNQT KOMANDNY FAJL NEPREDSKAZUEMY OBRAZOM.

      9.2.1 ?


      ?[<spis.wyr>]
      ??[<spis.wyr>]

           |T KOMAND QWLQETSѠ SPECIALXNOʠ FORMOʠ  KOMAND  
DISPLA  ON \KWIWALENTN DISPLA OF <wyr> oN MOVE BYT  
ISPOLXZOWAN DL OTOBRAVENI ZNA^ENI WYRAVENI ILɠ  SPISK  
WYRAVENIJ kOMAND "? MOVE ISPOLXZOWAT PEREMENNY PAMQTI 
POL BAZY KONSTANT  FUNKCII "?  BE  PARAMETROנ  DAE  
STROK PROBELOW.


           fORM "?? PODOBN "?" Z ISKL@^ENIE TOGO ^T  PERE 
WYWODO͠ WYRAVENI N DELAETS WWO STROK  (LIN  FEED)  IL 
WOZWRA KARETKI.

      pRIMERY:
 
 . USE EXAMPLE
   . 4
   . ? #
    4
   . ? NAME
   CHANG, LEE
   . ? 5+9
    14
 
        SLEDU@]E PRIMER KOMANDNOG FAJL  "?  ISPOLXZUETSѠ DL 
O^ISTKɠ \KRAN DISPLEQ kOMANDNY  FAJ̠  ZAPUSKAETSѠ  P 
KOMANDE "rebu N:FILE".

   SET DEFAULT TO G
   USE TRACE INDEX TRACE
   DISP STRU
   ?
   ACCERT "ENTER TODAY'S DATE." TO DTE
   SET DATE TO &DTE
   RELEASE DTE
   RETURN


           9.2.2. @


     @<koordinaty>[SAY <wyr> [USING <FORMAT>]]
                [GET <peremennaq> [PICTURE <FORMAT>]]

      |T KOMAND RABOTAE  KOMANDAM SE FORMA TO  ERASE 
EJECT CLEAҠ GETS REAĠ   QWLQETS MO]NY SREDSTWO͠ DL 
OTOOBRAVENIѠ OPREDELENNOʠ FORMATIROWANNOʠ INFORMACIɠ N  
DISPLEŠ ILɠ PRINTERE  POMO]X  @  INTERPRETIRU@TS  
IZMENENIQ WKL@^AѠ SPOSO ISPOLXZOWANI KOMAND SEԠ FORMA 
TO wS KOMBINACI ISPOLXZOWANI PERE^ISLEN NIVE.

           <koordinaty EST PAR "h,u  MOGU IMET ODI Iڠ DWU 
SMYSLOW KOORDINAT DISPLE IL KOORDINAT  PRINTERA  "h,u 
OBOZNA^A@ STROK (h  STOLBE (u) n BOLX[INSTW  \KRANO 
 IZMENQETS  PREDELA 0-23   - 0-79 T.E 2  STROK   
8 STOLBCOW "rebus ISPOLXZUE 0- STROKՠ DLѠ SOOB]ENI 
POLXZOWATEL@  POLXZOWATEL DOLVE  IZBEGATؠ  ISPOLXZOWAT  
EE dLѠ PRINTER  ɠ  IZMENQ@TSѠ נ PREDELAȠ  0-254  
kOORDINAT٠ MOGUԠ BYTؠ LITERALAMI ^ISLOWYMɠ PEREMENNYM 
PAMQTɠ ILɠ ^ISLOWYMɠ WYRAVENIQMI kOMAND SEԠ FORMAT 
ISPOLXZUETS DL  IZMENENI ZNA^ENI KOORDINAT.

           kOGD ISPOLXZUETS KOMAND SE FORMA T SCREE (^T P 
UMOL^ANI@) KOMAND "@" WYZYWAE WYWO DANNY N \KRAN pAR 
KOORDINAԠ 0, OZNA^AEԠ PERWU POZICI (KRAJN@ WWERHՠ  
SLEWA N \KRANE pAR 10,1 OZNA^AE 11- STROKՠ ɠ 16-  
STOLBEà N DISPLEE 0- STROKՠ  NŠ  REKOMENDUETS  
ISPOLXZOWATX kOMAND "@" MOVN ISPOLXZOWAT  L@BO  PORQDK  
P  \KRANU T.E. FRAZU SAY MOVN PRIMENQT  STROK  1  D  
PRIMENENI SAY  STROK 10 t V OTNOSITS   STOLBCAM.

           kOGD ISPOLXZUETS KOMAND SE FORMA T PRINT KOMAND 
"@" WYZYWAE WYWO DANNY N  PRINTER  pAR  KOORDINA  0, 
UKAZYWAE N KRAJN@ WERHN@ SLEW POZICI N LISTŠ  BUMAGI 
kOMAND "@" DL PRINTER DOLVN BYT UPORQDO^ENY  PROTIWNO 
SLU^AŠ GROZIԠ ^EREZMERNYʠ  RASHOĠ  BUMAGI  pOLXZOWATEL 
MOVEԠ PREDSTAWITؠ SEBE ^TϠ OΠ ISPOLXZUEԠ PE^ATA@]U  
MA[INKU wSŠ KOMAND٠ ˠ STROKŠ  DOLVN٠ PRED[ESTWOWAT 
KOMANDA͠  ˠ STROKŠ  (T V ɠ DLѠ STOLBCOW) eSLɠ  \T  
NARU[ENO  PEREĠ NA^ALO͠ NOWO STROKɠ PROISHODIԠ PROPUS 
STRANICY.

           eSL ISPOLXZUETS KOMAND SE FORMA T SCREEN KOMAND 
ERASE O^ISTI WS INFORMACI N \KRANE WYPUSTI  WS  GET' 
(SM NIVE  USTANOWI KOORDINAT 0,0 eSL ISPOLXZUETS SE 
FORMA T PRINT EJECT WWODI NOWU STRANIC  USTANAWLIWAE 
KOORDINAT 0,0.

           fRAZ SA٠ ISPOLXZUETSѠ DLѠ OTOBRAVENIѠ WYRAVENIQ 
KOTOROŠ NŠ BUDE IZMENQTXS POSLEDU@]I͠ REDAKTIROWANIE͠   
POMO]X KOMAND٠ READ pODFRAZ USING ISPOLXZUETSѠ DL 
FORMATIZACI WYRAVENI I FRAZ SAY fORMATIRU@]I DIREKTIW  
OPISAN NIVE iSPOLXZOWANI PODFRAZ USING QWLQETSѠ HORO[I 
TONOM   SLU^A OTSUTSTWI USING "rebus BUDE PROIZWOLXN  
OBRA]ATXS  WYRAVENIEM.

           fRAZ٠ SAY MOGU ISPOLXZOWATXS N \KRAN  N PRINTERE 
GET- - TOLXK  KOMAND SE FORMA T SCREEN. 

           fRAZ GET OTOBRAVAE TEKU]E  ZNA^ENI  POL PEREMENNO 
ILɠ PEREMENNOʠ PAMQTI pEREMENNAѠ DOLVN NAHODITXSѠ  D  
ISPOLXZOWANIѠ GET ɠ QWLQETSѠ OBXEKTO͠ DLѠ DALXNEJ[EG 
REDAKTIROWANIѠ KOMANDOJ READ. fRAZ PICTURE MOVE 
ISPOLXZOWATXSѠ  Ӡ FRAZOʠ GET POZWOLQѠ  SPECIALXNU  
FORMATIZACI    PROWERK WWODIMY DANNY (SM KOMAND READ) eSLɠ NE N ODNO PICTURE T TI DANNY FORMIRUEԠ NEQWNU 
PICTURE.

           eSL TI DANNY POL PEREMENNO IL PEREMENNO PAMQT   
GET - LOGI^ESKIJ T PROWERK DANNY RAZRE[AE  WWO  TOLXK 
SIMWOLO 'T' 'F' 'Y' 'N'  I MALY \KWIWALENTOW.

           mAKSIMU 6 GET-O MOGU BYT  AKTIWIZIROWAN  נ  L@BO 
MOMENԠ WREMENI kAˠ ERASE TAˠ ɠ CLEAҠ GETS MOGU 
ISPOLXZOWATXS DL SBROS SU]ESTWU@]I GET-OW.

           kOGD DEJSTWUE SE FORMA T SCREEN  NE N  SAY-  N 
GET-FRAZ TϠ OSTATOˠ LINI, OPREDELENNOʠ KOORDINATAMI  
ZA^I]AETS PROBELAMI sLEDOWATELXNO @ 10, BUDE  ZA^I]AT  
WS 11- STROKU.

          kOGD DEJSTWUEԠ  SEԠ FORMA TϠ SCREEN, DOLVN BYT 
WYDAN READ DLѠ WYPOLNENI GET-Oנ (SM  KOMANDՠ  READ)  
oDNAKO KOGD DEJSTWUE SE FORMA T PRINT, KOMAND "@" N 
TREBU@Ԡ POSLEDU@]IȠ KOMANĠ READ DLѠ ZAWER[ENIѠ SWOI 
DEJSTWIJ.

          nŠ TREBUEMYʠ READ DLѠ PE^ATɠ POZWOLQEԠ POLXZOWATEL 
PRQMϠ FORMATIROWATؠ WYWOĠ N L@BOJ PREDWARITELXN 
NAPE^ATANNYʠ MATERIA (NAPRIMER ^EKI STOIMOST  ORDERA 
BOLEŠ PODHODQ]I͠ OBRAZOM pOLXZOWATEL NEOBHODIMϠ TOLXK 
POMNITX ^T KOMAND "@" DOLVN ISPOLXZOWATXS TAK KA ESL 
B  PE^AT [L N PE^ATA@]E MA[INKE.

           pRɠ ISPOLXZOWANIɠ WOZMOVNOSTE SEԠ FORMAԠ TϠ PRINT 
^ASTϠ NEOBHODIM WYPE^ATYWAT BOLE ODNOGϠ \LEMENTA wAVN 
WOZMOVNOSTؠ ZAMEN٠ SODERVIMOGϠ PEREMENNYȠ PAMQT 
KOORDINATNYMɠ ZNA^ENIQMI sLEDU@]Iʠ PRIMEҠ QWLQETS 
FRAGMENTO KOMANDNOG FAJLA KOTORY GENERIRUE SPECOT^E DL 
OSOBY CELEJ.

 SET FORMAT TO PRINT
       GOTO TOR
       STORE 7 TO CNTR
       DO WHILE .NOT. EOF
            IF CNTR >= 50
                   EJEST
                   STORE 7 TO CNTR
            ENDIF
         @ CNTR,12 SAY R USING 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
         @ CNTR,48 SAY D USING 'XXXXXXXXXX'
         @ CNTR,64 SAY R1 USING 'XXXXXXXXXXXXXXXXXX'
         @ CNTR,88 SAY U USING 'XXXXXXXXXX'
         @ CNTR,104 SAY R2 USING 'XXXXXXXXXXXXXXXXXX'
         IF RSD <> 0
            @ CNTR,130 SAY RSD USING '9999'

