       5.3.17. rabota so strokami



       funkcii dannoj gruppy pozwolq`t programmam polxzowatelq  obraba-
  tywatx tekstowu` informaci`.



  CALL CONCAT (A,B,OUT[,LEN[,ERR]])
         - wypolnqet konkatenaci` (ob'edinenie) dwuh strok A i B, koto-
           rye dolvny zawer{atxsq nulewym bajtom. rezulxtat  pome}aetsq
           w stroku OUT. LEN - maksimalxnaq dlina rezulxtiru`}ej  stro-
           ki. parametr LEN pozwolqet usekatx rezulxtiru`}u` stroku  do
           neobhodimogo  razmera.  parametr  ERR   prinimaet   zna~enie
           ".TRUE.", esli rezulxtiru`}aq stroka byla use~ena. na~alxnoe
           zna~enie ERR dolvno bytx ".FALSE.".

  CALL GETSTR (LUN,OUT,LEN,ERR)
         - s~itywaet stroku s ukazannogo logi~eskogo nomera LUN fortra-
           na w massiw OUT. LEN - maksimalxnaq dlina  wwodimoj  stroki.
           esli dlina wwodimoj stroki prewoshodit LEN, to ERR  polu~aet
           zna~enie  ".TRUE.".  na~alxnoe  zna~enie  ERR  dolvno   bytx
           ".FALSE.".

   CALL INDEX (A,PATTRN,[I],M)
    ili
   M=INDEX(A,PATTRN[,I])
         - wozwra}aet w celoj peremennoj "M" na~alxnu`  pozici`  stroki
           PATTRN w stroke "A", poisk obrazca PATTRN na~inaetsq s pozi-
           cii "I" ili, esli on opu}en, s perwoj pozicii w stroke "A".

  CALL INSERT (IN,OUT,I[,M])
         - wstawlqet stroku IN w stroku OUT, na~inaq s pozicii I.  M  -
           maksimalxnaq dlina wstawlqemoj stroki.

  I=LEN(A)
         - wozwra}aet koli~estwo znakow w stroke A (ee dlinu).

  CALL PUTSTR (LUN,IN,CHAR,ERR)
         - wywodit stroku IN na ukazannyj logi~eskij nomer LUN  fortra-
           na. CHAR - simwol, dobawlqemyj k  na~alu  wywodimoj  stroki.

                                 - 196 -




           ERR prinimaet zna~enie ".TRUE." pri nali~ii o{ibki wywoda  i
           ".FALSE." pri ee otsutstwii.

  CALL REPEAT (IN,OUT,I[,LEN[,ERR]])
         - wypolnqet powtor stroki IN (I raz) i zapominaet rezulxtat  w
           wyhodnoj stroke OUT. LEN - maksimalxnaq dlina rezulxtiru`}ej
           stroki.  parametr  ERR  prinimaet  zna~enie  ".TRUE.",  esli
           rezulxtiru`}aq stroka byla use~ena. na~alxnoe  zna~enie  ERR
           dolvno bytx ".FALSE.".

  I=SCOMP(A,B)
         - srawniwaet dwe stroki "A" i "B" i wozwra}aet rezulxtat sraw-
           neniq kak zna~enie funkcii.

       funkciq wozwra}aet zna~enie:

           <0   - "A" leksikografi~eski pred{estwuet "B";

           0    - "A" rawno "B";

           >0   - "A" leksikografi~eski sleduet za "B".

  CALL SCOPY (IN,OUT[,LEN[,ERR]])
         - wypolnqet kopirowanie stroki IN w stroku OUT. LEN  -  maksi-
           malxnaq dlina rezulxtiru`}ej stroki. parametr ERR  prinimaet
           zna~enie ".TRUE.", esli rezulxtiru`}aq stroka byla  use~ena.
           na~alxnoe zna~enie ERR dolvno bytx ".FALSE.".

  CALL STRPAD (STR,I[,ERR])
         - dopolnqet stroku STR probelami sprawa do ukazannoj dliny  I.
           parametr ERR prinimaet  zna~enie  ".TRUE.",  esli  stroka  A
           imeet dlinu bolx{u`, ~em ukazano w I. na~alxnoe zna~enie ERR
           dolvno bytx ".FALSE.".

  CALL SUBSTR (IN,OUT,I[,LEN])
         - kopiruet podstroku iz stroki IN  w  stroku  OUT,  na~inaq  s
           pozicii I stroki IN. LEN ukazywaet maksimalxnu` dlinu  kopi-
           ruemoj podstroki.

  CALL TRANSL (IN,OUT,R[,P])
         - peresylaet stroku IN w  stroku  OUT  s  modifikaciej  znakow
           (perekodirowkoj). R - massiw znakow zameny. P - massiw  zna-
           kow, kotorye neobhodimo zamenqtx. massiwy R i  P  pozicionno
           sootwetstwu`t drug drugu. esli massiw P opu}en, to on  pred-
           polagaetsq zadannym strokoj znakow koi-7 (kody ot 1 do  127)
           w wozrasta`}em porqdke.

  CALL TRIM (STR)
         - udalqet probely, nahodq}iesq sprawa w stroke STR.

   I=IVERIF(STR,PATRN)
    ili

  CALL IVERIFY[A,B,I]
         - prowerqet stroku STR na nali~ie w nej simwolow, ne  whodq}ih
           w stroku PATRN.

       funkciq wozwra}aet zna~enie:

                                 - 197 -




           0    - simwoly STR sodervatsq w PATRN;

           >0   - nomer pozicii  perwogo  simwola  w  STR,  kotoryj  ne
                  sodervitsq w PATRN.

  N=IRAD50(ICNT,INPUT,OUTPUT)
         - preobrazuet simwolxnu` stroku INPUT  dlinoj  ICNT  w  massiw
           OUTPUT w kode RAD50 i wozwra}aet kak zna~enie funkcii  koli-
           ~estwo obrabotannyh znakow.

  CALL R50ASC (ICNT,INPUT,OUTPUT)
         - preobrazuet massiw INPUT w kode RAD50  w  simwolxnu`  stroku
           OUTPUT dlinoj ICNT.

  A=RAD50(INPUT)
         - preobrazuet 6 simwolow koi-7 iz INPUT i wozwra}aet rezulxtat
           tipa REAL*4 (2 slowa koda RAD50) kak zna~enie funkcii.




                                                                     