home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 September / Chip_2002-09_cd1.bin / zkuste / delphi / kompon / d123456 / STR_BIT.ZIP / 16 / PRIM / SVKODER.PAS < prev   
Pascal/Delphi Source File  |  1999-11-25  |  1KB  |  37 lines

  1. program KodDemo;
  2. {$F+,R+}
  3.  uses  StrBit16;
  4.  var NameIs, NameRez : String;
  5.      FIn, FOut : PBitFile;
  6.      Reg1, Reg2, RegCoder: PStr_bit;
  7.      i : integer;
  8.      PrBit : byte;
  9. begin             { Äß¡«ó¡«Ñ Γѽ« »p«úpá¼¼δ }
  10.  Writeln('Åp«úpá¼¼á úÑ¡Ñαᵿ¿ ¬«ñ¿α«óá¡¡«ú« ß¿ú¡á½á æè ß R=1/2');
  11.  Writeln('ÇóΓ«α : æѼѡ«ó é.ï. éÑαß¿∩ 3.3 «Γ 25.11.99 ú.');
  12.  write('éóÑñ¿ΓÑ ¿¼∩ Σá⌐½á c «íαáíáΓδóáÑ¼δ¼¿ ñá¡¡δ¼¿ : ');
  13.  readln(NameIs);
  14.  Write('ê¼∩ Σá⌐½á αѺπ½∞ΓáΓá:  ');
  15.  Readln(NameRez);
  16.  FIn := New(PBitFile,Init(8192,4096));    {éδñѽѡ¿Ñ »á¼∩Γ¿}
  17.  FOut := New(PBitFile,Init(8192,4096));   {éδñѽѡ¿Ñ »á¼∩Γ¿}
  18.    FIn^.OpenBitFile(NameIs, btOpenRead);     {ÄΓ¬αδΓ¿Ñ Σá⌐½á}
  19.    FOut^.OpenBitFile(NameRez, btCreate);
  20.     { çáñá¡¿Ñ αÑú¿ßΓα«ó æè ß  R=1/2 }
  21.    Reg1 := New(PStr_Bit,Init(7));   Reg1^.Init_Sim('1001111');
  22.    Reg2 := New(PStr_Bit,Init(7));   Reg2^.Init_Sim('1101101');
  23.    RegCoder := New(PStr_Bit,Init(7));  RegCoder^.Init_1;
  24.    PrBit := Fin^.ReadBit;
  25.     while PrBit < 2 do
  26.      begin
  27.       RegCoder^.LastBitDisplase(PrBit);
  28.       FOut^.WriteBit( RegCoder^.ModReg(Reg1, 0) );
  29.       FOut^.WriteBit( RegCoder^.ModReg(Reg2, 0) );
  30.       PrBit := Fin^.ReadBit;
  31.      end;
  32.  FIn^.CloseBitFile; { çá¬αδΓ¿Ñ «íαáíáΓδóáѼδσ Σá⌐½«ó}
  33.  FOut^.CloseBitFile;
  34.  Dispose(FIn,Done);  Dispose(FOut,Done);  {Äßó«í«ªñÑ¡¿Ñ »á¼∩Γ¿}
  35.  Dispose(Reg1,Done);  Dispose(Reg2,Done);
  36.  writeln('¬«¡Ñµ «ípáí«Γ¬¿');
  37. end.