| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- DEFINITION MODULE Tables;
- FROM GenLists IMPORT GenList;
- FROM DateFunctions IMPORT Date;
- FROM NumTypes IMPORT Real8;
- TYPE
- Table; (* opaque type *)
- (* this structure is used to pass data from/to a cell *)
- CellValue = RECORD
- CASE : CHAR OF
- 'S' : Str : ARRAY[0..79] OF CHAR;
- |'R' : R : Real8;
- |'I' : I : INTEGER;
- |'D' : D : Date;
- |'G' : B : BOOLEAN; (* field selected *)
- END; (* end of case *)
- END; (* end of cell value *)
- PROCEDURE PutCell(VAR T: Table; X,Y : CARDINAL; Cell : CellValue); (* fill a value in table *)
- PROCEDURE GetCell(VAR T: Table; X,Y : CARDINAL; VAR Cell : CellValue); (* get contents of cell*)
- (* these procedures are used to define the table *)
- PROCEDURE DefineTextCol(VAR T: Table; X, Width : CARDINAL;
- Title : ARRAY OF CHAR; DisplayOnly : BOOLEAN);
- PROCEDURE DefineGroupCol(VAR T:Table; X,Width : CARDINAL; Title : ARRAY OF CHAR;
- Choice : ARRAY OF CHAR; MenuKey : CARDINAL;
- NbrOfChoice, ThisChoice : CARDINAL;
- SelectDefault: BOOLEAN );
- PROCEDURE DefineIntegerCol(VAR T: Table; X,Width : CARDINAL; Title : ARRAY OF CHAR;
- Min, Max : LONGINT);
- PROCEDURE DefineRealCol(VAR T: Table; X,Width : CARDINAL; Title : ARRAY OF CHAR;
- Min, Max : REAL);
- PROCEDURE DefineTable(VAR T: Table; Caption : ARRAY OF CHAR);
- PROCEDURE BuildTable(VAR T: Table; NbrRows : CARDINAL);
- PROCEDURE ShowTable(T : Table;X1,Y1,X2,Y2: CARDINAL);
- PROCEDURE NumberOfRows( T : Table) : CARDINAL;
- PROCEDURE NumberOfCols(T : Table) : CARDINAL;
- PROCEDURE ControlTable(VAR T: Table;X1,Y1,X2,Y2 : CARDINAL);
- PROCEDURE DeleteTable(VAR T: Table);
- END Tables.
|