home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / modula2 / library / btrieve / test2.mod < prev   
Text File  |  1988-08-26  |  3KB  |  89 lines

  1. MODULE Test2;
  2. FROM IO IMPORT WrCard, WrLn, WrInt, WrStr;
  3. FROM Mod2BTRV IMPORT BTRV;
  4.  
  5. TYPE
  6.    TestRecDef = RECORD
  7.                 KeyVal : CARDINAL;
  8.                 Name   : ARRAY[0..9] OF CHAR;
  9.                 END;
  10.  
  11.    KeySpec = RECORD
  12.              KeyPos : CARDINAL;
  13.              KeyLen : CARDINAL;
  14.              KeyFlg : CARDINAL;
  15.              NOTUSED : ARRAY [1..4] OF BYTE;
  16.              KeyRsv : ARRAY [1..6] OF BYTE;
  17.              END;
  18.  
  19.    FileSpec = RECORD
  20.               RecLen : CARDINAL;
  21.               PageSiz : CARDINAL;
  22.               NdxCnt : CARDINAL;
  23.               NOTUSED : ARRAY [1..4] OF BYTE;
  24.               Variable : CARDINAL;
  25.               Reserved : ARRAY[1..2] OF BYTE;
  26.               PreAlloc : CARDINAL;
  27.               KeyBuf : KeySpec;
  28.               END;
  29.  
  30. VAR
  31.     RecDef : FileSpec;
  32.     x : CARDINAL;
  33.     Status : INTEGER;
  34.     TestRec : TestRecDef;
  35.     TestRecLen : INTEGER;
  36.     FileName : ARRAY[1..20] OF CHAR;
  37.     PosBlock : ARRAY[1..128] OF CHAR;
  38.  
  39. BEGIN
  40.     FileName := 'TEST.DBF';
  41.     WITH RecDef DO
  42.          RecLen := 12;
  43.          PageSiz := 512;
  44.          NdxCnt := 1;
  45.          PreAlloc := 0;
  46.          Variable := 0;
  47.          KeyBuf.KeyPos := 1;
  48.          KeyBuf.KeyFlg := 0100H;
  49.          KeyBuf.KeyRsv[1] := 14;
  50.          KeyBuf.KeyLen := 2;
  51.     END;
  52.     TestRecLen := SIZE(RecDef);
  53.     Status := BTRV(14, PosBlock, RecDef, TestRecLen, FileName, 0);
  54.     IF Status <> 0 THEN
  55.        WrStr('Error Creating File ');
  56.        WrStr(' Status - ');
  57.        WrInt(Status,0);
  58.        HALT;
  59.     END;
  60.  
  61.     FileName := 'TEST.DBF';
  62.     TestRecLen := SIZE(TestRec);
  63.     Status := BTRV(0, PosBlock, TestRec, TestRecLen, FileName, -1);
  64.     IF Status <> 0 THEN
  65.        WrStr('Error Opening File Status - ');
  66.        WrInt(Status,0);
  67.        HALT;
  68.     END;
  69.     FOR x := 1 TO 10 DO
  70.         TestRec.KeyVal := x * 10;
  71.         TestRec.Name := 'Test';
  72.         Status := BTRV(2, PosBlock, TestRec, TestRecLen, FileName, 0);
  73.         IF Status <> 0 THEN
  74.            WrStr('Error Adding Record ');
  75.            WrCard(x,0);
  76.            WrStr(' Status - ');
  77.            WrInt(Status,0);
  78.            HALT;
  79.         END;
  80.     END;
  81.     Status := BTRV(12, PosBlock, TestRec, TestRecLen, FileName, 0);
  82.     WHILE Status = 0 DO
  83.         WrCard(TestRec.KeyVal,0);
  84.         WrStr(TestRec.Name);
  85.         WrLn;
  86.         Status := BTRV(6, PosBlock, TestRec, TestRecLen, FileName, 0);
  87.     END;
  88.     Status := BTRV(1, PosBlock, TestRec, TestRecLen, FileName, 0);
  89. END Test2.