home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 September / Chip_2002-09_cd1.bin / zkuste / delphi / kompon / d123456 / STR_BIT.ZIP / 16 / PRIM / OTL.PAS < prev    next >
Pascal/Delphi Source File  |  2002-06-11  |  4KB  |  93 lines

  1. program StrBitDemo;
  2. {$F+,R+,X+,B+,V-}
  3.  uses  StrBit16;
  4.  const
  5.   Nazn : string =
  6.   #10#13'ÆÑßΓ«óá∩ »α«úαá¼¼á ñ½∩ ¼«ñπ½∩ «íαáí«Γ¬¿ í¿Γ«óδσ ßΓ᫬ óÑαß¿¿ 3.4';
  7.   Is_dan : array [1..3] of integer = ( 12, 225, -3 );
  8.   Is_str : string[90] = '01011100000011111110'+ '110111000101001011000';
  9.  var S1,S2,S4 : PStr_Bit;
  10.      S3 : PBitFile;
  11.      Rez_s : string;
  12.      i, D1,Nach   : word;     D2   : Byte;
  13.      Mrasp : array [1..200] of byte;
  14. begin
  15.  Writeln(Nazn);
  16.  S2 := New(PStr_Bit,Init(37));
  17.  S3 := New(PBitFile,Init(3000,4));
  18.   Writeln('û¿¬½¿τÑ߬¿⌐ ßñó¿ú ßΓp«¬¿ ¡á «ñ¿¡ í¿Γ ó½Ñó«');
  19.    With S3^ do begin
  20.      if OpenBitFile('aa.dat',btCreate) <> btOk Then Halt(1);
  21.      Init_array(Is_dan, SizeOf(Is_dan)); { ÅpÑ«íp.¼áßß¿ó ó í¿Γ.ßΓp«¬π}
  22.      Writeln (Val_sim(SizeOf(Rez_s)-1) );  { Éáß»ÑτáΓ¬á í¿Γ«ó«⌐ ßΓp«¬¿ }
  23.      D2 := GetBit(0);           { û¿¬½¿τÑ߬¿⌐ ßñó¿ú ßΓp«¬¿ S3 }
  24.      LastBitDisplase(D2);       { ¡á «ñ¿¡ í¿Γ ó½Ñó«           }
  25.      Writeln (Val_sim(SizeOf(Rez_s)-1) );  { Éáß»ÑτáΓ¬á í¿Γ«ó«⌐ ßΓp«¬¿ }
  26.                end;
  27.  Writeln('û¿¬½¿τÑ߬¿⌐ ßñó¿ú ßΓp«¬¿ ¡á 6 í¿Γ ó»αáó«');
  28.  D1 := 6;    Writeln(Is_str);
  29.  S1 := New(PStr_Bit,Init(3000));    { éδñѽѡ¿Ñ »á¼∩Γ¿ ñ½∩ ßΓp«¬¿ S1 }
  30.    With S1^ do begin
  31.      Init_Sim(Is_Str);        { ê¡¿µ¿á½¿ºáµ¿∩ º¡áτÑ¡¿∩ ßΓp«¬¿ í¿Γ S1 }
  32.      S2^.Copy(S1,Length - D1, D1 );     { û¿¬½¿τÑ߬¿⌐ ßñó¿ú }
  33.      Delete(Length - D1, D1 );          { ßΓp«¬¿ S3 ¡á      }
  34.      Insert(S2,0);                      { D1 í¿Γ ó»páó«     }
  35.      Write (Val_sim(SizeOf(Rez_s)-1) ); { Éáß»ÑτáΓ¬á í¿Γ«ó«⌐ ßΓp«¬¿ }
  36.                end;
  37.  S3^.CopyAllBit(S1);          S2^.Init_1;
  38.  S3^.WriteStr;      Writeln('      çỿß∞ φΓ«⌐ ßΓ᫬¿ ó Σá⌐½');
  39.  Writeln('ê¡óÑαß¿∩ »αÑñδñ.ßΓ᫬¿ c «ñ¡«óαѼѡ¡δ¼ πßÑτÑ¡¿Ñ¼ ñ½¿¡δ ¿ πñá½Ñ¡¿Ñ¼ 3 »Ñαóδσ í¿Γ');
  40.  S4 := New(PStr_Bit,Init(156));
  41.  S4^.Bool_op(S1,S2,3,btXOR);    { çỿß∞ ó ßΓp«¬π S4 »«ñßΓp«¬¿ ¿º S1 }
  42.                                 { ñ½¿¡«⌐ S2^.length ó ¿¡óÑpß¡«¼ ó¿ñÑ }
  43.  Write('   ', S4^.Val_sim(SizeOf(Rez_s)-1) );
  44.  Writeln('      çỿß∞ φΓ«⌐ ßΓ᫬¿ ó Σá⌐½');
  45.  S3^.CopyAllBit(S4);
  46.  S3^.WriteStr;          { çỿß∞ í¿Γ«ó«⌐ ßΓp«¬¿ ó Σá⌐½ }
  47.   Write('è«¡¬áΓѡᵿ∩ »«ß½Ññ¡Ñ⌐ ßΓp«¬¿ ß »αÑñδñπΘÑ⌐  ');
  48.   D2 := S4^.Length;
  49.   S4^.Concat(S1);           { è«¡¬áΓѡᵿ∩ ßΓp«¬ S4,S1 }
  50.   Writeln(S4^.Length,' = ', D2, '+',S1^.Length , '  :');
  51.   Writeln (S4^.Val_sim(SizeOf(Rez_s)-1) );  { Éáß»ÑτáΓ¬á í¿Γ«ó«⌐ ßΓp«¬¿ }
  52.   Writeln('»«¿ß¬ ¬«¼í¿¡áµ¿¿ í¿Γ ó¿ñá "10000" ¿ páß»ÑτáΓ¬á ¡á⌐ñÑ¡δσ »«º¿µ¿⌐');
  53.   Nach := 0;  S1^.Init_sim('10000');         { »«¿ß¬ ¬«¼í¿¡áµ¿¿ í¿Γ   }
  54.    With S4^ do repeat                       { ó¿ñá "1000" ¿ páß»ÑτáΓ¬á}
  55.                 Nach := Pos(S1,Nach,1);     { ¡á⌐ñÑ¡δσ »«º¿µ¿⌐       }
  56.                 Write(Nach:10);
  57.                 if Nach <> btNotFound then inc(Nach)
  58.                until Nach = btNotFound;
  59.   Writeln(#10#13'ÅpÑñßΓáó.í¿Γ«ó.ßΓp«¬¿ ó ó¿ñÑ αá߻ᬫóá¡¡«ú« ¼áßß¿óá íá⌐Γ ¿ αáß».φ½Ñ¼.¼áßß¿óá');
  60.  D1 := s4^.Val_Mas(Mrasp,sizeof(Mrasp));
  61.  for nach := 1 to D1 do write( Mrasp[nach]);      Writeln;
  62.   S3^.CloseBitFile;
  63.   Writeln('ê¡óÑαß¿∩ 3-ú« ¿ 14 -ú« í¿Γ ßΓ᫬¿');
  64.   s4^.InvBit(14);
  65.   s4^.InvBit(3);
  66.   Writeln (S4^.Val_sim(SizeOf(Rez_s)-1) );  { Éáß»ÑτáΓ¬á í¿Γ«ó«⌐ ßΓp«¬¿ }
  67.  Writeln('012345678901234567890123456789012345678901234567890123456789');
  68.   S4^.PutBit(17,1);           S4^.PutBit(0,1);
  69.   Writeln (S4^.Val_sim(SizeOf(Rez_s)-1) );  { Éáß»ÑτáΓ¬á í¿Γ«ó«⌐ ßΓp«¬¿ }
  70.   Writeln(#24' çỿß∞ "1" ó 0 ¿ 17 -δ⌐ í¿Γδ ßΓ᫬¿ '#24);
  71.   Writeln('78 í¿Γ ßτ¿Γá¡« »«í¿Γ¡« ¿º Σá⌐½á');
  72.   if S3^.OpenBitFile('aa.dat',btOpenRead) <> btOk Then Halt(1);
  73.  for nach := 0 to 77 do write(S3^.ReadBit);
  74.  Writeln;
  75.  S3^.SeekStr(0);
  76.  nach := S3^.ReadNomer(3);
  77.  while Error_File_bit = 0 do begin write(nach:3);
  78.                                    nach := S3^.ReadNomer(3)   end;
  79.  Writeln(#10#13#24' Å«óΓ«α¡«Ñ τΓÑ¡¿Ñ í¿Γ«ó«⌐ ßΓ᫬¿ ¿º Σá⌐½á ¿ »αÑ«íαẫóá¡¿Ñ ó 8 ó¿ñ '#24);
  80.  S3^.SeekStr(0);           S3^.ReadStr(78);
  81.  S3^.BitDisplase(0);
  82.  Writeln('ä«íáó½Ñ¡¿Ñ 0 í¿Γá ó αÑú¿ßΓα ßΓó¿úá, »αÑñßΓáó½Ñ¡¡δ⌐ »αÑñδñ ßΓ᫬«⌐');
  83.  Writeln ( S3^.Val_sim(90) );
  84.  S2^.Copy( S4, 2, 16);
  85.  Writeln('  ', S2^.Val_Sim(120) );
  86.  Write('æπ¼¼á »« ¼«ñ.2 í¿Γ »Ñαó.ßΓ᫬¿ ¡á »«º¿µ¿∩σ,»αÑñßΓáó½ 1 í¿ΓἿ óΓ«α.ßΓ᫬¿:= ');
  87.  Write (S3^.Modreg(S2,2));
  88.   S3^.CloseBitFile;
  89.  { Äßó«í«ªñÑ¡¿Ñ »á¼∩Γ¿, ºá¡∩Γ«⌐ ßΓp«¬«⌐ S3 !! éδ»«½¡∩Γ∞ «í∩ºáΓѽ∞¡«}
  90.  Dispose(S3,Done);
  91.  { àß½¿ óδ ºáí뫨 ºá¬αδΓ∞ Σá⌐½, Γ« «¡ ºá¬αδóáÑΓß∩ áóΓ«¼áΓ¿τÑ߬¿ }
  92.  Dispose(S4,Done);      Dispose(S1,Done);      Dispose(S2,Done);
  93. end.