


                  wseso`znyj centr perewodow

         nau~no-tehni~eskoj literatury i dokumentacii

    reg. N

    udk                                                perewod N e-76232


    napisannaq na qzyke assemblera

    sistema uprawleniq relqcionnoj bazoj dannyh DBASE II


         perewod s anglijskogo qzyka firmennogo materiala


         DBASE II      
                        _

         ASSEMBLY-LANGUAGE

         RELATIONAL DATABASE MANAGEMENT

         SYSTEM

                ASHTON-TATE, 1981, 201P, USA



    Kratkaq annotaciq. opisywaetsq sitema uprawleniq relqcionnoj bazoj dannyh

                       DBASE II, rabota`}aq pod operacionnoj sistemoj CP/M.


                       takve opisywaetsq programma ZIP , kotoraq upro}aet

                       process sozdaniq formatow wywoda na pe~atx i formatow

                       wwoda s |krana, wposledstwii ispolxzuemyh w DBASE II.

                       izlovenie soprowovdaetsq primerami







                                perewod~ik n.a.nadolxskij

                                   kol-wo str. 263

                                   kol-wo il.   69

                                perewod wypolnen 20.02.84



                       moskwa 1984



    napisannaq na qzyke assemblera

    sistema uprawleniq relqcionnoj bazoj dannyh DBASE II


    sodervanie


    1.0 ispolxzowanie DBASE .......................................... 5

    2.0 trebowaniq sistemy ........................................... 9

    3.0 fajly DBASE....................................................10

             3.1 fajly baz dannyh .....................................11

             3.2 fajly pamqti..........................................12

             3.3 komandnye fajly.......................................13

             3.4 fajly formy dokumenta.................................14

             3.5 tekstowye fajly wywoda............................... 14

             3.6 indeksnye fajly.......................................14

             3.7 formatnye fajly.......................................14

    4.0 wyraveniq......................................................16

             4.1 funkcii...............................................17

             4.2 operacii..............................................25

    5.0 makropodstanowka...............................................30


    6.0 organizaciq interfejsa s processorami, otli~nymi ot DBASE..... 31

    7.0 klassy komand................................................. 33

    8.0 rabota na wsem |krane......................................... 38

    9.0 komandy........................................................41

             9.1 opredeleniq simwoli~eskih imen........................41

             9.2 prawila obrabotki.....................................45


             priloveniq................................................184

             a/primer komandnogo fajla.................................184

             b/spisok komand...........................................193

             w/ograni~eniq i prinuvdeniq...............................197

             g/soob}eniq ob o{ibkah....................................198

             programma DBASE II ,zapisywa`}aq formaty wywoda na pe~atx

             i formaty |krana ZIP......................................205

             zame~aniq.................................................244

             izmeneniq.................................................245


    uwavaemyj polxzowatelx DBASE II:


       blagodarim was za wybor DBASE II dlq wa{ih potrebnostej w programmiro-

    wanii.teperx ,kogda wy znakomy s mo}x` i gibkostx` DBASE II, wy,weroqtno,

    predstawlqete sebe,~to prinqtie DBASE kak qzyka ,otkrywaet interesnye

    wozmovnosti w prikladnom programmnom obespe~enii.

       opredeliw wavnostx razwitiq prilovenij ,ASHTON-TATE razrabotala nowoe

    obsluviwanie i nowu` programmu,dlq togo ~toby pomo~x wam w prodave wa{ih

    prilovenij DBASE II.

       sbornik prilovenij /APPLICATION JUNCTION/ qwlqetsq obsluviwaniem

    prilovenij,razrabotannyh dlq publikacii isto~nikow su}estwu`}ih prilove-

    nij DBASE w kataloge,recenziruemogo ASHTON-TATE programmnogo obespe~eniq.

    ASHTON-TATE takve zainteresowana w prodave prilovenij,napisannyh na DBASE.

    sbornik prilovenij sluvit rostu swqzej mevdu razrabot~ikami i pozwolqet

    ASHTON-TATE bolee |ffektiwno obsluviwatx programmnoe obespe~enie,kotoroe

    zakupaetsq.

       -RUNTIME qwlqetsq nowoj programmoj:wersiq DBASE "RUNTIME" /"period
        _______

    ispolneniq"/,kotoraq pozwolqet wam,kak razrabot~iku programmnogo

    obespe~eniq prodawatx wa{e prilovenie,ne trebuq ot wa{ego zakaz~ika

    zakupki kopii DBASE II. RUNTIME za}i}aet celostnostx wa{ej programmy i

    predostawlqet wam zakaz~ika tolxko na ispolnqemye programmy.

    RUNTIME dostupna tolxko awtoram programmnogo obespe~eniq,kotorye proda`t

    swoi priloveniq DBASE II.

       dlq togo,~toby inicializirowatx sbornik prilovenij,nam nuvna wa{a

    pomo}x. ASHTON-TATE o~enx zainteresowana w polu~enii izwestij o kakih-

    libo napisannyh wami priloveniqh DBASE.povalujsta,posylajte specifi~esku`

    informaci` o wa{ih produktah priloveniq,dlq togo,~toby my mogli pomo~x

    wam prodatx wa{e programmnoe obespe~enie,razrabotannoe pod DBASE.



                                iskrenne wa{a,


                                ASHTON-TATE




    1.0  ispolxzowanie DBASE


       dlq togo ~toby ispolnitx programmu DBASE ,pomestite distributiwnu`

    diskettu DBASE /ili , ~to predpo~titelxnej, kopi` |toj disketty/ na l`boj

    ime`}ijsq w rasporqvenii diskowod. ustanowite |tot diskowod, ~toby on byl

    biskowodom, ispolxzuemym po umol~ani`/ naprimer, esli disk pome}aetsq w

    diskowod "w", nape~atajte "w:", za kotorymi sleduet wozwrat karetki/ i

    zatem nape~atajte sledu`}u` stroku:

             DBASE

    posle |togo programma budet zagruvena w pamqtx i na~net swoe ispolnenie s

    zaprosa daty:

             ENTER DATE AS MM/DD/YY OR RETURN FOR NOME:

             /wwedite datu , kak mm/dd/uu ili wozwrat koretki ,esli bez:/


    |ta data budet postawlena w kaku`-to bazu dannyh, kotoraq izmenqetsq wo

    wremq posledu`}ej raboty, i takve budet raspe~atywatxsq w zagolowkah ko-

    mandy REPORT dlq l`bogo dokumenta, sgenerirowannogo wo wremq |togo ispol-

    neniq. data prowerqetsq na sootwetstwie kalendar`.

      predosterevenie:  prowerka kalendarq ne werno dlq 29 fewralq w godah


    1900 i 2100. dlq razdeleniq ~isel movet bytx ispolxzowana naklonnaq ~erta

    ili l`boj drugoj specialxnyj simwol /krome to~ki.


    primery prawilxnyh dat:

    1,1,81

    02 02 82

    3/17/83

    zatem na displej wydaetsq signalxnoe soob}enie:

    ***   DBASE   VER2.XXX***

    .

    to~ka wo wtoroj stroke qwlqetsq podskazkoj DBASE, kotoraq pokazywaet, ~to

    DBASE gotowa prinimatx komandy .komandami DBASE ,kak prawilo, qwlq`tsq

    predloveniq w powelitelxnom naklonenii: glagol, za kotorym mogut sledowatx

    frazy, da`}ie posledu`}ie naprawleniq prinimaemomu dejstwi`. DBASE skani-

    ruet kavdu` stroku polnostx`, do togo kak ispolnitx kaku`-libo ee ~astx.

    esli DBASE obnaruviwaet o{ibku w komande, to polxzowatelx uwedomlqetsq

    o nej ~erez soob}enie ob o{ibke, wydannoe na konsolx.oby~no polxzowatelx

    movet otkorrektirowatx o{ibo~nu` komandu i perezapustitx ee, wmesto togo,

    ~toby zanowo wwoditx komandu celikom. kogda DBASE obnaruviwaet o{ibku,


    kotoru` ona ne movet to~no opisatx, to ona predpolagaet ,~to o{ibka

    qwlqetsq sintaksi~eskoj i wyswe~iwaet o{ibo~nu` stroku so znakom woprosa

    w na~ale frazy, kotoraq wyzwala putannicu.


    primery isprawleniq o{ibok:

    .DISPRAY MEMORY

    ***UNKNOWY COMMAND***

    DISPRAY MEMORY         O{ibo~naq komanda wydaetsq kak |ho

    CORRECT AND RETRY? Y   da, korrektirowatx

    CHANGE FROM :PR        zamenitx bukwy PR

    CHANGE TO   :PL        na PL

    DISPLAY MEMORY         posle zameny,

    MORE CORRECTIONS ?/wozwrat koretki/ wozwrat koretki=izmenenij bolx{e net


    .STORE(2+2 TO X

    ***SYNTAX ERROR***

    ?                      ukazywaetsq cepo~ka(2+2

    STORE (2+2 TO X

    CORRECT AND RETRY? Y


    CHANGE FROM :+2

    CHANGE TO   :+2)

    STORE(2+2) TO X

    MORE CORRECTIONS ?N       net bolx{e izmenenij

    4                         rezulxtat


    .SUM TO X

    NO EXPRESSION TO SUM      poqsnenie: w SUM net wyraveniq

    SUM TO X

    CORRECT AND RETRY ? N     ne izmenqtx otbrositx |tu komandu


      programma takve movet bytx ispolnena sledu`}im obrazom:


    DBASE <imq fajla>


    w |tom slu~ae DBASE zagruvaetsq w pamqtx, osu}estwlqetsq dostup k

    komandnomu fajlu <imq fajla> i na~inaetsq neposredstwennoe ispolnenie

    |togo komandnogo fajla. |tot format osobenno polezen pri ispolxzowanii

    revima priwqzywaniq komandy QUIT sistemy DBASE.



    uprawlq`}ie simwoly


    stL-P - uprawlqet perekl`~atelem pe~ati/ smotri takve komandu SET PRINT/;

    CTL-U - uni~tovaet teku}e` stroku;

    STL-X - uni~tovaet teku}e` stroku/iskl`~aetsq pri redaktirowanii na wsem

            |krane;

    RUBOUT - uni~tovaet poslednij wwedennyj simwol;

    stL-H /ili BACKSRACE/ -uni~tovaet poslednij wwedennyj simwol;

    ESC  - osu}estwlqet wyhod iz opredelennyh komand, kotorye mogut dolgo

           rabotatx. naprimer , DISPLAY, COUNT, DELETE, INPUT, LIST, LOGATE,

           RECCALL,REPLAGE, SKIP, i SUM.krome togo ,ESC sluvit w ka~estwe

           wyhoda iz ACCEPT, INPUT, REPORT/ dialog/ i WALT. wo wseh slu~aqh

           ESC wozwra}aet uprawlenie w interaktiwnyj monitor i wydaet na

           displej podskazku- to~ku/./.

           wo wremq ispolneniq komandnogo fajla, DBASE prowerqet na simwol

           ESC pered na~alom kavdoj komandnoj stroki.

           zame~anie: |ta sposobnostx wyhoda movet bytx otmenena s pomo}x`

           komandy SET ESCAPE OFF.


    2.0. trebowaniq sistemy.


      dlq togo,~toby DBASE mogla prawilxno rabotatx,dolvna bytx predostawlena

    sisteia so sledu`}imi swojstwami:

      a/ mikroprocessornaq sistema,bazirowannaq na 8080 ili Z80;


      b/ 48k bajt /ili bolee/ pamqti,wkl`~aq CPI ,DBASE ispolxzuet pamqtx do

         {estnadcatiri~nogo adresa a400.

         zame~anie: na nekotoryh ma{inah,wkl`~aq APPLE,HEATH i NORTHSTAR,

         nuvno bolx{e,~em 48k bajt,iz-za uweli~ennogo razmera modulq CP/M;


      w/ operacionnaq sistema CP/M  /wersiq I.4 ili 2.h/;


      g/ odno ili bolee ustrojstw zapomina`}ih bolx{ej emkosti,rabota`}ih

         pod CP/M /oby~no diskowody s gibkimi ili twerdymi diskami/;


      d/ ustrojstwo CRT /displej/ s prqmoj adresaciej kursora /predpo~titelx-

         nej CRT s 24-mq strokami i 80-` kolonkami/,esli budut ispolxzowatxsq

         operacii,rabota`}ie na wsem |krane;


      e/ neobqzatelxnoe ustrojstwo dlq postro~noj pe~ati teksta

         /dlq nekotoryh komand/.



    3.0.  fajly DBASE.


      w osnownom,fajly qwlq`tsq naborom informacii,raspolovennoj w zapomina-

    `}em ustrojstwe bolx{ej emkosti,kotoroe sodervit dannye polxzowatelq.

    informaci` movno zapomnitx w fajle ili polu~itx iz fajla.

    fajly mogut bytx obxedineny w gruppy 6-ti tipow,kavdyj iz kotoryh libo

    otnositsq k konkretnoj operacii DBASE,libo sozdaetsq DBASE.

      wse fajly DBASE qwlq`tsq standartnymi fajlami CP/M,s polem imeni iz

    8-mi simwolow i tipom fajla iz 3-h simwolow.

    nive pere~isleny tipy fajlow,ispolxzuemye po umol~ani` sistemoj DBASE.

    dlq kavdoj komandy,kotoraq osu}estwlqet dostup k fajlu,pole tipa movet

    bytx opu}eno i DBASE predpolagaet tip,prinqtyj po umol~ani` dlq |toj ko-

    mandy.naprimer,esli fajl bazy dannyh0 uve imeet DBF w ka~estwe swoego ti-

    pa,to ego ne nuvno budet ukazywatx w kakoj-libo iz komand manipulirowaniq

    fajlami.


      fajly baz dannyh                 - .DBF

      fajly pamqti                     -..mem

      komandnye fajly                  - .CMD

      fajly formata dokumenta       - .FRM

      tekstowye fajly wywoda        -..TXT

      indeksnye fajly               - .NDX

      formatnye fajly               - .FMT


      l`boe imq fajla,dopustimoe w CP/M,movet bytx ispolxzowano dlq obra}eniq

    k fajlam DBASE. napomnim,~to esli wo wremq dostupa k kakomu-libo fajlu,

    polxzowatelem ne predostawlqetsq tip fajla,DBASE predpolagaet tipy fajlow,

    ukazannye wy{e. dlq polu~eniq dopolnitelxnoj informacii,otnosq}ejsq k

    imenam i tipam fajlow,obra}ajtesx k publikacii firmy DIGITAL RESEARCH

    "CP/M USER'S GUIDE".


    3.1.  fajly baz dannyh /.DBF/


      bazami dannyh qwlqetsq wse,~to nahoditsq wokrug DBASE.fajly baz dannyh

    DBASE sostoqt iz zapisi struktury i nulej w 65535-ti zapisqh dannyh.

    zapisx struktury qwlqetsq po su}estwu otobraveniem formata zapisi dannyh.

    struktura movet sodervatx do 32-h razli~nyh whodow.kavdyj whod struktury

    ssylaetsq k pol` dannyh w zapisi dannyh.struktura hranit sledu`}ie dannye:

      * imq polej dannyh

      * tip dannyh w polqh dannyh

      * razmer polej dannyh

      * raspolovenie dannyh w zapisqh


    imq polq dannyh - imq movet bytx dlinoj do 10-ti simwolow.wo wseh opera-

    ciqh,ispolnqemyh wo wremq raboty DBASE,k polqm dannyh budut obra}atxsq

    po imeni. imena polej qwlq`tsq po swoej prirode bukwenno-cifrowymi

    /pl`s dwoeto~ie/. odnako,imena polej dolvny na~inatxsq s bukwy,a dwoeto~iq

    dolvny bytx wstawleny wnutrx imeni.

    neskolxko primerow sleduet nive.




    primery imen polej dannyh:

      a

      a123456789

      ABC:DEF

      A:B:C:D:E

      ABCD:       neprawilxno,dwoeto~ie ne wstawleno wnutrx

      ABC,DEF     neprawilxno,zapqtaq ne dopustima.


    tip dannyh - DBASE razre{aet tri tipa dannyh,kotorye ispolxzu`tsq dlq

    specifikacii sodervimogo polej dannyh. imi qwlq`tsq: cepo~ki simwolow

    /'ABCD'/,~islowye weli~iny /2 ili 5*18/, logi~eskie zna~eniq /TRUE/FALSE-

    istina / lovx/.


    razmer polq - |to koli~nstwo simwolxnyh pozicij /{irina/,neobhodimoe dlq

    sodervaniq dannyh,kotorye budut pome}eny w |to pole.

    polq cepo~ek simwolow i ~islowye polq mogut bytx w dlinu ot 1-oj do 254-h

    pozicij. pri pods~ete dliny ~islowogo polq dolvna u~itywatxsq desqti~naq

    to~ka. logi~eskie polq wsegda ime`t odnu pozici`. k tomu ve,dlq ~islowyh

    polej koli~estwo pozicij sprawa ot desqti~noj to~ki takve movet

    sodervatxsq w strukture.

    opredeliw odin raz strukturu,polxzowatelx movet wwoditx zna~eniq dannyh

    w polq,dlq takogo koli~estwa zapisej,kotoroe neobhodimo emu.

    oby~no imeetsq tolxko odin strukturirowannyj fajl dannyh,dostupnyj

    polxzowatel` w l`boj zadannyj moment wremeni /|tot fajl,imenuemyj kak

    fajl USE ili fajl,nahodq}ijsq w USE/ispolxzowanii//.

    odnako,imeetsq sposob ispolxzowatx dwe bazy dannyh odnowremenno.

    smotrite komandy SELECT i JOIN.


    3.2.  fajly pamqti (.mem).


      fajly qwlq`tsq stati~nymi fajlami sodervimogo pamqti,kotorye razdeleny

    na peremennye,podobnye peremennym zapisi. |ti peremennye izwestny,kak

    peremennye pamqti i ograni~eny w koli~estwe 64-h {tuk.

    zna~eniq peremennyh pamqti ne zawisit ot ispolxzuemoj bazy dannyh.

    to estx,poziciq zapisi fajla w USE ne imeet otno{eniq k peremennym w

    fajle pamqti. peremennye pamqti ispolxzu`tsq dlq hraneniq konstant,

    rezulxtatow wy~islenij,cepo~ek simwolxnyh podstanowok /smotrite p.5/ i

    tak dalee. prawila priswoeniq imen,ukazanie tipa i ustanowki razmera

    peremennyh pamqti identi~en tem prawilam,kotorye byli opisany wy{e dlq

    peremennyh polq.

      komanda SAVE zapisywaet wse teku}ie peremennye pamqti w fajl pamqti;

    a komanda RESTORE s~itywaet sohranennyj fajl pamqti nazad w peremennye

    pamqti.


    3.3.   komandnye fajly /.CMD/


      koMandnyj fajl sodervit posledowatelxnostx komandnyh utwervdenij DBASE.

    |to predostawlqet polxzowatel` metod sohraneniq nabora ~asto ispolxzuemyh

    posledowatelxnostej komand,kotoryj zatem pozwolqet emu bolee prosto mani-

    pulirowatx s fajlami bazy dannyh.



      komandnye fajly mogut bytx sozdany i modificirowany tekstowymi redakto-

    rami i/ili processorami slowa,hotq w nastoq}ee wremq DBASE movet sama

    sozdawatx/redaktirowatx komandnye fajly s pomo}x` MODIFY COMMAND.

    komandnye fajly mogut sodervatx l`bye komandy DBASE, odnako,nuvno bytx

    wnimatelxnym,poskolxku nekotorye komandy /CREATE, INSERT, APPEND,podawae-

    mye s klawiatury/ trebu`t ot polxzowatelq wwoditx informaci` pomimo

    sodervimogo komandnogo fajla.

      komandnye fajly mogut bytx wloveny,to estx komandnye fajly mogut soder-

    vatx komandy DO, kotorye zatem ispolnq`tsq. krome togo,nuvno obratitx

    wnimanie na to,~to DBASE pozwolqet bytx otkrytymi w l`boj moment wremeni

    maksimalxno 16 fajlam.

    po|tomu,esli imeetsq fajl w USE,to tolxko 15 komandnyh fajlow mogut bytx

    wloveny. opredelennye komandy takve ispolxzu`t rabo~ie fajly /naprimer,

    SORT ispolxzuet dwa dopolnitelxnyh fajla;

    REPORT,INSORT,COPY,SAVE,RESTORE i PACK ispolxzu`t odin dopolnitelxnyj

    fajl/.

    naprimer,esli wydaetsq komanda SORT iz komandnogo fajla samogo nivnego

    urownq wlovennosti,to mogut bytx ispolxzowany tolxko 13 urownej komand-

    nyh fajlow /t.e.fajl USE,dwa rabo~ih fajla komandy SORT i 13 komandnyh

    fajlow=16/. wsqkij raz,kogda komandnyj fajl zapuskaet komandu RETURN

    ili wsqkij raz,kogda wstre~aetsq konec komandnogo fajla, komandnyj

    fajl zakrywaetsq i ego resursy stanowqtsq dostupnymi dlq drugih komand.


    3.4. fajly formy dokumenta /.FRM/

      KOMAndA REPORT libo generiruet fajl formy, libo ispolxzuet su}estwu`}ij

    fajl formy.fajl formy sodervit instrukcii generatora dokumenta na zaglawie

    zagolowki, itogowu` ~astx i sodervimoe kolonok. fajly formy konstruiru`tsq

    programmoj DBASE, KAK ~astx dialoga komandy REPORT.oni mogut bytx modifi-

    cirowany s pomo}x` tekstowyh redaktorow i processorow slowa, odnako,

    oby~no leg~e opredelitx nowu` formu dokumenta sna~ala.


    3.5. tekstowye fajly wywoda /.tht/

      tekstowye fajly wywoda sozda`tsq kogda ukazywa`tsq komandy "SET

    ALTERNATE TO"<imq fajla> i "SET ALTERNATE ON".smotrite komandu SET,

    ~toby uznatx bolx{e podrobnostej. krome togo, komandy COPY i aRREND

    predpolaga`t tekstowoj fajl/.tht/ ,wsqkij raz kogda ispolxzu`tsq revimy

    SDF/format dannyh sistem/ ili DELIMITED.


    3.6 indeksnye fajly /NDX/


      indeksnye fajly generiru`tsq komandoj INDEX sistemy DBASE. oni sodervat

    kl`~i i ukazateli na zapisi fajla bazy dannyh. indeksirowanie qwlqetsq

    metodom DBASE ,KOTOryj daet bystroe razme}enie dannyh w bolx{u` bazu

    dannyh. smotrite komandu INDEX dlq polu~eniq bolx{ej informacii.


    3.7. formatnye fajly /.FMT/


    formatnyj fajl sodervit tolxko utwervdenie "@" i kommentarii "*".

    on identificiruetsq komandoj "SET FORMAT TO <imq fajla> i aktiwiziruetsq

    posledu`}imi komandami READ. podobno komandnym fajlam /kotorye pohovi

    na formatnye fajly/, formatnye fajly sozda`tsq i modificiru`tsq s pomo}x`

    l`bogo horo{ego tekstowogo processora ili s pomo}x` wozmovnostej

    wozmovnostej MODIFY  COMMAND. odnako ,formatnye fajly ne qwlq`tsq neobho-

    dimymi. utwervdenie "@" i "*" oby~no stroqtsq w komandnom fajle, kotoryj w

    nih nuvdaetsq.


    4.0. wyraveniq


      wyraveniq w DBASE qwlq`tsq gruppoj prostyh |lementow i operatorow,

    kotoraq movet bytx wy~islena dlq togo,~toby sformirowatx nowoe prostoe

    zna~enie. naprimer,"2+2" qwlqetsq wyraveniem,kotoroe movet bytx wy~isleno

    i polu~eno zna~enie "4". wyraveniq po swoemu harakteru neobqzatelxno

    wsegda ~islowye wyraveniq "ABC + DEF" ,movet bytx wy~isleno i polu~eno

    zna~enie "ABCDEF" /konkatenaciq cepo~ek simwolow/ ili wyravenie "I>2"

    movet bytx wy~isleno i polu~eno logi~eskoe zna~enie ".F." /lovx/.

    wyraveniq w DBASE formiru`tsq iz sledu`}ih sostawnyh ~astej:

       * peremennye polq bazy dannyh

       * peremennye pamqti

       * konstanty w komandah /literaly/

       * funkcii

       * operatory


      peremennye - peremennoj w DBASE qwlqetsq l`boe pole dannyh,zna~enie

    kotorogo movet izmenqtxsq.imena polej zapisi w fajle DBASE,k kotoroj w

    teku}ij moment ssyla`tsq,qwlq`tsq peremennymi. ih sodervimoe movet bytx

    izmeneno putem pereme}eniq ukazatelq fajla ili putem redaktirowaniq

    teku}ej zapisi.

    peremennye takve sozda`tsq i izmenq`tsq komandami STORE,RESTORE,COUNT,

    SUM,WAIT,ACCEPT ili INPUT. |ti peremennye nazywa`tsq peremennymi pamqti.

    peremennaq movet bytx odnoj iz treh tipow peremennyh:

       * cepo~ki simwolow

       * ~islowye weli~iny

       * logi~eskie


      konstanty - konstanta /ili literal/ qwlqetsq |lementom dannyh,kotoryj

    imeet neizmennoe samoopredelqemoe zna~enie. naprimer,I,"ABC" i .t. qwlq-

    `tsq konstantami,kotorye ime`t postoqnnoe zna~enie nezawisimo ot

    raspoloveniq bazy dannyh ili komand,rabota`}ih nad peremennymi pamqti.

    oni qwlq`tsq literalami,poskolxku oni qwlq`tsq zna~eniem,kotoroe oni

    predstawlq`t /w protiwopolovnostx peremennym,kotorye qwlq`tsq

    imenami,predstawlq`}imi zna~enie/. zna~eniqmi,kotorye oni predstawlq`t

    sootwetstwenno qwlq`tsq: ~islo odin, cepo~ka simwolow / sodeva}aq bukwy

    "A" ,"B" ,"C" /i logi~eskoe /bulewo/ zna~enie TRUE (".T." ).

    konstanty tipa cepo~ki simwolow dolvny bytx zakl`~eny w prostye ('),

    dwojnye kawy~ki (") ili w kwadratnye skobki (I,I).

    esli cepo~ka simwolow sodervit odin iz |tih "razdelitelej", to on

    dolven bytx zakl`~en w paru drugih razdelitelej.

    naprimer, cepo~ki 'ABC IDEFI GHF i I ABC' DEF' GHI I qwlq`tsq prawilxnymi

    cepo~kami simwolow,w to wremq kak 'ABC' DEF' GHI - net.

    logi~eskie konstanty /istina/lovx/ predstawlq`tsq s pomo}x` "F","T","N",

    ili "N" dlq lovnyh zna~enij /obozna~aq lovx /FALSE/ ili net /NO/ i

    "t","T","Y" ili "Y" dlq istinnyh zna~enij /obozna~aq istinu /TRUE/ ili

    da /YES//.


    4.1. funkcii


      funkcii qwlq`tsq operaciqmi specialxnogo zna~eniq, kotorye mogut bytx

    ispolxzowany w wyraveniqh dlq wypolneniq teh we}ej, kotorye trudny ili

    newozmovny pri isplxzowanii oby~nyh wyravenij w DBASE ime`tsq tri osnownyh

    tipa funkcij: ~islowye, simwolxnye i logi~eskie.tip funkcii baziruetsq

    na tipe zna~eniq, generiruemomu |timi funkciqmi.


    celo~islennaq funkciq:

      INT(<~islowoe wyravenie>)


    |ta funkciq wy~islqet ~islowoe wyravenie i otbrasywaet drobnu` ~astx

    /esli ona estx/, dlq togo ~toby proizwesti celo~islennoe zna~enie.

    zna~eniem funkcii INT qwlqetsq obrezannoe zna~enie ~islowogo wyraveniq.


    primery:

    . ? INT (123.456)

    123

    .STORE 123.456 TO X

    123.456

    . ? INT (X)

    123


    funkcii nomera zapisi


    #

    zna~eniem funkcii nomera zapisi qwlqetsq celoe ~islo, sootwetstwu`}ee

    teku}emu nomeru zapisi.


    primery:


    .?#

    4        /predpolagaq ,~to baza dannyh nahoditsq w ispolxzowanii /USE/

             i raspolovena w pozicii N4/

    .SKIP

    .?#

    5


    funkciq cepo~ki simwolow


    STR(<~islowoe wyravenie>,<dlina>,(<desqti~naq drobx>))


    |ta funkciq wy~islqet ~islowoe wyravenie i proizwodit cepo~ku simwolow.

    zna~eniem funkcii STR qwlqetsq cepo~ka simwolow dlinoj <dlina>. esli

    ukazywaetsq <desqti~naq drobx>, to ona qwlqetsq koli~estwom cifr stoq}ej

    prawee desqti~noj to~ki. wse specifikatory mogut bytx literalami,

    peremennymi ili wyraveniqmi.

    predosterevenie:  kogda |ta funkciq ispolxzuetsq dlq generacii kl`~a

    indeksirowaniq, specifikatory dolvny bytx literalami.



    primer:

    .? STR(123.456,9,3)

    123.456


    funkciq podcepo~ki:


    $(<simwolxnoe wyravenie>,<na~alo>,<dlina>)

      |ta funkciq formiruet cepo~ku simwolow iz ukazannoj ~asti drugoj cepo~ki

    simwolow. zna~eniem funkcii podcepo~ki qwlqetsq cepo~ka simwolow dlinoj

    <dlina> ,zapolnennaq simwolami iz simwolxnogo wyraveniq, na~ina`}egosq

    simwolom s namerom <na~alo> i w koli~estwe<dlina> simwolow.<na~alo> i

    <dlina> mogut bytx literalami, peremennymi ili wyraveniqmi.

      esli <dlina> bolx{e, ~em dlina zna~eniq <simwolxnogo wyraveniq> ili sim-

    wolom s nomerom <na~alo> i poziciej simwola ukazannogo parametrom <dlina>

    w cepo~ke <simwolxnoe wyravenie> kon~ilisx simwoly,to rezulxtatom budut

    tolxko te simwoly ,kotorye ime`tsq. smotrite nivesledu`}ie primery.

    predosterevenie:  kogda funkciq ispolxzuetsq dlq generacii kl`~a

    indeksirowaniq, specifikatory dolvny bytx literalami.


    primery:

    .?$('ABCDEFGHI',3,3)

    CDE

    .STORE 3 TO M

    3

    .STORE 3 TO N

    3

    .?$('ABCDEFGHI',M,N)

    CDE

    .$?('ABCDEFGHI',6,7)

    FGHI

    . DISPLAY FOR '8080' $TITLE


    funkciq preobrazowaniq cepo~ki w ~islo


    VAL (<cepoka simwolow>)


      |ta funkciq formiruet celoe ~islo iz cepo~ki simwolow, sostawlennoj iz

    cifr, znakow i do 1-oj desqti~noj to~ki. dlina celogo ~isla rawna koli-


    ~estwu simwolow w cepo~ke. esli cepo~ka simwolow w cepo~ke. esli cepo~ka

    simwolow na~inaetsq s ~islowyh simwolow, no imeet ne~islowye simwoly ,to

    zna~enie, generiruemoe funkciej VAL, qwlqetsq rezulxtatom preobrazowaniq

    stoq}ih w na~ale ~islowyh simwolow.


      drugim sposobom preobrazowaniq simwolxnyh ~isel w ~islowye weli~iny "&"

    /smotrite 5.0. makrosy/.

    "&" preobrazuet cepo~ku w ~islo /wkl`~aq desqti~nu` drobx/, kogda

    wstre~aetsq podstanowka.


    primery:

    .? VAL('123')

    123

    .? VAL('123XXX')

    123

    .? VAL('123.456')

    123

    .STORE'123.456' TO NUM

    123.456


    .? 14+&NUM

    137.456


    funkciq dliny


    LEN(<cepo~ka simwolow>)


      |ta funkciq proizwodit celoe ~islo, zna~eniem kotorogo qwlqetsq

    koli~estwo simwolow w nazwannoj cepo~ke.


    primer:

    .STORE 'ABC' TO STRING

    .? LEN(STRING)

    3




    funkciq uni~tovaemoj zapisi

     =

      |to -logi~eskaq funkciq, kotoraq imeet zna~enie .TRUE., Esli teku}aq

    zapisx pome~ena na uni~tovenie, i .FALSE., w protiwnom slu~ae.


    primer:

    .?=

    .t.      /predpolagaq ,~to baza dannyh nahoditsq w ispolxzowanii /USE/

             i ~to ee teku}aq zapisx uni~tovena komandoj DELETE/


    funkciq konca fajla


    eoF

      |to- logi~eskaq funkciq, kotoraq imeet zna~enie .TRUE. ,

    esli dostignut konec fajla dlq fajla, nahodq}egosq w USE /teku}aq zapisx

    budet poslednej zapisx` w baze dannyh/.


    primery:



    ? EOF

    .F.      /predpolagaq ,~to baza dannyh nahoditsq w ispolxzowanii /USE/

              i ne raspolovena w pozicii poslednej zapisi/

    .GGTO BOTTOM

    .? EOF

    .F.

    .SKIP

    .? EOF

    .T.


    funkciq poiska podcepo~ki


    L(<I-aq cepo~ka simwolow>,<2-aq cepo~ka simwolow>)

      |ta funkciq proizwodit celoe ~islo,zna~eniem kotorogo qwlqetsq nomer

    simwola cepo~ki <2-aq cepo~ka simwolow>,na~ina`}ego podcepo~ku,identi~nu`

    cepo~ke <I-aq cepo~ka simwolow>. esli I-aq cepo~ka ne wstretilasx wo 2-oj

    cepo~ke,to funkciq    budet imetx zna~enie nulx. zame~anie: funkciq

    pohova na operator podcepo~ki "S" ,za iskl`~eniem togo,~to ona goworit,

    gde I-aq cepo~ka najdena wo 2-oj cepo~ke i movet lu~{e informirowatx

    "gde I-aq cepo~ka nahoditsq u 2-oj cepo~ki".


    primer:

    .?  ('DEF','ABCDEFGHI')

     4


    funkciq werhnego registra

    ! (<simwolxnoe wyravenie>)

      |ta funkciq proizwodit to~no taku` ve cepo~ku,~to i simwolxnoe wyravenie

    s toj li{x raznicej,~to wse simwoly nivnego registra /malenxkie bukwy/

    preobrazu`tsq w0 simwoly werhnego registra /bolx{ie bukwy/.


    primer:

    .?!('ABC')



    funkciq preobrazowaniq ~isla w simwol

    CHR(<~islowoe wyravenie>)


      |ta funkciq proizwodit simwol koda ASCII,|kwiwalentnyj zna~eni`

    ~islowogo wyraveniq. to estx,esli wyravenie bylo ~islom 13,to CHR(13)

    sgeneriruet simwol koda ASCII wozwrat karetki.

    |ta funkciq polezna,kogda polxzowatel` neobhodimo neposredstwenno poslatx

    uprawlq`}ie simwolyustrojstwam apparatury, naibolee ~asto postro~nym

    pe~ata`}im ustrojstwam.


    primer:

    .?'ABCD'+CHR(13)+' '

    ABCD



    funkciq daty

    DATE()


      |ta funkciq generiruet cepo~ku simwolow,kotoraq sodervit sistemnu`

    datu w formate mm/DD/YY. cepo~ka simwolow wsegda imeet dlinu 8.

    ni~ego ne stoit mevdu kruglymi skobkami,oni li{x pokazywa`t,~to |to-

    funkciq /dlq togo,~toby izbevatx problem,swqzannyh s peremennymi,ime`}imi

    imq "DATE"/.

      sistemnaq data DBASE movet bytx wwedena wo wremq zapuska DBASE ili w

    l`boe drugoe wremq,ispolxzuq komandu SET DATE TO.


    primer:


    .?DATE()

    08/15/81

    .STORE DATE () TO MEMVAR

    08/15/81

    .SET DATE TO 4 1 82

    .?DATE()

    04/01/82



    funkciq fajla

    FILE(<simwolxnoe wyravenie>)

      |to- logi~eskaq funkciq,kotoraq imeet zna~enie .TRUE., esli <simwolxnoe

    wyravenie> qwlqetsq imenem su}estwu`}ego fajla, i .FALSE,esli takogo fajla

    net.


    primer:


    .?FILE('TRACE')

    .T.

    .USE TRACE



    funkciq tipa

    TYPE(<wyravenie>)


      |ta funkciqproizwodit odnosimwolxnu` cepo~ku,kotoraq sodervit "C","N"

    ili "L",esli <wyravenie> qwlqetsq,sootwetstwenno, tipa simwolxnoe,~islo-

    woe ili logi~eskoe.




    primer:


    .STORE I TO X

    .? TYPE(X)

    N



    funkciq TRIM

    TRIM(<cepo~ka simwolow>)


      funkciq TRIM udalqet iz polq kone~nye probely,dlq togo,~toby izbevatx

    problem,swqzannyh s wyrawniwaniem kolonok pri wyda~ah na prosmotr.

    zame~anie: |ta funkciq ne dolvna bytx ispolxzowana w komande INDEX,

    tak kak dlina kl`~a dolvna bytx wy~islima pri wnutrennem ispolxzowanii

    DBASE.


    primery:


    .STORE 'ABC' TO S

    .? LEN(S)

    .G

    .STORE TRIM(S) TO S

    .? LEN(S)

     3



    4.2.  operacii


      ime`tsq ~etyre osnownyh tipa operacij: arifmeti~eskie, srawneniq

    / otno{eniq /, logi~eskie i operacii nad cepo~kami simwolow.

    harakternye operatory kavdogo klassa pere~isleny nive, a primery priwo-

    dqtsq dlq menee znakomyh operatorow.

      wavno znatx, ~to obe "storony" operatorow dolvny bytx odnogo i togo ve

    tipa. to estx, operator movet skladywatx tolxko celye ~isla s celymi

    ~islami, ili konkatenirowatx simwoly s simwolami, skladywaq celoe ~islo

    s simwolom , polu~im w rezulxtate sintaksi~esku` o{ibku w sisteme DBASE.




    .STORE 3 TO A

     3

    .STORE '3' TO B

    3

    .? A+B

    ***SYNTAX ERROR***

     ?

    ? A+B

    CORRECT AND RETRY (Y/N)?     /otkorrektirowatx i powtoritx Y/N?/


    |ta o{ibka proizo{la ,potomu ~to ~isla i simwoly na ma{innom urowne

    rassmatriwa`tsq po-raznomu; ~islo 3 qwlqetsq w to~nosti tem ve samym,

    ~to i {estnadcatiri~noe 3, w to wremq kak simwol 3 imeet zna~enie w kode

    ASCII rawnoe {estnadcatiri~nomu 33. programma priwoditsq w zame{atelxstwo

    ona ne znaet, to li ej osu}estwlqtx slovenie, to li delatx konkatenaci`.

    ispolxzowanie teh ve samyh peremennyh iz predydu}ego primera movet bytx

    sledu`}im:

    .? A+VAL(B)

     6

    cepo~ka "3" preobrazowana w celoe ~islo i wypolneno slovenie.



    arifmeti~eskie operatory  /generiru`t arifmeti~eskie rezulxtaty/


       + = slovenie

       - = wy~itanie

       * = umnovenie

       / = delenie

       ()= kruglye skobki dlq gruppirowaniq


    primery:


    .? (4+2)*3     primer ispolxzowaniq arifmeti~eskih kruglyh skobok,

    18             primenqemyh dlq gruppirowaniq pri wy~isleniqh.

    .? 4+(2*3)

    10



    operatory sloveniq   / generiru`t logi~eskie rezulxtaty /


    < = menx{e ~em

    > = bolx{e ~em

    = = rawno

    = = ne rawno

    <= =menx{e ~em ili rawno

    >= =bolx{e ~em ili rawno

    S = operator podcepo~ki / naprimer,esli A i B qwlq`tsq cepo~kami simwolow,

        to ASB budet TRUE /istina/, togda i tolxko togda, kogda cepo~ka a

        rawna w ili sodervitsq w w/.


    primery:


    .?'ABC'S,ABCDEFGHI'      primer operatora

    .t.                      podcepo~ki S

    .? 'ABCD'S'GHIKL'

    .F.

    .DISRLAY FOR '8080' STITLE   w rezulxtate wse zapisi s '8080' gde-libo

                                 w pole TITLE wyswe~iwa`tsq na |kran




    logi~eskie operatory   / generiru`t logi~eskie rezulxtaty /


       .OR. = bulewo "ili"

       .AND. = bulewo "i"

       .NOT. = bulewo "net" / unarnyj operator /


    primer:


    .STORE T TO A

    .T.

    .STORE F'TO B

    .F.

    .? A .OR. B

    .T.

    .STORE. OT. B TO C

    .T.

    .? A .AND. C

    .T.



    Operatory, rabota`}ie s cepo~kami simwolow /generiru`t cepo~ki w ka~estwe

                                                rezulxtatow/


    += konkatenaciq cepo~ek

    -= konkatenaciq cepo~ek s udaleniem probelow


    primery:

    .STORE 'ABCD' TO A       pri konkatenacii cepo~ek dwe cepo~ki

    ABCD                     neposredstwenno prisoedinq`tsq k drug drugu.

    .STORE 'EFGH'TO B

    EFGH

    .? A+B

    ABSD EFGH

    .STORE 'ABCDE' TO A      pri konkatenacii cepo~ek s podawleniem probelow,

    ABCDE                    hwostowye probely pereme}a`tsq w konec cepo~ki.

    .STORE '1234 67' TO B    na~alxnye i wkl`~ennye wnutrx probely ne izme-

    1234 67                  nq`tsq.

    .? A-B

    ABSDE1234 67


    porqdok ispolneniq


      nabory operatorow, arifmiti~eskih, nad cepo~kami simwolow i logi~eskih,

    ime`t porqdok, w kotorom oni ispolnq`tsq, to estx, kakaq operaciq delaetsq

     prevde drugih operacij. sledu`}aq tablica pokazywaet porqdok star{instwa

    dlq kavdogo iz treh osnownyh klassow operatorow. na kavdom iz urownej/1,2

    i t. d./, porqdok ispolneniq qwlqetsq oby~nym ,slewa-naprawo.


    primer:

    .? 4+2*4

    10

    -----------------------------------------------------------------------

    star{instwo            ! star{instwo                 ! star{instwo

    arifmiti~eskih         ! operatorow,                 ! logi~eskih

    operatorow             ! rabota`}ih s cepo~kami      ! operatorow

                           ! simwolow                    !

    -----------------------------------------------------------------------

    1/kruglye skobki,      ! kruglye skobki, funkcii     !  .NOT.

              funkcii      !                             !


    2/ unarnye +,-         ! otno{eniq, $                ! .AND.

                           ! /operator podcepo~ki/       !

    3/ *,/                 ! +,- /konkatenaciq/          ! .oR.

    4/ +,-                 !                             !

    5/ otno{eniq           !                             !

    ------------------------------------------------------------------------

    5.0 makropodstanowka


      wsqkij raz kogda w komande wstre~aetsq ampersend/&/, stoq}ij pered

    imenem peremennoj pamqti tipa cepo~ki simwolow, DBASE zamenqet znak & i

    imq peremennoj pamqti na cepo~ku simwolow, kotoraq  qwlqetsq zna~eniem

    |toj peremennoj pamqti. |to pozwolqet polxzowatel` opredelitx odnavdy

    nekotorye ~asti komandy i wyzywatx ih l`boe ~islo raz w razli~nyh

    komandah.

      makrosy polezny kogda dolvny ~asto ispolxzowatxsq slovnye wyraveniq.

    oni takve pozwolq`t peredawatx parametr wnutrx komandnogo fajla. wse

    simwoly mevdu ampersendom i sledu`}im specialxnom simwolom /wkl`~aq pro-

    bel/ prinima`tsq kak imq peremennoj pamqti.

      esli polxzowatelx ho~et prisoedinitx simwoly k simwoli~eskoj podstanowke

    to imq peremennoj pamqti dolvno zakan~iwatxsq to~koj. wo wremq podstanowki

    to~ka, podobno ampersendu, budet udalena.

      esli ampersend ne pred{estwuet prawilxnomu imeni peremennoj pamqti ,to

    ras{irenie ne osu}estwlqetsq iampersend ostaetsq w komandnoj stroke.


    primery:



    .ACCERT "wwedite bukwu nazwaniq diskowoda " to DR

    ISE &DR: DATAFILE    /wo wremq ispolneniq budet B:DATAFILE, esli w otwet

                          na komandu ACCERT bylo wwedeno "B"/

    .STORE 'DELETE RRECORD 'TO T

    &T 5                  /wo wremq ispolneniq budet komanda DELETE RECORD 5/


    drugie primery smotrite w prilovenii a.


    6.0. organizaciq interfejsa s prcessorami, otli~nymi ot DBASE


      DBASE movet s~itywatx dannye iz fajlow, kotorye byli sozdany

    processorami, otli~nymi ot DBASE /naprimer, BASIC, FORTRAN, PASCAL i movet

    generirowatx fajly, kotorye mogut bytx prinqty drugimi processorami.

      komanda aPPEND sposobna ~itatx standartnye tekstowye fajly w kode ASCII

    / ispolxzuq sogla{enie o stroke teksta operacionnoj sistemy CP/M ,kotoraq

    goworit o tom ,~to za strokoj sleduet wozwrat karetki i perewod stroki/

     putem ukazaniq revima SDF /format dannyh sistemy/. podobnym obrazom,

    komanda CORY generiruet standartnye fajly formata ASCII ,kogda

    ispolxzuetsq revim SDF. esli qwno ne otwergalisx, to tipami fajlow dlq

    fajlow, sozdannyh s revimami SDF i DELIMITED, budut .TXT.

      nekotorye processory i qzyki ~ita`t i zapisywa`t fajly w frmate s

    opredelennymi granicami. w |tom formate wse polq otdelq`tsq zapqtymi i wse

    cepo~ki simwolow zakl`~a`tsq w dwojnye kawy~ki. DBASE movet prisoedinitx

    /APPEND/ i skopirowatx /COPY/ |ti fajly, kogda kl`~ewoe slowo DELIMITED

    wkl`~eno w komandu. esli ispolxzuetsq swojstwo DELIMITED, to

    predpolagaetsq i SDF.

      poskolxku dlq opredeleniq granic cepo~ek simwolow nekotorye processory

    ime`t odino~nye kawy~ki, a nekotorye- ispolxzu`t dwojnye kawy~ki, to

    APPEND dopuskaet l`boj iz wariantow. komanda COPY oby~no generiruet

    odino~nye kawy~ki, no wywodit l`boj simwol, kak opredelqemyj s pomo}x`

    frazy WITH predloveniq DELIMITED.rekomenduetsq strogo ispolxzowatx tolxko

    odino~nye i dwojnye kawy~ki.

      wstre~aetsq osobyj slu~aj, kogda"," ispolxzuetsq wo fraze WITH  dlq

    komandy COPY. w0 |tom slu~ae obreza`tsq wse hwostowye probely w cepo~kah

    simwolow i na~alxnye probely w ~islowyh weli~inah. k tomu-ve ,cepo~ki

    simwolow ne budut zakl`~atxsq w kawy~ki ili w kakie-libo drugie simwoly.



    primery:


    .ISE <imq fajla>.DBF

    .COPY TO <imq fajla>.TXT DELIMITED WITH"


    .ISE <imq fajla>.DBF

    .APPEND FROM <imq fajla>. DAT SDF


    7.0. Klassy komand


      wo wremq oby~nogo ispolxzowaniq DBASE, razli~nye komandy ob'edinq`tsq w

    gruppy dlq wypolneniq opredelennoj zada~i. takie gruppy predstawleny nive.

    nekotorye komandy DBASE qwlq`tsq obrazowannymi w sootwetstwii so

    strukturnymi konstrukciqmi, kotorye ispolxzu`t samye "sowremennye" qzyki

    dlq wy~islitelxnyh ma{in. |ti komandy nahodqtsq w klasse komand komandnyj

    fajl. ime`tsq nekotorye specialxnye prawila, kotorye uprawlq`t

    ispolxzowaniem |tih komand, kotorye ob'qsneny w punkte 9.0.

    sozdaniq fajlow- sledu`}ie komandy sozda`t fajly baz dannyh i swqzannye s

    nimi fajly:

      *CREATE    -sozdaet nowye strukturirowannye fajly baz dannyh;

      *COPY      -kopiruet su}estwu`}ie bazy dannyh dlq sozdaniq kopij;

      *MODIFY    -izmenqet struktury baz dannyh;

      *REPORT    -sozdaet fajl frmata dokumenta;

      *SAVE      -kopiruet peremennye pamqti w zapomina`}ie ustrojstwa bolx{oj

                  emkosti;

      *INDEX     -sozdaet indeksnyj fajl;

      *REINDEX   -perestraiwaet staryj indeksnyj fajl;


      *JOIN      -wydaet ob'edinenie dwuh baz dannyh;

      *TOTAL     -wydaet bazu dannyh itogowyh zapisej.


    dobawlenie dannyh- sledu`}ie komandy dobawlq`t nowye zapisi dannyh bazam

    dannyh:


      *APPEND    -dobawlqet dannye k koncu fajla;

      *CREATE    -pozwolqet dobawlqtx dannye pri sozdanii;

      *INSERT    -wstawlqet dannye w fajl.


    redaktirowanie dannyh- sledu`}ie komandy redaktiru`t dannye w baze dannyh:


      *CHANGE    -redaktiruet kolonki polej;

      *BROWSE    -prosmotr i redaktirowanie okna wo wesx |kran;

      *DELETE    -prime~aet zapisi na uni~tovenie;

      *EDIT      -izmenqet ukazannye polq dannyh w baze dannyh;

      *PACK      -udalqet zapisi, pome~ennye na uni~tovenie;

      *REGALL    -stiraet otmetku na uni~tovenie;

      *REPLAGE   -zame}aet polq dannyh zna~eniqmi;


      *READ      -zame}aet dannye zna~eniqmi, opredelennymi polxzowatelem w

                  revime raboty na wsem |krane;

      *UPDATE    -pozwolqet paketnye korrektirowki bazy dannyh.


    komandy wyda~i dannyh na prosmotr- sledu`}ie komandy wyda`t na prosmotr

    dannye, wydelennye iz bazy dannyh:


      *e         -wydaet na prosmotr polxzowatel` frmatirowannye dannye na

                  displej /CRT/ ili postro~noe pe~ata`}ee ustrojstwo;

      *BROWSE    -wydaet na prosmotr do 19-ti zapisej s takim koli~estwom

                  polej, kotoroe movet pomestitxsq na |kran;

      *COUNT     -pods~itywaet ~islo zapisej ,kotorye otbira`tsq w

                  sootwetstwii s nekotorym uslownym wyraveniem;

      *DISPLAY   -wydaet na prosmotr zapisi, polq i wyraveniq;

      *READ      -wydaet na prosmotr dannye i podskazywa`}u` informaci` w

                  revime raboty na wsem |krane;

      *REPORT    -formatiruet i wydaet na prosmotr dokument dannyh;

      *SUM       -wy~islqet i wydaet na prosmotr summu wyraveniq iz gruppy

                  zapisej bazy dannyh;



      *?         -wydaet na prosmotr spisok wyraveniq.


    komandy redaktirowaniq - sledu`}ie komandy pozicioniru`t ukazatelx teku}ej

    zapisi na zapisi w sootwetstwii s naprawleniem:

      *CONTINUE - stanowitsq w pozici` sledu`}ej zapisi w sootwetstwii s

                 uslowiqmi, ukazannymi komandoj LOCATE;

      *FIND     - ustanawliwaet pozici` zapisi, sootwetstwu`}ej kl`~u w

                  indeksirowannyh fajlah;

      *GOTO     - ustanawliwaet pozici` ukazannoj zapisi;

      *LOCATE   - nahodit zapisx, kotoraq sootwetstwuet uslowi`;

      *SKIP     - prodwigaet pozici` wpered ili nazad.


    komandy manipulirowaniq fajlami - sledu`}ie komandy rabota`t s celymi

    fajlami baz dannyh:

      *APPEND   - prisoedinqet fajly DBASE ili fajly w formate dannyh

                  sistemy / SDF /;

      *COPY     - kopiruet bazy dannyh w drugie bazy dannyh ili fajly SDF;

      *DELETE   - uni~tovaet fajly;

      *DO       - specificiruet komandnyj fajl, iz kotorogo budut prinimatxsq

                  posledowatelxnye komandy;

      *RENAME   - izmenqet imq fajla;

      *SELEKT   - osu}estwlqet perekl`~enie wnutri fajla, nahodq}egosq w

                  ispolxzowanii /USE/;

      *SORT     - sozdaet kopi` bazy dannyh, kotoraq sortiruetsq po odnomu iz

                  polej dannyh;

      *USE      - opredelqet fajl bazy dannyh, kotoryj budet ispolxzowatxsq

                  wsemi operaciqmi, do teh por, poka ne budet wydana drugaq

                  komanda USE.


    komandy manipulirowaniq peremennymi pamqti - sledu`}ie komandy

    manipuliru`t peremennymi pamqti:


      *ACCEPT    - zapominaet cepo~ku simwolow w peremennoj pamqti;

      *COUNT     - zapomina`t pods~ety w peremennoj pamqti;

      *DISRLAY   -movet wydatx na prosmotr peremennye pamqti;

      *INPUT     -zapominaet wyraveniq w peremennyh pamqti;

      *RESTORE   -wosstanawliwaet mnovestwo peremennyh pamqti;

      *SAVE      -sohranqet peremennye pamqti w fajle;

      *STORE     -zapominaet wyraveniq w peremennyh pamqti;


      *SUM       -zapominaet rezulxtaty summirowaniq w peremennyh pamqti;

      *WALT      -prinimaet odino~nyj simwol posle navatiq klawi{i w peremen-

                  nu` pamqti.


    komandy komandnogo fajla- sledu`}ie komandy pomoga`t w uprawlenii i

    ispolxzowanii komandnyh fajlow:


      *ACCEPT    -razre{aet wwod cepo~ek simwolow w peremennye pamqti;

      *CANGEL    -otmenqet ispolnenie komandnogo fajla;

      *Do        -wyzywaet komandnyj fajl na ispolnenie i pozwolqet

                  ispolxzowatx strukturnye cikly w komandnyh fajlah;

      *IF        -pozwolqet uslownoe wypolnenie komand;

      *ELSE      -obespe~iwaet alxternatiwnyj putx ispolneniq komandy wnutri

                  IF;

      *ENDDO     -ograni~itelx komandy DO WHILE;

      *ENDIF     -ograni~itelx komandy IF;

      *INPUT     -razre{aet wwod wyravenij w peremennye pamqti;

      *LOOP      -pereskakiwaet na na~alo komandy DO WHILE;

      *MODIFY    -pozwolqet redaktirowatx komandnye fajly;


      *RETURN    -zakan~iwaet komandnyj fajl;

      *SET       -ustanawliwaet parametry uprawleniq DBASE;

      *WALT      -priostanawliwaet obrabotku komandnogo fajla.


    komandy uprawleniq ustrojstwami -sledu`}ie komandy uprawlq`t periferijnymi

    ustrojstwami ,podobnymi postro~nym pe~ata`}im ustrojstwam i displeqm /CRT/


      *EJECT     -osu}estwitx progon stranicy na ustrojstwo LIST;

      *ERASE     -o~istitx |kran displeq /CRT/.


    8.0.  rabota na wsem |krane.


      klawi{i uprawleniq kursorom dlq raboty na wsem |krane qwlq`tsq

    sledu`}imi:

    CTL-E,A - wozwra}aet nazad na predydu}ee pole dannyh.

    CTL-X,F - prodwigaet wpered na sledu`}ee pole dannyh.

    CTL-S   - wozwra}aet na odin simwol w pole dannyh.

    CTL-D   - prodwigaet wpered na odin simwol w pole dannyh.

    CTL-Y   - o~i}aet teku}ee pole probelami.

    CTL-V   - perekl`~aet mevdu revimami perezapisi i wstawki.

    CTL-G   - uni~tovaet simwol pod kursorom.

    RUBOUT  - uni~tovaet simwol slewa ot kursora.

    CTL-Q   - prerywaet rabotu na wsem |krane i wozwra}aet k oby~nomu

              uprawleni` DBASE. izmeneniq peremennyh bazy dannyh

              otbrasywa`tsq.

    kogda nahodimsq w EDIT:

    CTL-U   - perekl`~aet teku}u` zapisx mevdu dwumq sostoqniqmi:

              pome~ennaq na uni~tovenie i ne pome~ennaq.

    CTL-R   - zapisywaet teku}u` zapisx nazad na disk i wydaet na prosmotr

                 predydu}u` zapisx / t.e. wozwra}aet nazad na odnu zapisx/.

    CTL-C    -zapisywaet teku}u` zapisx nazad na disk i wydaet na prosmotr

              sledu`}u` zapisx, t.e. prodwigaet wpered na sledu`}u` zapisx.

    CTL-W    -zapisywaet teku}u` zapisx na disk i wyhodit iz revima

    CTL-O     |krannogo redaktirowaniq /CTL-O dlq SUPERBRAIN/.


    kogda nahodimsq w MODIFY:

    CTL-N    -pereme}aet wse |lementy wniz na odin |lement, dlq togo, ~toby

              oswoboditx mesto dlq wstawki nowogo polq.

    CTL-T    -uni~tovaet pole tam, gde nahoditsq kursor, i pereme}aet wse

              nivesledu`}ie polq wwerh.

    CTL-C    -prokru~iwaet polq wniz.

    CTL-R    -prokru~iwaet polq wwerh.

    CTL-W    -zapisywaet dannye na disk i wozobnowlqet oby~nye

    CTL-O     operacii /CTL-O dlq SUPERBRAIN/.

    CTL-Q    -osu}estwlqet wyhod bez sohraneniq izmenenij.


    kogda nahodimsq w APPEND,CREATE i INSERT:

    CTL-C    -zapisywaet teku}u` zapisx na disk i perehodit k sledu`}ej

    CTL-R     zapisi.


    wozwrat karetki - kogda izmeneniq ne delalisx i kursor nahoditsq w perwo-

                      na~alxnooj pozicii - zakan~iwaet rabotu na wsem |krane

                      i wozobnowlqet oby~nye operacii DBASE.


    kogda nahodimsq w BROWSE:

    CTL-U    - perekl`~aet teku}u` zapisx mevdu dwumq sostoqniqmi:

               pome~ennaq na uni~tovenie i nepome~ennaq na uni~tovenie.

    CTL-R    - zapisywaet teku}u` zapisx nazad na disk i wydaet na prosmotr

               predydu}u` zapisx, t.e. wozwra}aet nazad na odnu zapisx.

    CTL-C    - zapisywaet teku}u` zapisx nazad na disk i wydaet na prosmotr

               sledu`}u` zapisx, t.e. prodwigaet wpered na sledu`}u` zapisx.

    CTL-W    - zapisywaet teku}u` zapisx na disk i osu}estwlqet wyhod

    CTL-O      iz revima |krannogo redaktirowaniq /CTL-O dlq SUPERBRAIN/.


    CTL-Z    - pereme}aet okno na odno pole wlewo.

    CTL-B    - pereme}aet okno na odno pole wprawo.


    9.0.   komandy


      w |tom punkte nahodqtsq to~nye opredeleniq komand DBASE.

    polxzowatelx dolven oznakomitxsq s |timi fundamentalxnymi ponqtiqmi,

    prevde ~em ~itatx ostaw{u`sq ~astx informacii o komandah.


    9.1.   opredeleniq simwoli~eskih imen.


      ponimanie togo,~to realxno ozna~a`t specialxnye simwoli~eskie imena

    w osnownyh formatah komand DBASE,qwlqetsq viznenno wavnym. |to ne tolxko

    pomovet w to~nom ponimanii togo,~to dejstwitelxno predstawlqet soboj

    format komandy ,|to pomovet pokazatx potencialxnye wozmovnosti kavdoj

    komandy. povalujsta,pro~itajte sledu`}u` tablicu ot na~ala do konca.


    simwoli~eskoe imq              smyslowoe zna~enie


    <komandy> ili            - ozna~aet l`bye prawilxnye utwervdeniq DBASE;

    <utwervdeniq>              ono takve ozna~aet utwervdeniq celikom.

                               IF bez ENDIF /ili DO WHILE bez ENDDO/ qwlqetsq

                               tolxko polowinoj utwervdeniq, w to wremq kak

                               REPORT predstawlqet soboj celoe utwervdenie.

    <cepo~ka simwolow> ili   - ozna~aet cepo~ku simwolow; cepo~ki simwolow

    <simw.cepo~ka>             qwlq`tsq takimi simwolami, kotorye zakl`~eny w

                               odino~nye kawy~ki /'/, dwojnye kawy~ki /"/ ili

                               kwadratnye skobki /I I/.

    <razdelitelx>            - ozna~aet kakoj-libo specialxnyj simwol;

                               specialxnymi simwolami qwlq`tsq takie simwoly

                               klawiatury, kotorye qwlq`tsq znakami punktuacii

                               podobno l`bomu iz sledu`}ih simwolow "()*=, .

    <wyravenie>              - ozna~aet wyravenie; wyravenie movet bytx sozda-

                               no putem soedineniq woedino ~isel, funkcij,

                               imen polej ili cepo~ek simwolow  kakim-libo

                               wyrazitelxnym sposobom. "4+8" i "DOC ='3'.OR.

                               DOC='4'" oba qwlq`tsq wyraveniqmi, takve kak i

                               "$'ABC'+ &SOMESTR, p,3= 'ABCDEFG'".

    <spisok wyravenij>       - ozna~aet spisok wyravenij, razdelennyh zapqty-

                               mi; oby~no ispolxzu`tsq prostye wyraveniq.

                               dwa wyraveniq iz primerow w predydu}em paragra-

                               fe skoree qwlq`tsq slovnymi, a perwoe wyravenie

                               movet rassmatriwatxsq kak prostoe.


    <pole>                   - ozna~aet kakoe-libo imq polq zapisi; w kavdom

                               iz primerom, kotorye nahodqtsq w posledu`}ih

                               komandah, kavdaq iz baz dannyh imeet imena

                               polej, podobnye ITEM, COST, DATE i t.d.

    <spisok polej > ili      - ozna~aet spisok imen polej zapisej, otdelennyh

    <spisok>                   drug ot druga zapqtymi.

    <fajl> ili               - ozna~aet kakoe-libo imq fajla; oni qwlq`tsq

    <imq fajla>                imenami fajlow, kotorye dolvny pod~inqtxsq

                               prawilam dlq imen fajlow, kotorye byli ustanow-

                               leny w punkte 3.0.

    <fajl formata>           - ozna~aet imq fajla formata dokumenta; smotrite

                               punkt 3.4 i komandu REPORT, dlq togo ~toby

                               uznatx kak ispolxzowatx i po~emu nuven |tot tip

                               fajla.


    <indeksnyj fajl>         - ozna~aet imq fajla, gde pome}aetsq

                               indeksirowannaq informaciq; smotrite punkt 3.6

                               i komand INDEX, dlq togo ~toby uznatx, uznatx,

                               kak ispolxzowatx i po~emu nuven |tot tip fajla.

    <kl`~>                   - ozna~aet imq polq, kotoroe budet ispolxzowatxsq

                               pri indeksirowanii; kl`~i wavny. movet bytx

                               neskolxko indeksow dlq l`boj zadannoj bazy

                               dannyh, kavdyj w otdelxnom kl`~e/ ili w ob'edi-

                               nenii k`~ej/. kl`~i mogut bytx <wyraveniqmi>

                               ili imenami polej. smotrite komandu INDEX dlq

                               polu~eniq bolx{ej informacii.

    <peremennaq>             - ozna~aet kaku`-libo peremennu` pamqti; peremen-

                               nymi pamqti qwlq`tsq takie peremennye, kotorye

                               sozda`tsq komandami STORE ili putem ispolxzowa-

                               niq komandy, kotoraq sohranqet nekotoroe zna~e-

                               nie dlq posledu`}ego ispolxzowaniq   / ACCEPT,

                               INPUT i t. d./ imeetsq maksimum iz 64-h

                               peremennyh pamqti, kotorye razre{eny w DBASE.

    <spisok peremennyh>      - ozna~aet spisok peremennyh pamqti, otdelennyh

                               drug ot druga zapqtymi.

    <p>                      - ozna~aet literal; literalami qwlq`tsq ~isla,

                               kotorye ne wzqty iz peremennyh pamqti ili qwlq-

                               `tsq rezulxtatami wy~islenij.

                               "4+8" ne qwlqetsq literalom, w to wremq kak "4"

                               i "9876" qwlq`tsq literalami.

    <oblastx dejstwiq>       - ozna~aet opredelenie oblasti dejstwiq komandy;

                               oblastx dejstwiq ozna~aet kak mnogo ohwatywaet

                               komanda. ime`tsq tri zna~eniq, kotorye <oblastx

                               dejstwiq> movet prinimatx.

    ALL                      - ozna~aet wse zapisi w fajle.ALL ozna~aet, ~to

                               fajl perematywaetsq na na~alo i l`baq komanda

                               i}et wse zapisi w fajle na udowletworenie uslo-

                               wij. dlq nekotoryh komand ALL ustanawliwaetsq

                               po umol~ani`. dlq drugih komand umol~aniem

                               budet teku}aq zapisx /osobenno dlq komand,

                               kotorye ime`t naibolx{ie potencialxnye wozmov-

                               nosti razru{itx informaci`, takih kak komanda

                               DELETE /. kavdoe opisanie komandy goworit o tom

                               kakowa oblastx dejstwiq, ustanowlennaq po umol-

                               ~ani`. w slu~ae ispolxzowaniq frazy FOR w

                               kakoj-libo iz komand, ALL budet umol~aniem.

    NEXT N                   - ozna~aet sledu`}ie N-zapisej, wkl`~aq teku}u`

                               zapisx; NEXT takve na~inaet s zapisi, kotoraq

                               ukazana w teku}ij moment. a N dolvno imetx

                               literalxnoe zna~enie, to estx, ne dolvno bytx

                               peremennoj pamqti ili wyraveniem.

    RECORD N                 - ozna~aet tolxko odnu zapisx N; snowa, N ne

                               dolvno bytx peremennoj pamqti ili wyraveniem

                               -ono dolvno bytx literalom, prevde ~em s nim

                               budut rabotatx.

    FOR <wyravenie>          - l`baq zapisx, poka nekotoroe logi~eskoe wyra-

                               venie imeet istinnoe zna~enie. esli ne ukazano

                               obratnoe, nali~ie predloveniq FOR wyzywaet ska-

                               nirowanie wseh zapisej /s ustanowkoj na na~alo

                               bazy dannyh/.

    WHILE <wyravenie>        - l`bye posledowatelxnye zapisi, poka nekotoroe

                               logi~eskoe wyravenie /<wyravenie>/ imeet istin-

                               noe zna~enie. uprawlq`}aq komanda ostanawliwa-

                               etsq w perwyj moment,kogda wyravenie stanowitsq

                               lovnym.



                               nali~ie predloveniq WHILE podrazumewaet

                               NEXT 65534,esli ne ukazano obratnoe, i ne osu-

                               }estwlqet ustanowku na na~alo bazy dannyh.

    ime`tsq drugie specialxnye simwoli~eskme imena, ispolxzuemye w formatah

    komand. oni qwlq`tsq osobymi w komande i budut obxqsneny w tele komandy.


    9.2.  prawila obrabotki.


      kak i dlq wseh "qzykow" komand, imeetsq nabor prawil, kotorym nuvno sle-

    dowatx dlq togo, ~toby uspe{no rabotatx programme.

    sledu`}ie prawila primenq`tsq pri translqcii osnownogo formata komand w

    bolee poleznye specifi~eskie formaty.

    I. glagol l`boj komandy dolven na~inatxsq s perwogo otli~nogo ot probela

      simwola komandnoj stroki; frazy mogut sledowatx za nim w l`bom porqdke.

      glagol qwlqetsq slowom dejstwiq; CREATE,APPEND,REPORT,SET,DISPLAY,ERASE-

      wse qwlq`tsq primerami glagolow -oni wyzywa`t harakternoe dejstwie.

      frazy |kwiwalentny nare~iqm; oni bolee polno opisywa`t dejstwie.

      FOR,NEXT,WITH qwlq`tsq primerami slow,kotorye na~ina`t frazy. ko wsem

      |tim slowam iz primerow obra}a`tsq kak k "kl`~ewym slowam".


    2.dlq togo, ~toby otdelitx slowa i frazy, movet bytx ispolxzowano l`boe

      koli~estwo probelow. odnako ve napomnim, ~to probely pods~itywa`tsq pri

      kontrole ograni~eniq w 254 simwola, opisannom w 3-m prawile.


    3.wse komandy dolvny imetx dlinu menx{e,~em 254 simwola /dave posle makro-

      ras{ireniq/.


    4.komandy i kl`~ewye slowa mogut bytx sokra}eny do perwyh ~etyreh /ili

      bolee/ simwolow. naprimer,DISPLAY STRUCTURE movet bytx wwedeno kak

      DISP STRU ili DISPL STRUCT ili i t.d. dolvno napomnitx, ~to sokra}enie

      takve dolvno bytx korrektno proizneseno po bukwam do toj to~ki, gde

      ono zakan~iwaetsq.


    5.dlq wwoda komand, kl`~ewyh slow, imen polej, imen peremennyh pamqti

      ili imen fajlow mogut bytx ispolxzowany libo bolx{ie, libo malenxkie

      bukwy.


    6.otdelxnye ~asti komand qwlq`tsq neobqzatelxnymi, to estx, pri ispolx-

      zowanii komandy nekotorye ~asti komand mogut bytx opu}eny.

      dlq togo, ~toby pokazatx, kakyie frazy qwlq`tsq neobqzatelxnymi konst-

      rukciqmi,kotorye mogut bytx opu}eny, w formatah komand ispolxzu`tsq

      kwadratnye skobki /   /. |ti konstrukcii qwlq`tsq frazami, kotorye

      ispolxzu`tsq dlq modifikacii dejstwiq komand. slowa iz bolx{ih bukw

      qwlq`tsq kl`~ewymi sowami i oni dolvny bytx wwedeny wsqkij raz, kogda

      ispolxzuetsq fraza, kotoraq ih sodervit.


    7.zarezerwirowannoe slowo qwlqetsq kl`~ewym slowom, kotoroe generiruet

      o{ibku, esli ispolxzuetsq dlq ~ego-to drugogo, ~em to, dlq ~ego ego

      polagalosx ispolxzowatx. w DBASE net zarezerwirowannyh slow.

      odnako, opredelennye imena polej i imena fajlow mogut wyzwatx trudnosti,

      naprimer, komandnyj fajl s imenem WHILE budet neprawilxno interpretiro-

      watxsq processorom komandy DO, kak utwervdenie DO WHILE, w rqde komand

      ALL ne movet bytx ispolxzowano w ka~estwe imeni polq.

      woob}e, horo{ij prakti~eskij sowet zakl`~aetsq w tom, ~to nuvno izbegatx

      ispolxzowaniq kl`~ewyh slow DBASE  w ka~estwe imen polej ili imen

      fajlow.



    8.utwervdeniq DBASE w komandnom fajle dolvny bytx prawilxno wloveny.

      wlovitx ~to-libo ozna~aet to, ~to odno utwervdenie dolvno bytx podhodq-

      }im wnutri drugogo utwervdeniq. |to iskl`~itelxno wavno dlq prawilxnogo

      ispolneniq grupp IF-ELSE-ENDIF i DO WHILE-ENDDO. esli utwervdeniq wlo-

      veny prawilxno,to komandnyj fajl pokazywaet |to, delaq abzac.

      DBASE ne lowit o{ibki wlovennoti, kak by tam ni bylo, ona budet ispol-

      nqtx komandnyj fajl neizwestnym sposobom.

      nive priwodqtsq primery togo, kak prawilxno osu}estwlqtx wlovenie |tih

      dwuh utwervdenij.


      DO WHILE .NOT. EOF     |to qwlqetsq prawilxnym sposobom osu}estwleniq

        .                    wlovennosti.

       utwervdeniq           utwervdenie IF-ELSE-ENDIF polnostx` nahoditsq

        .                    wnutri utwervdeniq DO WHILE-ENDDO.

      IF A .AND. B           to~no takve wtoroe utwervdenie DO WHILE-ENDDO

       .                     polnostx` nahoditsq wnutri ~asti ELSE utwervde-

      bolee wlovennye        niq IF-ELSE-ENDIF.

      utwervdeniq

       .

      ELSE                   to~no takve prosto pokazatx i bolx{ie urowni wlo-

       DO WHILE A<=57        vennosti, poskolxku DBASE pozwolqet su}estwowanie

        .                    o~enx bolx{ego koli~estwa wlovennostej.

        e}e bolee wlo-

        vennye utwervdeniq

        .

        ENFDO

        .

        utwervdeniq togo ve urownq,

        ~to i "bolee wlovennye utwervdeniq"

        .

        ENDIF

        .

        utwervdeniq togo ve urownq,~to i "utwervdeniq"

        .

        ENDDO.


    DO WHILE .NOT. EOF       |to estx primer NO NO.ENDDO pere{el za granicu

      .                      gruppy IF-ENDIF, to estx, dwa utwervdeniq wlo-

    utwervdeniq              veny neprawilxno.

      .

     IF ~to-libo,~to izmenqet  komandnyj fajl, kotoryj sodervit |ti utwerv-

     zna~eniq                  deniq,ne budet rabotatx kak nuvno, a DBASE

      .                        ne obxqsnit po~emu.

    ENDDO

      .

    bolee wlovennye utwervdeniq

      .

    ENDIF


    ?

    -

    ?I<spisok wyravenij>I

    ?? I<spisok wyravenij>I


      |ta komanda qwlqetsq specializirowannym formatom komandy DISPLAY;

    ona |kwiwalentna DISPLAY OFF< wyravenie>. ona movet bytx ispolxzowana dlq

    togo ~toby pokazatx zna~enie wyraveniq ili spiska wyravenij.


    komanda "znak woprosa" /movno proiznositx "~to estx" movet ispolxzowatx

    peremennye pamqti,polq bazy dannyh, konstanty ili funkcii. "?" bez

    wyraveniqwywodit pustu` stroku. |to swojstwo qwlqetsq ~asto poleznym w

    komandnyh fajlah dlq "otkrytiq"wyda~ na displej.

      wtoroj format |toj komandy "??" wedet sebq podobno odino~nomu "?", za

    iskl`~eniem togo, ~to pered raspe~atkoj wyraveniq ne delaetsq perewod

    stroki ili wozwrat karetki. |to movet bytx ispolxzowano w komandnyh fajlah

    dlq togo  ,~toby wywesti bolee odnogo wyraveniq w odnoj i toj ve stroke

    wywoda.


    primery:


    .ISE EXAMPLE

    .4

    .<#

    4

    .? NAME

    CHANG, LEE

    .? 5+9


    14


      nive priwoditsq obrazec komandnogo fajla, kotoryj ispolxzuet ? dlq togo

    ~toby otwesti mesto dlq yda~i na displej. komandnyj fajl ustanawliwaetsq

    dlq ispolneniq sledu`}ej komandy:

    "DBASE B:FILE".  DBASE otwe~aet na komandnyj fajl ispolneniem komandnogo

    fajla.


    SET DEFAULT TO G

    USE TRAGE INDEX TRAGE


    DISP STRU

    ?

    ACCERT "wwedite segodnq{nee ~islo." to DTE

    SET DATA TO BDTE

    RELEASE DTE

    RETURN




    @

    -

    @<koordinaty> I SAY<wyravenie> I USING<format>II

             I GAT<peremennaq>I PISTURE< format>II


      |ta komanda rabotaet s komandami SET FORMAT TO, ERASE, EJECT, CLEAR,

    GETS i READ i qwlqetsq naibolee mo}nym sposobom dlq wyda~i na prosmotr

    specifi~eskoj, formatirowannoj informacii, ispolxzuq dlq |togo |kran ili

    postro~noe pe~ata`}ee ustrojstwo. sposob "@" ob'qsnqetsq izmeneniqmi,

    soglasu`}imi s tem, kak ispolxzuetsq komanda SET FORMAT TO. krome togo

    prinimaetsq wo wnimanie, nahoditsq li ili net w dejstwii kakaq-libo iz

    drugih komand, a takve zawisit ot komandy SET. wse kombinacii obsuvda`tsq

    nive.

      <koordinatami> qwlq`tsq "h,u" i mogut prinimatx odin iz dwuh smyslowyh

    zna~enij, libo oni qwlq`tsq koordinatami |krana, libo oni qwlq`tsq

    koordinatami postro~nogo pe~ata`}ego ustrojstwa.

    "h,u" otme~a`t stroku /h/ i stolbec /u/. w bolx{instwe displeew /CRT/

    |kran, orientirowannyj na koordinaty, imeet diapozon po "h" 23, a diapozon

    po "u"  ot 0 do 79, to estx, 24 stroki po 80 kolonok.


    DBASE ispolxzuet 0-u` stroku dlq wyda~i soob}enij polxzowatel` i

    polxzowatelx dolven izbegatx ee ispolxzowaniq. postro~noe pe~ata`}ee

    ustrojstwo, orientirowannoe na koordinaty, imeet diapozon i po "h", i

    po "u", rawnym ot 0 do 254. dlq l`bogo iz |tih dwuh zna~enij koordinaty

    mogut bytx kakimi-libo literalami,~islowymi peremennymi pamqti ili ~is-

    lowymi wyraveniqmi. komanda SET FORMAT ispolxzuetsq dlq togo,~toby osu-

    }estwitx wybor mevdu |timi dwumq zna~eniqmi.

      kogda wydana komanda SET FORMAT TO SCREEN /kotoraq qwlqetsq umol~aniem/,

    komanda " "wyzywaet wyda~u dannyh na |kran. koordinatnaq para o,o ozna~aet

    perwu` simwolxnu` pozici` w lewom werhnem uglu |krana displeq.

    / k |toj pozicii ~asto obra}a`tsq kak k pozicii HOME /dom//.

    para 10,15 ozna~aet II-u` stroku i 16-yj stolbec |krana displeq.

    opqtx ve o-aq stroka |krana ne dolvna bytx ispolxzowana. komandy " "

    mogut bytx wydany na |kran w l`bom porqdke. to estx, komanda movet skazatx

    /SAY/ ~to-to w stroke 15 do togo,kak skavet /SAY/ komanda w 10-oj stroke.

    podobnym obrazom, stolbcy mogut zapolnqtxsq w l`bom porqdke.

      kogda wydana komanda SET FORMAT TO PRINT, komanda " " wyzywaet wyda~u

    dannyh na postro~noe pe~ata`}ee ustrojstwo. koordinatnaq para o,o otnosit-

    sq k lewomu werhnemu uglu bumagi. komandy " " dlq postro~nogo pe~ata`}ego

    ustrojstwa dolvny wydawatxsq po porqdku. esli0 |togo ne delatx, budet

    mnogo bumagi tratitxsq bespolezno. polxzowatelx movet hotetx pretendowatx

    na to, ~toby ispolxzowatx pi{u}u` ma{inku /w samom dele ona estx/.

    wse komandy w stroke 5 dolvny pred{estwowatx komandam w stroke 6, krome

    togo,wse komandy w 10-m stolbce dolvny pred{estwowatx komandam w 20-m

    stolbce i t.d.

    esli |togo ne delatx ,pered tem, kak nape~atatx nowu` stroku, budet

    proizwoditxsq progon stranicy.

      kogda wydana komanda SET FORMAT TO SCREEN, komanda ERASE o~i}aet |kran

    ot wsej informacii, kotoraq pered |tim byla na nem, oswobovdaet wse koman-

    dy GETS /smotrite nive/ i sbrasywaet koordinaty w o,o. kogda wydana koman-

    da SET FORMAT TO PRINT, EJECT delaet progon stranicy i sbrasywaet koordi-

    naty w o,o.

      fraza SAY ispolxzuetsq dlq wyda~i na prosmotr wyraveniq, kotoroe ne

    budet izmeneno posledu`}im redaktirowaniem,osu}estwlqemym komandoj READ.

    podfraza USING ispolxzuetsq dlq formatirowaniq wyraveniq, wydannogo frazoj

    SAY. direktiwy formatirowaniq obxqsnq`tsq nive. horo{im delom qwlqetsq to,

    ~toby wsegda ispolxzowatx podfrazu USING. DBASE pozwolqet sebe wolxnosti s

    wyraveniem, esli net USING.

      fraza SAY movet bytx ispolxzowana pri rabote libo s |kranom, libo s

    postro~nym pe~ata`}im ustrojstwom. odnako, komandy GETS budut raspozna-

    watxsq tolxko togda,kogda wydana komanda SET FORMAT TO SCREEN.

      fraza GET wydaet na prosmotr teku}ee zna~enie peremennoj polq ili pere-

    mennoj pamqti. peremennaq dolvna su}estwowatx do togo,kak wydana fraza GET

     i podwervena posledu`}emu redaktiroani` s pomo}x` komandy READ.

    fraza PICTURE movet bytx ispolxzowana s frazoj GET dlq togo, ~toby pozwo-

    litx specialxnoe formatirowanie i kontrolx prawilxnosti wwodimyh dannyh.

    / smotrite komandu READ dlq polu~eniq bolx{ej informacii/. esli

    predlovenie PICTURE ne zadano, to tip dannyh /simwolxnoj, ~islowoj i

    logi~eskoj/ formatiruetsq neqwnym PICTURE.

                                    