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
Wrap
Pascal/Delphi Source File
|
1999-11-25
|
1KB
|
37 lines
program KodDemo;
{$F+,R+}
uses StrBit16;
var NameIs, NameRez : String;
FIn, FOut : PBitFile;
Reg1, Reg2, RegCoder: PStr_bit;
i : integer;
PrBit : byte;
begin { Äß¡«ó¡«Ñ Γѽ« »p«úpá¼¼δ }
Writeln('Åp«úpá¼¼á úÑ¡Ñαᵿ¿ ¬«ñ¿α«óá¡¡«ú« ß¿ú¡á½á æè ß R=1/2');
Writeln('ÇóΓ«α : æѼѡ«ó é.ï. éÑαß¿∩ 3.3 «Γ 25.11.99 ú.');
write('éóÑñ¿ΓÑ ¿¼∩ Σá⌐½á c «íαáíáΓδóáÑ¼δ¼¿ ñá¡¡δ¼¿ : ');
readln(NameIs);
Write('ê¼∩ Σá⌐½á αѺπ½∞ΓáΓá: ');
Readln(NameRez);
FIn := New(PBitFile,Init(8192,4096)); {éδñѽѡ¿Ñ »á¼∩Γ¿}
FOut := New(PBitFile,Init(8192,4096)); {éδñѽѡ¿Ñ »á¼∩Γ¿}
FIn^.OpenBitFile(NameIs, btOpenRead); {ÄΓ¬αδΓ¿Ñ Σá⌐½á}
FOut^.OpenBitFile(NameRez, btCreate);
{ çáñá¡¿Ñ αÑú¿ßΓα«ó æè ß R=1/2 }
Reg1 := New(PStr_Bit,Init(7)); Reg1^.Init_Sim('1001111');
Reg2 := New(PStr_Bit,Init(7)); Reg2^.Init_Sim('1101101');
RegCoder := New(PStr_Bit,Init(7)); RegCoder^.Init_1;
PrBit := Fin^.ReadBit;
while PrBit < 2 do
begin
RegCoder^.LastBitDisplase(PrBit);
FOut^.WriteBit( RegCoder^.ModReg(Reg1, 0) );
FOut^.WriteBit( RegCoder^.ModReg(Reg2, 0) );
PrBit := Fin^.ReadBit;
end;
FIn^.CloseBitFile; { çá¬αδΓ¿Ñ «íαáíáΓδóáѼδσ Σá⌐½«ó}
FOut^.CloseBitFile;
Dispose(FIn,Done); Dispose(FOut,Done); {Äßó«í«ªñÑ¡¿Ñ »á¼∩Γ¿}
Dispose(Reg1,Done); Dispose(Reg2,Done);
writeln('¬«¡Ñµ «ípáí«Γ¬¿');
end.