(*~\Glagol\Priloxjenija\Inoje\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
(**)                           OTDJEL RusLat+;
(*============================================================================*)
(* NAZNACHJENIJE:
//             Priloxjenije "Translitjeracija (v latinskije bukvy) fajla,
\\                                 sodjerxascjego russkije bukvy"                 *)
(*============================================================================*)

ISPOLEZUJET 
  OS      IZ "..\..\Otdjely\Obmjen\",
 Paramjetr IZ "..\..\Otdjely\Obmjen\",
    Fajl  IZ "..\..\Otdjely\Obmjen\",

  IzFajla IZ "..\..\Otdjely\Obmjen\VvodVyvod\",
   VFajl  IZ "..\..\Otdjely\Obmjen\VvodVyvod\",
  NaEkran IZ "..\..\Otdjely\Obmjen\VvodVyvod\",

 oZnaka   IZ "..\..\Otdjely\Inoje\",
 Translit IZ "..\..\Otdjely\Inoje\";

(*-----------------------------------------lokalenaja ZADACHA-------------------*)
ZADACHA Oshibka1(c-:CJEPE);
UKAZ
  NaEkran.VsjaCjepe(c);
  NaEkran.VsjaCjepe("^ RusLat vh-Fajl vyh-Fajl");
  (*
   * Pojasnjenije: pri zapisi tjeksta v potok (v t.ch. na ekran)
   * znak ^ oboznachajet pjerjehod na novuju stroku i sbros dannyh
   *) 
  STOP(1)
KON Oshibka1;

(*-----------------------------------------lokalenaja ZADACHA-------------------*)
ZADACHA Oshibka2(c1-,c2-:CJEPE);
UKAZ
  NaEkran.VsjaCjepe(c1);
  Oshibka1(c2)
KON Oshibka2;

(*-----------------------------------------lokalenaja ZADACHA-------------------*)
ZADACHA Rabota(ch:IzFajla.DkPotoku;
              p:  VFajl.DkPotoku);
POST
  ZNAKOV=100; (* moxjem prochitate za raz znakov iz fajla *)
PJER
  rus:CJEPE[ZNAKOV  ];
  lat:CJEPE[ZNAKOV*2];
UKAZ
  POKA
       NJE IzFajla.Konjec(ch)
  VYP
          IzFajla.Stroku(ch,rus);
    Translit.VLat(rus,lat);
      VFajl.VsjaCjepe(p,lat);
    JESLI
          IzFajla.NachaloStroki(ch)
    TO
      VFajl.ZnakCjepi(p,0DX);
      VFajl.ZnakCjepi(p,0AX)
    KON
  KON
KON Rabota;

(*------------------------------------------ Glavnaja ZADACHA-------------------*)
ZADACHA Golova();
PJER
  ch:IzFajla.DkPotoku;
  p:  VFajl.DkPotoku;
  pImja,                   (* imja vyh-fajla *)
  chImja:Fajl.VPolnogo;     (* imja  vh-fajla *)
UKAZ
  JESLI Paramjetr.vsjego < 2 TO Oshibka1("Njet imjeni vhodnogo fajla")  KON;
  JESLI Paramjetr.vsjego < 3 TO Oshibka1("Njet imjeni vyhodnogo fajla") KON;

  Paramjetr.Vtjekst(1,chImja);
  Paramjetr.Vtjekst(2,pImja);

  ch:=IzFajla.Otkryte(chImja);
  p:=  VFajl.Otkryte(pImja);

  JESLI ch=PUSTO TO Oshibka2(chImja," nje otkryvajetsja") KON;
  JESLI p=PUSTO TO Oshibka2(pImja," nje otkryvajetsja") KON;

  ch.cVidZnakov:=IzFajla.znUni;
  p.cVidZnakov:=  VFajl.znUni;

  Rabota(ch,p);

  IzFajla.Zakryte(ch);
    VFajl.Zakryte(p)
KON Golova;

(*-SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS-*)
UKAZ
  Golova
KON RusLat.
