home *** CD-ROM | disk | FTP | other *** search
/ Mega CD-ROM 1 / megacd_rom_1.zip / megacd_rom_1 / MAGAZINE / INSIDE_T / ITPJAN90.ZIP / SHOWLOCK.PAS < prev    next >
Pascal/Delphi Source File  |  1989-12-15  |  1KB  |  57 lines

  1. PROGRAM ShowLock;
  2.  
  3. USES Crt,Dos,RecLock,FileUtil;
  4.  
  5. CONST RecSize = 43;
  6.  
  7. VAR I,IOTest,TestLock:Integer;
  8.     F:FILE OF Byte;
  9.     Data:Byte;
  10.  
  11. PROCEDURE PrintTestLock(I:Integer);
  12. VAR X,Y:Byte;
  13. BEGIN
  14.  X:=WhereX;Y:=WhereY;
  15.  Write(Chr(219));
  16.  GotoXY(X,Y)
  17. END;
  18.  
  19. BEGIN
  20.  ClrScr;
  21.  Val(ParamStr(1),FileMode,I);
  22.  Assign(F,'testrec.dat');
  23.  {$I-}
  24.   Reset(F);
  25.  {$I+}
  26.  IOTest:=IOResult;
  27.  IF IOTest=2 THEN
  28.    Rewrite(F)
  29.  ELSE
  30.    IF IOTest <> 0 THEN IOError(IOTest);
  31.  
  32. WHILE NOT(KeyPressed) DO
  33.  BEGIN
  34.   GotoXY(1,1);
  35.    FOR I:=0 TO (FileSize(F)-1) DO
  36.     BEGIN
  37.      IF I MOD RecSize = 0 THEN
  38.         Write(I DIV RecSize+1:4,': ');
  39.      PrintTestLock(I);
  40.      TestLock:=recordlock(0,@F,I+1);
  41.      IF TestLock=0 THEN
  42.       BEGIN
  43.         Seek(F,I);
  44.         Read(F,Data);
  45.         IF Data < 30 THEN Write('*')
  46.             ELSE Write(Chr(Data))
  47.       END
  48.      ELSE
  49.       Write('X');
  50.      IF I MOD RecSize = RecSize-1 THEN WriteLn;
  51.      TestLock:=recordlock(1,@F,I+1);
  52.     END;
  53.  END;
  54.  
  55. Close(F)
  56. END.
  57.