| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- DEFINITION MODULE ModBase3;
- (*
- * ModBase
- * Release 3.0
- * By Don Fletcher & John McMonagle
- * (c) Copyright 1986 - 1991 PMI
- * P.O. Box 8402
- * Green Bay WI 54308
- * All Rights Reserved
- *
- *)
- FROM SYSTEM IMPORT
- ADDRESS;
- CONST
- MaxRecLength = 4000;
- MaxField = 128;
- MaxHeaderLen = 32*(MaxField+1)+2;
- NameLen = 64;
- MemoSize = 512;
- ReadOnly = {};
- ReadWrite ={1};
- Exclusive ={4};
- PermitAll={6};
- PermitRead={5};
- TYPE
- RecordModeType=(CurrentRec,Buffer,ReRead);
- DBFieldDescriptor =
- RECORD
- name: ARRAY [0..9] OF CHAR;
- size: CARDINAL;
- decplaces: CARDINAL;
- offset: CARDINAL;
- fldtype,align: CHAR;(* align is to make size even *)
- END;
- DBFieldArray= ARRAY [1..MaxField] OF
- DBFieldDescriptor;
- DBFieldPtr=POINTER TO DBFieldArray;
- (* consider all of DBFile type read only *)
- DBFile;
- FixUpProcedure=PROCEDURE(DBFile):BOOLEAN;
- IndexCheckProcedure=PROCEDURE( DBFile);
- VAR
- UpDateIndexes:IndexCheckProcedure;
- PROCEDURE InitDBF(filename: ARRAY OF CHAR; VAR alias:
- DBFile; BufferSize:CARDINAL; safety,Exclusive,AutoLock:BOOLEAN;
- FixUp:FixUpProcedure );
- PROCEDURE DisposeDBF(VAR alias:DBFile);
- PROCEDURE OpenDBF
- ( alias : DBFile ):BOOLEAN;
- PROCEDURE BuildDBF( fields: ARRAY OF
- DBFieldDescriptor;NumFields:CARDINAL; alias: DBFile):CARDINAL;
- PROCEDURE CloseDBF( alias: DBFile);
- PROCEDURE UpdateDBFile( alias: DBFile);
- (* Used when safety is off to update DBFile and
- Memos to disk *)
- PROCEDURE ReadDBRec( alias: DBFile; recnum: LONGINT) ;
- PROCEDURE SetDBBuffer( alias: DBFile; BufferSize:
- CARDINAL );
- (* BufferSize in Bytes, Will set to multiple of
- alias.length *)
- PROCEDURE WriteDBRec( alias: DBFile);
- PROCEDURE GetField( alias: DBFile; fieldnumber:
- CARDINAL; VAR field: ARRAY OF CHAR);
- PROCEDURE Replace( alias: DBFile; fieldnumber: CARDINAL;
- field: ARRAY OF CHAR);
- PROCEDURE PosOfField( alias: DBFile; fieldname: ARRAY OF CHAR): CARDINAL;
- PROCEDURE AppendBlank( alias: DBFile);
- PROCEDURE DeleteRecord( alias: DBFile);
- PROCEDURE UnDeleteRecord( alias: DBFile);
- PROCEDURE Deleted( alias: DBFile): BOOLEAN;
- PROCEDURE SetDBSafetyOn( alias: DBFile);
- PROCEDURE SetDBSafetyOff( alias: DBFile);
- PROCEDURE SetRecordMode( alias: DBFile;Mode:RecordModeType);
- PROCEDURE LockRec( alias: DBFile;recnum:LONGINT):CARDINAL;
- PROCEDURE UnLockRec( alias: DBFile;recnum:LONGINT):CARDINAL;
- PROCEDURE DBError( alias:DBFile):CARDINAL;
- PROCEDURE Appending(alias:DBFile):BOOLEAN;
- PROCEDURE FileName(alias:DBFile;VAR Name:ARRAY OF CHAR);
- PROCEDURE HasMemo(alias:DBFile):BOOLEAN;
- PROCEDURE SafetySet(alias:DBFile):BOOLEAN;
- PROCEDURE IndexList(alias:DBFile):ADDRESS;
- PROCEDURE SetIndexList(alias:DBFile;ndx:ADDRESS);
- PROCEDURE Record(alias:DBFile):LONGINT;
- PROCEDURE FieldList(alias:DBFile):DBFieldPtr;
- PROCEDURE BufferSize(alias:DBFile):CARDINAL;
- PROCEDURE NumberOfFields(alias:DBFile):CARDINAL;
- PROCEDURE NumberRecords(alias:DBFile):LONGINT;
- PROCEDURE RecordPtr(alias:DBFile):ADDRESS;
- PROCEDURE RecordLength(alias:DBFile):CARDINAL;
- PROCEDURE OpenMemo(alias:DBFile):BOOLEAN;
- PROCEDURE MemoHandle(alias:DBFile):CARDINAL;
- PROCEDURE NilDBF(VAR alias:DBFile);
- PROCEDURE Initialized(alias:DBFile):BOOLEAN;
- PROCEDURE DefaultFixUp(alias:DBFile):BOOLEAN;
- END ModBase3.
|