home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / modula2 / library / dbf_file / ndx.def < prev    next >
Text File  |  1991-07-16  |  3KB  |  63 lines

  1. DEFINITION MODULE NDX;        (* version 1.4 *)
  2.  
  3. (**********************************************************************)
  4. (* Copyright 1988,1989,1990,1991 by David Albert                      *)
  5. (**********************************************************************)
  6.  
  7. CONST
  8.    (* Constant values fixed for dBase compatibility                         *)
  9.    MaxKeyLen = 100;     (* Maximum key string length = 100 chars            *)
  10.  
  11.    (* 3 levels of error handling are provided - None, AskUser, Halt.        *)
  12.    None      = 0;       (*   ErrCode & DosCode set on errors, nothing else  *)
  13.    AskUser   = 1;       (*   ErrCode & DOSCode set, Error Dialog with user  *)
  14.    Halt      = 2;       (*   Error Dialog indicating error source then HALT *)
  15.  
  16.    (* ErrCodes provide information about source of errors.                  *)
  17.    ErrOpen   = 1;       (*   Unable to open index file.                     *)
  18.    ErrClose  = 2;       (*   Unable to close index file.                    *)
  19.    ErrRead   = 3;       (*   Unable to read index page/data.                *)
  20.    ErrWrite  = 4;       (*   Unable to write index page/data.               *)
  21.    ErrSeek   = 5;       (*   Unable to seek to index page/data.             *)
  22.    ErrLock   = 6;       (*   Unable to lock index page/file.                *)
  23.    ErrUnLock = 7;       (*   Unable to unlock index page/file.              *)
  24.    ErrHandle = 8;       (*   Bad file handle (file probably not opened).    *)
  25.    ErrMemory = 9;       (*   Not enough memory for index/page buffers.      *)
  26.    ErrPageNo = 100;     (*   Invalid page number.                           *)
  27.    ErrBadNDX = 102;     (*   File not NDX or NDX damaged.                   *)
  28.    ErrLockedNDX = 103;  (*   NDX file locked by another application.        *)
  29.  
  30. TYPE  NDXFile;          (*   Opaque NDX file type                           *)
  31.  
  32. VAR                                                              (* default *)
  33.     MultiUser : BOOLEAN;           (* Multi-user mode                   OFF *)
  34.     Safety    : BOOLEAN;           (* Safety mode                       OFF *)
  35.     ErrCheck  : CARDINAL;          (* Error handling level          AskUser *)
  36.     ErrCode   : CARDINAL;          (* Error return code                   0 *)
  37.     DosCode   : CARDINAL;          (* DOS extended error code             0 *)
  38.  
  39. PROCEDURE AddKey   (I : NDXFile; Key : ARRAY OF CHAR; Ptr : LONGCARD);
  40. PROCEDURE AddNKey  (I : NDXFile; NumKey : LONGREAL; Ptr : LONGCARD);
  41. PROCEDURE BOF      (I : NDXFile) : BOOLEAN;
  42. PROCEDURE CloseNDX (VAR I : NDXFile);
  43. PROCEDURE CreateNDX(VAR I : NDXFile; FileName : ARRAY OF CHAR;
  44.                     KeyField : ARRAY OF CHAR;
  45.                     KeyType  : CHAR;
  46.                     KeyLen   : CARDINAL);
  47. PROCEDURE CurKey   (I : NDXFile; VAR Field : ARRAY OF CHAR);
  48. PROCEDURE DelKey   (I : NDXFile);
  49. PROCEDURE EOF      (I : NDXFile) : BOOLEAN;
  50. PROCEDURE Find     (I : NDXFile; Key : ARRAY OF CHAR) : LONGCARD;
  51. PROCEDURE FindNKey (I : NDXFile; Num : LONGREAL) : LONGCARD;
  52. PROCEDURE FOUND    (I : NDXFile) : BOOLEAN;
  53. PROCEDURE GoBottom (I : NDXFile);
  54. PROCEDURE GoTop    (I : NDXFile);
  55. PROCEDURE KeyField (I : NDXFile; VAR Field : ARRAY OF CHAR);
  56. PROCEDURE Next     (I : NDXFile) : LONGCARD;
  57. PROCEDURE OpenNDX  (VAR I : NDXFile; Name : ARRAY OF CHAR);
  58. PROCEDURE Prev     (I : NDXFile) : LONGCARD;
  59. PROCEDURE Unique   (I : NDXFile) : BOOLEAN;
  60.  
  61. END NDX.
  62.  
  63.