home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / modula2 / library / dbf_file / dbf.def < prev    next >
Text File  |  1991-04-22  |  4KB  |  76 lines

  1. DEFINITION MODULE DBF;
  2.  
  3. (**********************************************************************)
  4. (* Copyright 1988,1989,1990,1991 by David Albert                      *)
  5. (**********************************************************************)
  6.  
  7. CONST
  8.    (* Constant values fixed for dBase compatibility                         *)
  9.    MaxFields = 200;     (*   Max fields per record = 200                    *)
  10.    MaxRecLen = 4000;    (*   Max record length = 4000 bytes                 *)
  11.  
  12.    (* 3 levels of error handling are provided - None, AskUser, Halt.        *)
  13.    None      = 0;       (*   ErrCode & DosCode set on errors, nothing else  *)
  14.    AskUser   = 1;       (*   ErrCode & DOSCode set, Error Dialog with user  *)
  15.    Halt      = 2;       (*   Error Dialog indicating error source then HALT *)
  16.  
  17.    (* ErrCodes provide information about source of errors.                  *)
  18.    ErrOpen   = 1;       (*   Unable to open data file.                      *)
  19.    ErrClose  = 2;       (*   Unable to close data file.                     *)
  20.    ErrRead   = 3;       (*   Unable to read record/file data.               *)
  21.    ErrWrite  = 4;       (*   Unable to write record/file data.              *)
  22.    ErrSeek   = 5;       (*   Unable to seek to record in file.              *)
  23.    ErrLock   = 6;       (*   Unable to lock record/file.                    *)
  24.    ErrUnLock = 7;       (*   Unable to unlock record/file.                  *)
  25.    ErrHandle = 8;       (*   Bad file handle (file probably not opened).    *)
  26.    ErrMemory = 9;       (*   Not enough memory for file/record buffers.     *)
  27.    ErrRecNo  = 100;     (*   Invalid record number.                         *)
  28.    ErrField  = 101;     (*   Invalid field specified.                       *)
  29.    ErrBadDBF = 102;     (*   File not DBF or DBF damaged.                   *)
  30.    ErrLockedDBF = 103;  (*   DBF file locked by another application.        *)
  31.  
  32. TYPE DBFile;            (*   Opaque DBF file type                           *)
  33.  
  34. VAR                                                              (* default *)
  35.     MultiUser : BOOLEAN;           (* Multi-user mode                   OFF *)
  36.     Safety    : BOOLEAN;           (* Safety mode                       OFF *)
  37.     ErrCheck  : CARDINAL;          (* Error handling level          AskUser *)
  38.     ErrCode   : CARDINAL;          (* Error return code                   0 *)
  39.     DosCode   : CARDINAL;          (* DOS extended error code             0 *)
  40.  
  41. PROCEDURE AddRec    (D : DBFile);
  42. PROCEDURE CloseDBF  (VAR D : DBFile);
  43. PROCEDURE Deleted   (D : DBFile): BOOLEAN;
  44. PROCEDURE DelRec    (D : DBFile);
  45. PROCEDURE Encrypted (D : DBFile) : BOOLEAN;
  46. PROCEDURE FieldData (D : DBFile; FieldName:ARRAY OF CHAR;
  47.                      VAR Type     : CHAR;
  48.                      VAR Len, Dec : CARDINAL);
  49. PROCEDURE FieldName (D : DBFile; FieldNum : CARDINAL;
  50.                      VAR FieldName : ARRAY OF CHAR);
  51. PROCEDURE FileName  (D : DBFile; VAR Name : ARRAY OF CHAR);
  52. PROCEDURE GetField  (D : DBFile; FieldName: ARRAY OF CHAR;
  53.                      VAR TheField : ARRAY OF CHAR);
  54. PROCEDURE GetRec    (D : DBFile; RecNum   : LONGCARD);
  55. PROCEDURE GetRecBuf (D : DBFile; Buf      : ADDRESS);
  56. PROCEDURE HasMDX    (D : DBFile) : BOOLEAN;
  57. PROCEDURE Incomplete(D : DBFile) : BOOLEAN;
  58. PROCEDURE LockRec   (D : DBFile; RecNum   : LONGCARD);
  59. PROCEDURE NumFields (D : DBFile) : CARDINAL;
  60. PROCEDURE OldField  (D : DBFile; FieldName: ARRAY OF CHAR;
  61.                      VAR TheField : ARRAY OF CHAR);
  62. PROCEDURE OpenDBF   (VAR D : DBFile; FileName : ARRAY OF CHAR);
  63. PROCEDURE PutField  (D : DBFile; FieldName: ARRAY OF CHAR;
  64.                      TheField : ARRAY OF CHAR);
  65. PROCEDURE PutRec    (D : DBFile; RecNum   : LONGCARD);
  66. PROCEDURE PutRecBuf (D : DBFile; Buf      : ADDRESS);
  67. PROCEDURE RecChanged(D : DBFile) : BOOLEAN;
  68. PROCEDURE RecCount  (D : DBFile) : LONGCARD;
  69. PROCEDURE RecNo     (D : DBFile) : LONGCARD;
  70. PROCEDURE RecSize   (D : DBFile) : CARDINAL;
  71. PROCEDURE UnDelRec  (D : DBFile);
  72. PROCEDURE UnLockRec (D : DBFile; RecNum   : LONGCARD);
  73.  
  74. END DBF.
  75.  
  76.