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

  1. program BitPrinFile;
  2. {$F+,R+,X+,B+,V-}
  3.  {ÅαÑ«íαẫóá¡¿Ñ í¿Γ«ó«ú« »«Γ«¬á ó ß¿¼ó«½∞¡δ⌐ Σá⌐½,¿¼ÑεΘ¿⌐ »Ñα¿«ñ αáß»ÑτáΓ¬¿}
  4.  uses  StrBit16;
  5. var
  6.  InName, OutName, LenName, RegVyv : String;
  7.  FileInp : PBitFile;    FileOut : text;
  8.  LenStr,i : WORD;
  9.  Ftest : File;
  10. begin
  11.   Writeln('ÅαÑ«íαẫóá¡¿Ñ í¿Γ«ó«ú« »«Γ«¬á ó ß¿¼ó«½∞¡δ⌐ Σá⌐½,¿¼ÑεΘ¿⌐ »Ñα¿«ñ αáß»ÑτáΓ¬¿');
  12.   Writeln('ÇóΓ«α : æѼѡ«ó é.ï. éÑαß¿∩ 3.3 «Γ 25.11.99 ú.');
  13.   InName := '';
  14.  if ParamCount <1
  15.    then repeat
  16.    if InName <> '' then writeln('öá⌐½  ',InName, ' ¡Ñ ¡á⌐ñÑ¡!   éóÑñ¿ΓÑ ¬«ααÑ¬Γ¡«Ñ ¿¼∩ Σá⌐½á');
  17.       write('éóÑñ¿ΓÑ ¿¼∩ ¿ßσ«ñ¡«ú« Σá⌐½á: ');
  18.       readln(InName);
  19. {$I-}
  20.       Assign(Ftest,InName);
  21.       FileMode := 0;
  22.       Reset(Ftest);
  23.       Close(Ftest);
  24. {$I+}
  25.    until (IOResult = 0) and (InName <> '')
  26.   else InName :=ParamStr(1);   { óº∩Γ∞ ¿¼∩ Σá⌐½á ¿º ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ }
  27.  if (ParamCount = 1) and ((InName='?') or (InName='/?') or (InName='-?')
  28.      or (InName='h')  or (InName='/h') or (InName='-h') )
  29.     then begin
  30.       writeln;
  31.       writeln('       ö«α¼áΓ ºáñá¡¿∩ »áαá¼ÑΓα«ó τÑαѺ ¬«¼á¡ñ¡πε ßΓ᫬π:');
  32.       writeln('Bitprin [êßσ.Σá⌐½] [öá⌐½ óδó«ñá] [ÅÑα¿«ñ αáß»ÑτáΓ¬¿] [ê¡ó.»«α∩ñ¬á]');
  33.       writeln;
  34.       writeln('é ß½πτáÑ ºáñá¡¿∩ τáßΓ¿ »áαá¼ÑΓα«ó «ßΓá½∞¡δÑ íπñπΓ ºá»α«ΦÑ¡δ ó αѪ¿¼Ñ ñ¿á½«úá');
  35.       writeln('àß½¿ º¡áτÑ¡¿Ñ 4-ú« »áαá¼ÑΓαá αáó¡« "«" ¿½¿ "y", Γ« »α¿ αáß»ÑτáΓ¬Ñ ñá¡¡δσ');
  36.       writeln('íπñÑΓ »α«¿ºóÑñÑ¡ αáºó«α«Γ »«α∩ñ¬á ß½Ññ«óá¡¿∩ í¿Γ ó íá⌐ΓÑ ñá¡¡δσ');
  37.       Exit;
  38.          end;
  39.  if ParamCount < 2 then
  40.   begin write('éóÑñ¿ΓÑ ¿¼∩ Σá⌐½á óδó«ñá αѺπ½∞ΓáΓ«ó: ');
  41.         readln(OutName);
  42.   end
  43.   else OutName :=ParamStr(2);   { óº∩Γ∞ ¿¼∩ Σá⌐½á ¿º ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ }
  44.  if ParamCount < 3 then
  45.   begin write('éóÑñ¿ΓÑ ñ½¿¡π »Ñα¿«ñá αáß»ÑτáΓ¬¿: ');
  46.         readln(LenName);
  47.   end
  48.   else LenName :=ParamStr(3);   { óº∩Γ∞ ¿¼∩ Σá⌐½á ¿º ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ }
  49.   Val(LenName, LenStr, i );
  50.   if (i <> 0) or (LenStr>254) then begin
  51.      Writeln('ÄΦ¿í¬á »α¿ ºáñá¡¿¿ ñ½¿¡δ ßΓ᫬¿');
  52.      Exit                          end;
  53.   if ParamCount > 3 then RegVyv :=ParamStr(4)
  54.      else begin
  55.        write('ê¡óÑαΓ¿α«óáΓ∞ »«α∩ñ«¬ ß½Ññ«óá¡¿∩ í¿Γ ó íá⌐ΓÑ ñá¡¡δσ? (y/N) : ');
  56.        readln(RegVyv);
  57.           end;
  58.   FileInp := New(PBitFile,Init(4096,4096));
  59.   If FileInp^.OpenBitFile(InName,btOpenRead) <> 0 then begin
  60.      Writeln('ÄΦ¿í¬á »α¿ «íαáΘÑ¡¿¿ ¬ ¿ßσ«ñ¡«¼π Σá⌐½π');
  61.      Exit                    end;
  62.   Assign(FileOut, OutName);
  63.   Rewrite(FileOut);
  64.   Writeln(FileOut, 'Éáß»ÑτáΓ¬á Σá⌐½á ', InName, ' ß »Ñα¿«ñ«¼ ',LenStr);
  65.   if ( (RegVyv = 'o') or (RegVyv = 'O') or (RegVyv = '«') or
  66.      (RegVyv = 'Ä') ) or (RegVyv = 'y') or (RegVyv = 'Y')
  67.     then begin
  68.      Writeln(FileOut, '!!! Å«α∩ñ«¬ ¡π¼Ñαᵿ¿ í¿Γ ó íá⌐Γáσ «íαáΓ¡δ⌐');
  69.      FileInp^.ChangeOrderBit;
  70.          end;
  71. (********************************************************************)
  72. (*   Äß¡«ó¡«Ñ Γѽ« óδ»«½¡Ñ¡¿∩ «»Ñαᵿ¿ αáß»ÑτáΓ¬¿ ñá¡¡δσ ó Σá⌐½     *)
  73. (********************************************************************)
  74.  Writeln(FileOut,'');
  75.  for i := 1 to LenStr do Write(FileOut, (i mod 10) );
  76.  Writeln(FileOut,'');
  77.    i:= 0;
  78.    while FileInp^.ReadStr(LenStr) = btOk do begin
  79.          inc(i);
  80.          Writeln(FileOut, FileInp^.Val_sim(LenStr), i:4 );
  81.          end;
  82.  Writeln(FileOut,'');
  83. (********************************************************************)
  84.  FileInp^.CloseBitFile;
  85.  Dispose(FileInp,Done);
  86.  Close(FileOut);
  87.  Writeln('éδó«ñ ó Σá⌐½ ºá¬«¡τÑ¡');
  88. end.