     w |tom komandnom  fajle  budut  pe~atatxsq  maksimum  57
strok, prevde ~em proizojdet perehod na drugu` stranicu. celx
ego - nape~atatx bolx{instwo polej bazy (i wyboro~no  -  odno
iz  polej).  neobhodimo  wydelitx  dostato~no mesta dlq frazy
SAY, ~toby pomestilasx peremennaq. esli USING koro~e peremen-
noj ili polq, to peremennaq ili pole obreza`tsq. <FORMAT> dlq
USING ('XXXX..X') obxqsnen nive.

     analogi~no w revime SET FORMAT TO PRINT ,esli koordinaty
posledu`}ej "@" pozwolq`t  nape~atatx  informaci` w  toj   ve
stroke,  no na~ina`t ee w stolbce, kotoryj uve  wype~atan, to
printer movet ne wywesti ee.  na dele printer  movet  pojti w
krajn``  prawu`  pozici`  i nape~atatx (w  odnoj  pozicii)ws`
informaci`  iz  ostaw{ejsq stroki.  w revime  SET  FORMAT  TO
SCREEN   staraq informaciq budet zaterta nowoj informaciej.

     poslednqq  forma  komandy  SET  FORMAT:  SET  FORMAT  TO
<formatnyj fajl>.   wo  wremq ee raboty,  esli   ispolxzuetsq
komanda  READ,  komandy  @  ~ita`tsq po  READ  iz  ukazannogo
<formatnogo  fajla>.   s  pomo}x`  |togo  polxzowatelx  movet
razrabotatx |kran w bolee specializirowannom  formate.  zdesx
wavno otmetitx,~to ispolxzowanie formatnyh fajlow ne qwlqetsq
neobhodimym   dlq @-komand, t.k. @ komandy mogut nahoditxsq w
komandnyh fajlah.

      formaty:

     predloveniq  USING  i PICTURE w ka~estwe  obxekta  ime`t
format.  format  estx  seriq  simwolow,  kotorye   ukazywa`t,
kakie  simwoly poqwlq`tsq na |krane ili  stranice.  sledu`}aq
tablica opredelqet simwoly i ih funkcii.

    simwol              funkciq                funkciq
    formata               SAY                   GET

      #          wywoditsq sledu`}ee    pozwolqet wwoditx to-
                  ~islo                 lxko cifry (1,2,...8,
                                        9,0) i  simwoly  ".",
                                        "-",  i  " " (probel)
      9          to ve, ~to i #         to ve, ~to i #
      h          wywodit sledu`}ij      wwodit l`boj simwol
                  simwol
      a          wywodit sledu`}ij      wwodit tolxko  alxfa-
                 simwol                 numeri~eskie  simwoly
    $ ili *      wywodit ili cifru      wwod kak estx
                 ili $ ili * wmesto
                 lidiru`}ih nulej
      !          nikakogo |ffekta        preobrazuet stro~nye
                                         bukwy w propisnye

primer:

 . @ 5,1 SAY 'wwedi nomer telefona' GET PHO PICTURE'(999)999-
  9999'

     soob}enie  'wwedi nomer telefona'  budet  otobraveno  na
|krane,  za  nim  posleduet  '(www)wwww-wwww'  ("w"  ozna~aet
probel) w predpolovenii, ~to do wwoda zna~eniem PHO byli  wse
probely.  esli  (i  tolxko esli) ispolxzuetsq  komanda  READ,
movno wwoditx tolxko cifry.   zna~enie PHO posle komandy READ
moglo   by  bytx  posle  redaktirowaniq,  skavem,  '(213)555-
55555'. wse nefunkcionalxnye simwoly w formate PICTURE wstaw-
lq`tsq w peremennu`.  w |tom primere skobki,  znak  minusa  i
probel - ne funkcionalxnye.

   . @ 10,50 SAY HOURS*RATE USING '$$$$$$$.99'

     |ta komanda "@" movet ispolxzowatxsq kak na displee, tak
i  na  printere,  t.k. u  nee net  frazy  GET. ona  mogla  by
ispolxzowatxsq  dlq  wywoda parolej. znak denevnoj edinicy  w
pe~atamom  |lemente budet zame}atx wse lidiru`}ie  nuli. esli
HOURS = 40, a RATE = 12,50, to '$$$$500.00' budet wywedeno na
|kran. |to swojstwo izwestno kak plawa`}ij znak denevnyh edi-
nic i predpo~titelxno dlq pe~ati ~ekow.

     kogda zapqtye wstre~a`tsq w celoj ~asti  ~isla,   to oni
zamenq`tsq na simwoly formata, esli slewa net zna~a}ej cifry.

   . @ 10,50 SAY NOURS * RATE USING '$$$,$$$.99'

     budet wywedeno $$$$500.00, a ne $$$,500.00.

     oby~no posle togo,  kak ispolxzuetsq neskolxko komand @,
esli   estx   frazy  GET,  to  wyda`tsq  komandy   READ   dlq
redaktirowaniq ili wwoda dannyh w GET-peremennye. w sledu`}em
primere  |kran  formatiruetsq  razli~nymi  "@"-{kami,  i baza
napolnqetsq informaciej soglasno ih.  poslednqq zapisx w baze
budet  imetx "0" w pole "NAME",  t.e.  zapisx,  kotoraq budet
udalena, t.k. ona ne nuvna.

 SET FORMAT TO SCREEN
 USE F:EXAMPLE
 ERASE
 DO WHILE NAME # '0'
 APPEND BLANK
 @ 5,0 SAY "wwedi sledu`}ee imq" ;
 GET NAME PICTURE 'XXXXXXXXXXXXXXXXXXXX'
 @ 6,0 SAY "wwedi nomer telefona";
 GET TELE:EXTSN PICTURE 'XXXXX'
 @ 6,40 SAY "wwedi po~towyj indeks" ;
 GET MAIL:STOP PICTURE 'XXXXXXXXXX'
 READ
 ENDDO
 GOTO BOTTOM
 DELETE
 PACK
 LIST
 RETURN

     sledu`}ie komandy wliq`t na wypolnenie @-komand:

     SET INTENSITY ON/OFF  (po umol~ani` ON) wliqet na inten-
siwnostx po |kranu GET-ow i SAY.

     SET BELL ON/OFF (po umol~ani` ON) daet awarijnyj zwonok,
esli wstre~a`tsq newernye simwoly ili perese~eny granicy dan-
nyh.

     SET COLON ON/OFF (po umol~ani` ON) wliqet na  to,  budut
li GETperemennye okruveny dwoeto~iqmi.

     SET DEBUG ON/OFF  (po umol~ani` OFF)  pozwolqet osu}est-
wlqtx prostu` otladku @-komand,  peresylaq soob}eniq  ECHO  i
STEP na printer.

     SET SCREEN ON/OFF  (po umol~ani` ON) pozwolqet ispolxzo-
watx polno|krannye operacii..

     SET FORMAT TO SCREEN/PRINT/<formatnyj fajl>   opredelqet
ustrojstwo  dlq  wywoda  (|kran  ili printer).  SET FORMAT TO
<formatnyj fajl> ispolxzuet formatnyj fajl w ka~estwe  isto~-
nika dlq @-komand dlq komandy READ. po umol~ani` SCREEN.

     READ wwodit redaktiru`}ij revim,  pozwolqq izmenqtx GET-
peremennye.


     9.2.3. ACCEPT

     ACCEPT ["<sim.stroka>"] TO <perpam>

     |ta  konstrukciq  pozwolqet  wwoditx stroki  simwolow  w
peremennye   pamqti   podobno   komande   INPUT,    no    bez
neobhodimosti  zakl`~eniq  ih  w  kawy~ki,  kak  |to  trebuet
komanda   INPUT.   ACCEPT   delaet  peremennu`  pamqti   tipa
"simwolxnaq", INPUT opredelqet tip dannyh iz sintaksisa wwoda
i priswaiwaet peremennoj pamqti |tot tip.

     <perpam> sozdaetsq,  esli neobhodimo,  i  whodnaq stroka
zapominaetsq   w  <perpam>.   esli  estx  "<stroka>", to  ona
otobravaetsq  na |krane i za nej sleduet dwoeto~ie w ka~estwe
podskazywa`}ego soob}eniq dlq wwoda. esli wstre~aetsq wozwrat
karetki w otwete na zapros ACCEPT, <perpam> polu~it odin pro-
bel.  dlq ograni~eniq podskazywa`}ego soob}eniq mogut ispolx-
zowatxsq odinarnye i dwojnye kawy~ki ili  kwadratnye  skobki,
no oni dolvny bytx parnymi.

primery:

  . ACCEPT "wwedi imq li~nosti" TO NAME
 wwedi imq li~nosti: sidorow a.

  .ACCEPT MEMO
NAME       (C)  sidorow a.
** TOTAL **     01 VARIABLE USED  00010 BYTES USED


     9.2.4. APPEND

     a) APPEND FROM <fajl> [FOR <wyr>] [SDF] [DELIMITED WITH
        <ograni~itelx>
     b) APPEND BLANK
     w) APPEND

     wo wseh treh wariantah zapisi zanosqtsq w bazu.  APPEND,
CREATE  i INSERT - komandy,  kotorye dobawlq`t zapisi w bazu.
APPEND i CREATE mogut delatx mnovestwennye zaneseniq za  raz,
INSERT - tolxko odno.

     w  perwom wariante zanosimye zapisi berutsq  iz <fajla>.
esli  prisutstwuet  fraza  SDF, to  zapisi  predpolaga`tsq  w
sistemnom formate (sm.  razdel 6.0).  esli nowye zapisi  uve,
~em  starye,  to  oni dopolnq`tsq sprawa  probelami.  esli  -
dlinnee,  to  - obreza`tsq.  zapisi dobawlq`tsq do dostiveniq
konca  <fajla>.

     esli ukazano DELIMITED,  to  zapisi, wybiraemye iz <faj-
la>,  s~ita`tsq ograni~ennymi  i  dobawlq`tsq sootwetstwu`}im
obrazom.  mnogie qzyki generiru`t fajly, gde stroki  simwolow
zakl`~eny w prostye ili dwojnye kawy~ki,  a polq -  razdeleny
zapqtymi.  w  revime  ograni~eniq "rebus" udalqet  kawy~ki  i
zapqtye  iz ograni~ennyh fajlow i zapominaet w "rebus"-fajlah
soglasno strukture bazy.

     esli net SDF i DELIMITED,  to <fajl> s~itaetsq  "rebus"-
fajlom.  srawniwa`tsq struktury teku}ego i from-fajla.  polq,
kotorye  wstre~a`tsq  w zapisqh obeih fajlow, izwleka`tsq  iz
<fajla>  i zanosqtsq w teku}ij.  osu}estwlqetsq dopolnenie  i
obrezanie  polej  dlq priwedeniq polej k  strukture  teku}ego
fajla.  esli ukazana fraza FOR, to  "rebus" dobawlqet  zapisi
iz  from-fajla po odnoj,  prowerqq,  ~toby dlq kavdoj  zapisi
<wyr> bylo istinnym.  wavno zametitx,~to polq, ispolxzuemye w
<wyr> dolvny prisutstwowatx w prinima`}em fajle.

     esli   ukazano   fraza  BLANK,  to  k   teku}emu   fajlu
dobawlqetsq  odino~naq  zapisx,  zapolnennaq  probelami.  |ta
zapisx  w dalxnej{em movet bytx zapolnena operatorami EDIT  i
REPLACE.

     esli ni odna fraza ne sleduet za APPEND (wariant  w),  u
polxzowatelq  zapra{iwa`tsq imena polej iz struktury teku}ego
fajla.  l`boe  ~islo  nowyh  zapisej  movet  bytx  sozdano  s
klawiatury. revim APPEND zawer{aetsq wozwratom karetki wmesto
perwogo simwola perwogo polq.

     esli teku}aq baza - indeksirowannaq,  to indeksnyj fajl,
ukazannyj  w  USE,  awtomati~eski izmenqetsq  pri  dobawlenii
nowyh  zapisej (za iskl`~eniem APPEND  BLANK).  l`boj  drugoj
indeksnyj   fajl,   swqzannyj  s  |toj  bazoj,   dolven  bytx
reindeksirowan.

     pri APPEND w polno|krannom revime komanda SET CARRY  ON
pereta}it wse dannye iz predydu}ej zapisi w sledu`}u`.  posle
|togo movno sdelatx izmeneniq.  |to  osobenno  polezno,  esli
posledowatelxno idu}ie zapisi ime`t ob}ie mesta w dannyh.

     komanda   APPEND  osobenno  polezna,   esli   neobhodimo
ras{iritx/svatx  ili dobawitx/udalitx polq  iz   su}estwu`}ej
bazy.   ispolxzuq   komandu  CREATE, sozda`t  bazu  trebuemoj
struktury  i zatem komandoj APPEND pereka~iwa`t staru` bazu w
nowu`.  polq, kotorye poqwilisx tolxko w nowoj baze, sodervat
probely.
     primery:

   . USE EXAMPLE

   . DISPLAY STRUCTURE
     STRUCTURE FOR FILE:  EXAMPLE
     NUMBER OF RECORDS:   00005
     DATE OF LAST UPDATE: 12/31/80
     PRIMARY USE DATABASE
     FLD       NAME      TYPE WIDTH   DEC
     001     NAME        C      020
     002     TELE:EXTSN  C      005
     003     MAIL:STOP   C      010
     ** TOTAL **              00036

   . DISPLAY ALL
     00001  1XXXXXXXXXXXXXXXX     1357  123/456
     00002  2XXXXXXXXXXX          2468  180/103
     00003  3XXXXXXXXXXXXXX       3344  264/401
     00004  4XXXXXXXXX            6743  190/901
     00005  5XXXXXXXXXX           1011  84/133

   . APPEND

     RECORD 00006

     NAME:       6XXXXXXXXXXXXXXXXXXX
     TELE:EXTSN: 6623
     MAIL:STOP:  170/430
     RECORD 00007
     NAME:       7XXXXXXXXXXXXXXX
     TELE:EXTSN: 8093
     MAIL:STOP:  427/396
     RECORD 00008

     NAME:      <RETURN>

   . DISPLAY ALL OFF NAME,TELE:EXTSN
     1XXXXXXXXXXXXXXXX    1357
     2XXXXXXXXXXX,F - na sledu`}ee pole;
     3XXXXXXXXXXX,A   sledu`}ij simwol;
     4XXXXXXXXX           6743
     5XXXXXXXXXX          1011
     6XXXXXXXXXXXXXXXXXXX 6623
     7XXXXXXXXXXXXXXX     8093

   . APPEND FROM DUPES
     00007 RECORDS ADDED


     9.2.5. BROWSE

     BROWSE

     komanda BROWSE  -  odna iz mo}nyh komand "rebus" dlq re-
daktirowaniq i prosmotra dannyh. do 19 polej dannyh otobrava-
etsq  na |krane (menx{e zapisej,  esli polq dlinnee 80 simwo-
low). |kran movno s~itatx oknom w bazu. wy movete {agatx wpe-
red-nazad  po  zapisqm i slewa-naprawo po polqm.  pri |tom wy
movete redaktirowatx dannye standartnym metodom polno|kranno-
go redaktirowaniq (sm. razdel 8).

     swodka komand redaktirowaniq w BROWSE:

   ^E,A - na predydu}ee pole;
   ^S   - na predydu}ij simwol;
   ^G   - udalitx simwol pod kursorom;
   DEL  - udalitx simwol pered kursorom;
   ^Q   - wyhod bez sohraneniq izmenenij;
   ^W   - wyhod i sohranenie izmenenij
   ^B   - sdwig oko{ka nalewo na odno pole;
   ^Z   - sdwig oko{ka naprawo na odno pole;
   ^C   - zapisx teku}ej zapisi i perehod na sled. zapisx;
   ^R   - zapisx teku}ej zapisi i perehod na pred. zapisx;
   ^U   - perekl`~enie revima markirowaniq teku}ej  zapisi
             (markirowatx na udalenie ili net).


     9.2.6. CANCEL

     CANCEL

     terminiruet wypolnenie  komand  i  wypolnqet  wozwrat  w
oby~nyj dlq klawiatury revim interpretacii.

     primery:

     INPUT 'zawer{itx zadanie (Y/N)' TO X'
     IF X
     CANCEL
     ENDIF

     |to fragment komandnogo fajla.  komanda INPUT spra{iwaet
YES/NO. esli otwet YES ('Y',  'T'), to budet wypolnena stroka
IF X.


     9.2.7. CHANGE

     CHANGE [<diapazon>] FIELD <spisok> [FOR <wyr>]

     pozwolqet  sdelatx  rqd  izmenenij  w  baze.  polq  bazy
ukazywa`tsq    w    <spiske>   i   poqwlq`tsq   w   toj    ve
posledowatelxnosti.  wy   movete   wwoditx   nowye    dannye,
modificirowatx i prosmatriwatx ih.  esli spisok is~erpan,  to
CHANGE perehodit k  sledu`}ej zapisi, ukazannoj w <diapazon>.
po umol~ani` diapazon rawen teku}ej zapisi.

     polq mogut udalqtxsq klawi{ej ^Y,  (za kotoroj - wozwrat
karetki) w otwet na zapros CHANGE. komanda CHANGE zawer{aetsq
naborom simwola ESCAPE.

       primer:

    . USE CARDS
    . CHANGE FIELD DATE

      RECORD: 00001

      DATE: 08/19/81
      CHANGE? 81
      TO         82

      DATE: 08/19/82
      CHANGE? <RETURN>


     9.2.8. CLEAR

     CLEAR [GETS]

     esli  ukazan  GETS (ili GET),  to wse  otlovennye  GET-y
(t.e. GET-y, ustanowlennye komandoj ,@) sbrasywa`tsq, i |kran
ostaetsq newredimym.

     |to w protiwopolovnostx komande ERASE,  kotoraq    takve
za~i}aet GET-y i ~istit |kran.

     esli  ukazan GETS,  to delaetsq pereustanowka   "rebus".
wse  teku}ie bazy zakrywa`tsq,  wse neispolxzuemye peremennye
pamqti  oswobovda`tsq  i zanowo  wybiraetsq  rabo~aq  oblastx
PRIMARY.

     |ta   komanda  perewodit  "rebus"  w  sostoqnie  "~istoj
prostracii". naprimer,esli komandnyj fajl zawer{il wypolnenie
i  ostawlqet  "rebus"  w  sostoqnii  SECONDARY,to  wypolnenie
nowogo   komandnogo  fajla,   predpolaga`}ego   su}estwowanie
sostoqniq PRIMARY, wyzowet nepredskazuemye dejstwiq.

      CLEAR  w  na~ale komandnogo fajla  perewodit  komandnyj
fajl w neopredelennoe sostoqnie.


     9.2.9. CONTINUE

     CONTINUE

     |ta komanda ispolxzuetsq s komandoj LOCATE.    LOCATE  i
CONTINUE  mogut  bytx razdeleny drugimi  komandami,  no  estx
ograni~eniq. sm. LOCATE.


     9.2.10. COPY

     COPY TO <fajl> [<diapazon>] [FIELD <spisok>] [FOR <wyr>]
     [SDF] [STRUCTURE] [DELIMITED [WITH <ograni~itelx>]]

     |ta komanda kopiruet teku}u` bazu w drugoj fajl.  <fajl>
movet  bytx  w  formate  "rebus"  ili  w  sistemnom   formate
(ukazano SDF).

     esli ukazano   STRUCTURE,   to  tolxko  struktura  fajla
"rebus" kopiruetsq w to-fajl.

     esli  dan  spisok polej wsled za  FIELD,  to  kopiru`tsq
tolxko  |ti polq.  dlq COPY STRUCTURE FIELD  <spisok>,  budet
skopirowana struktura tolxko ukazannyh polej.  esli FIELD  ne
ukazano, to kopiruetsq struktura wseh polej.

     esli  ukazano SDF, to teku}ij fajl  kopiruetsq  w drugoj
fajl  bez  struktury.  |tot nowyj fajl  budet  w  standartnom
formate fajla.

     esli  ukazano  DELIMITED, to w wyhodnom fajle  wse  polq
tipa  strok  simwolow budut zakl`~eny w  kawy~ki,  a  polq  -
razdeleny  mevdu  soboj probelami.  |to w   protiwopolovnostx
komande  APPEND  s  DELIMITED.   po  umol~ani`   ispolxzu`tsq
odinarnye  kawy~ki.   podfraza  WITH  frazy  DELIMITED  movet
nazna~itx  swoj  ograni~itelx.  esli |to  ",",  to  hwostowye
probely  simwolxnyh  polej podreza`tsq, a u ~islowyh polej  -
lidiru`}ie  probely i simwoli~eskie polq ne budut zakl`~eny w
kawy~ki.  dlq  odinarnyh   i dwojnyh  kawy~ek  nado  wydawatx
komandu APPEND.


     dlq  opcij DELIMITED ili SDF <fajl>  imeet  po umol~ani`
tip .tht, ina~e - DBF.

     to-fajl sozdaetsq, esli on ne su}estwuet.


     9.2.11. COUNT

     COUNT [<diapazon>] [FOR <wyr>] [TO <perpam>]

     daet ~islo zapisej w teku}em fajle.  esli  ukazana fraza
FOR,  to  wedetsq  pods~et  zapisej,  udowletworq`}ih  <wyr>.
itogowoe   ~islo  movet  bytx  pome}eno  w   <perpam>.    ona
sozdaetsq, esli ee ne bylo do wyda~i COUNT.

     "rebus" otwe~aet:

     COUNT = XXXXX


     9.2.12. CREATE

     CREATE [<imq fajla>]

     sozdaetsq nowaq  struktura  "rebus"-fajla.  polxzowatelx
ukazywaet strukturu, imena polej i imq fajla dlq bazy.

     esli ne ukazano <imq fajla>, sistema zaprosit:

     wwedite imq fajla:

     imq fajla ne dolvno sodervatx specsimwolow, ispolxzuemyh
w SCP (naprimer, "b:" obozno~aet ustrojstwo "b").

     esli fajl uve su}estwuet, "rebus" zapra{iwaet:
     uni~tovitx su}estwu`}ij fajl? (Y/N)

     na ~to movno otwetitx Y ili N (uni~tovitx  ili  net  su-
}estwu`}ij fajl).

     esli  fajl  unikalen ili polxzowatelx  otwetil  "Y",  to
"rebus"  gotow  wwesti  strukturu.   na  displee   poqwlqetsq
soob}enie: wwedite format soglasno primeru:

     pole     imq,tip,dlina,dlina drobnoj ~asti
     001

     imq polq - do 10 simwolow iz bukw,  cifr i dwoeto~ij, no
na~inatxsq dolvno s alfawitnogo simwola. polq mogut bytx treh
tipow: simwolxnye stroki, ~islowye i logi~eskie. tip polq za-
daetsq odnim simwolom:

     C - simwolxnaq stroka;
     N - ~islowoe;
     L - logi~eskoe.

     WIDTH ukazywaet dlinu polq. ~islowye polq mogut bytx ce-
lymi i desqti~nymi.  dlina celyh - maksimalxnoe  ~islo  cifr,
kotoroe movet sodervatxsq w pole.  dlq desqti~nyh ukazywa`tsq
dwe dliny. perwaq - maksimalxnoe ~islo cifr celoj ~asti, wto-
raq - drobnoj ~asti. logi~eskie dannye ime`t dlinu 1.

       primery:

 . CREATE
 imq fajla:EXAMPLE
 wwedite format soglasno primeru:
   pole     imq,tip,dlina,dlina dr.~asti
    001     NAME,C,20
    002     TELE:EXTSN,S,5
    003     MAIL:STOP,S,10
    004     (wk)                         wozwrat karetki
   wwod dannyh sej~as? Y

   RECORD 00001
   NAME:       XXXXXX, XXXXXX X.
   TELE:EXTSN 1357
   MAIL:STOP:  123/456

   RECORD 00002
   NAME:        (wk)                     wozwrat karetki


      9.2.13. DELETE

      DELETE [<diapazon>] [FOR <wyr>]
      DELETE FILE <imq fajla>

        wse   zapisi  wnutri   <diapazona>   (udowletworq`}ie
<wyr>,  esli  ukazano) pome~a`tsq na udalenie.  po  umol~ani`
<diapazon>   rawen  teku}ej  zapisi.   zapisi  fizi~eski   ne
udalq`tsq,  poka  ne  budet  ukazana  operaciq  PACK.  odnako
pome~ennye  na udalenie zapisi ne kopiru`tsq,  ne dobawlq`tsq
(APPEND)  i  ne sortiru`tsq.  dlq oviwleniq  ih  nado  wydatx
RECALL.   wizualxno  marka  predstawlqetsq  zwezdo~koj  mevdu
nomerom zapisi  i perwym polem.
      wo   wtorom   wariante  fajl  udalqetsq  s   diska,   a
prostranstwo oswobovdaetsq.  esli fajl zanqt (pod USE), to on
ne  udalqetsq.


      9.2.14. DISPLAY

      a). DISPLAY [<diapazon>] [FOR <wyr>] [<spis.wyr>] [OFF]
      b). DISPLAY STRUCTURE
      w). DISPLAY MEMORY
      g). DISPLAY FILES [ON <disk>] [LIKE <skelet>]

      DISPLAY - osnowa "rebus".  kone~naq celx wseh  operacij
nad   bazoj  - otobrazitx  dannye  bazy.   DISPLAY   pomogaet
osu}estwitx |tu celx,  dawaq neskolxko wariantow dlq  wyborki
velaemyh dannyh.

     w slu~ae "a" wsq ili ~astx teku}ej bazy otobravaetsq  na
|krane.  esli ne ukazany <diapazon>  i  FOR-fraza, wybiraetsq
teku}aq  zapisx.  esli  ne  ukazan <spis.wyr>,  to  wse  polq
otobrava`tsq  na |krane.  wyraveniq mogut   sodervatx   imena
polej,   peremennyh  pamqti  ili  literaly  (~isla,  simwoly,
logi~eskie). w  na~ale kavdoj otobravaemoj stroki,  esli   ne
ukazana   opciq  OFF,  stawitsq nomer  teku}ej  zapisi.  esli
ukazan   FOR,   to    dlq  otobraveniq   wybira`tsq   zapisi,
udowletworq`}ie <wyr>.

      posle  wywoda  gruppy  iz  15  zapisej,   DISPLAY  vdet
podtwevdeniq na prodolvenie.  komanda LIST identi~na DISPLAY,
no ona ne vdet posle wywoda gruppy zapisej,  i ee diapazon  -
wse zapisi. ESCAPE-simwol terminiruet komandy DISPLAY i LIST.

      w slu~ae "b" otobravaetsq struktura teku}ej bazy.

      w slu~ae "w" otobrava`tsq wse opredelennye  w nastoq}ij
moment peremennye pamqti (imq + zna~enie).

      slu~aj "g" - dlq otobraveniq .DBF-fajlow, raspolovennyh
na  umal~iwaemom  ustrojstwe  ili  na  ukazannom   <diske>, s
nekotoroj statistikoj. fraza LIKE pozwolqet otobravatx drugie
tipy   fajlow.  <skelet>,  oby~no w forme #.<tip>,  gde <tip>
estx  TXT,   FRM,  MEM  ili drugie  tri  simwola.  |ti  fajly
otobrava`tsq w komande SCP DIR.


      9.2.15. DO

      a. DO <fajl>
      b. DO WHILE <wyr>
            <predloveniq>
         ENDDO
      w. DO CASE
            CASE <wyr>
              <predloveniq>
            CASE <wyr>
              <predloveniq>
            ...
            [OTHERWISE]
              <predloveniq>
         ENDCASE

      w  slu~ae  "a" otkrywaetsq i ~itaetsq  <fajl>.  w  |tom
slu~ae  |to  - komandnyj  fajl.  on wesx  sostoit  iz  komand
"rebus".  DO  mogut  bytx  wloveny do  16  w  glubinu   (t.e.
komandnyj  fajl  movet sodervatx komandy DO,kotorye  wyzywa`t
drugie komandnye fajly).uprawlenie wozwra}aetsq po dostivenii
konca  fajla  ili  komandy RETURN.  esli  w  komandnom  fajle
wstre~ena komanda CANCEL,  to wse komandnye fajly zakrywa`tsq
i uprawlenie peredaetsq na displej.

      w  slu~ae  "b",   poka  <wyr>  istinno,  obrabatywa`tsq
posledu`}ie <predloveniq>,  po dostivenii neistinnosti  <wyr>
uprawlenie peredaetsq sledu`}ej za ENDDO stroke.

      primery:

   DO ACCNTPAY

   DO WHILE .NOT.EOF
     DISPLAY NAME
     ...
     SKIP
   ENDDO

     CASE    estx  ras{irenie  komandy    DO.  ne  su}estwuet
ograni~enij na ~islo fraz CASE w DO.

     DO CASE - strukturnaq procedura.  lu~{e wsego  obxqsnitx
ee ~erez IF-y:

   DO CASE                       IF ITEM='apelxsiny'
      CASE ITEM='apelxsiny'         <predloveniq>
        <predloveniq>            ELSE
      CASE ITEM='qbloki'            IF ITEM='qbloki'
        <predloveniq>                  <predloveniq>
      OTHERWISE                     ELSE
        <predloveniq>                  <predloveniq>
      ENDCASE                       ENDIF
                                 ENDIF

     sledowatelxno "rebus"  prowerqet <wyravenie> w CASE-fra-
zah, i budet obrabatywatxsq perwoe sprawedliwoe,  posle  ~ego
proizojdet wyhod na ENDCASE. esli ni odno ne werno, to wy~is-
lqetsq OTHERWISE.
