home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 2 / crawlyvol2.bin / program / misc / isam / fixtest.m < prev    next >
Encoding:
Text File  |  1991-08-30  |  3.0 KB  |  108 lines

  1. MODULE FixTest;
  2.  
  3.  FROM IsamGlobals  IMPORT FixFile, ErrorCode, IdxFile, IndexType, IsamKeyStr;
  4.  FROM Files        IMPORT GetFileName;
  5.  FROM FixFiles     IMPORT FixMake, FixOpen, FixClose, FixAdd, FixDel, FixGet,
  6.                           FixErase, FixCounter, FixRename, FixUsed, FixRecSize,
  7.                           FixTotal, FixSize;
  8.  FROM JauInOut     IMPORT WriteString, WriteInt, ReadString, WriteLn, Clr, Wait,
  9.                           ReadCard, ReadLInt, WriteCard;
  10.  FROM IndexFiles   IMPORT IndexMake, IndexClose, IndexAdd,IndexFind,IndexSearch;
  11.  FROM Strings      IMPORT Copy;
  12.  
  13.  VAR  dat: FixFile;
  14.       idx: IdxFile;
  15.       str: ARRAY [0..19] OF CHAR;
  16.       key: IsamKeyStr;
  17.       na : ARRAY [0..137] OF CHAR;
  18.       nr : LONGINT;
  19.       w  : CARDINAL;
  20.       e  : INTEGER;
  21.       ok : BOOLEAN;
  22.       
  23.  BEGIN
  24.   Clr;
  25.   FixMake(dat,'E:\TEST.FIX',SIZE(str),0);
  26.   IndexMake(idx,'E:\TEST.IDX',16,AutoInc);
  27.   REPEAT
  28.    GetFileName(dat.DosDatei,na);
  29.    IF na[0]='' THEN
  30.     na:='keine';
  31.    END(*IF*);
  32.    WriteLn;
  33.    WriteString('  geöffnenete Datei  : ');
  34.    WriteString(na);
  35.    WriteLn;
  36.    WriteLn;
  37.    WriteString('  File öffnen        : 1');
  38.    WriteLn;
  39.    WriteString('  File löschen       : 2');
  40.    WriteLn;
  41.    WriteString('  Datensatz ansehen  : 3');
  42.    WriteLn;
  43.    WriteString('  Datensatz hinzu    : 4');
  44.    WriteLn;
  45.    WriteString('  Datensatz löschen  : 5');
  46.    WriteLn;
  47.    WriteString('  File-Stati anzeigen: 6');
  48.    WriteLn;
  49.    WriteString('             finden  : 7');
  50.    WriteLn;
  51.    WriteString('  Close              : 8');
  52.    WriteLn;
  53.    WriteString('  Ende               : 0');
  54.    WriteLn;
  55.    WriteString('                    >> ');
  56.    ReadCard(w);
  57.    WriteLn;
  58.    CASE w OF
  59.     1: WriteString(' Dateiname: ');
  60.        ReadString(na);
  61.        FixOpen(dat,na,SIZE(str),0);|
  62.     2: FixErase(dat);|
  63.     3: WriteString(' Nr: ');ReadLInt(nr);
  64.        FixGet(dat,nr,str,1);
  65.        WriteString(str);|
  66.     4: WriteString(' Name: ');
  67.        str:='             ';
  68.        ReadString(str);
  69.        IF str[0] # '' THEN
  70.         FixAdd(dat,nr,str);
  71.         Copy(str,0,16,key,ok);
  72.         IndexAdd(idx,nr,key); 
  73.        END(*IF*); |
  74.     5: WriteString(' Nr: '); ReadLInt(nr);
  75.        FixDel(dat,nr);|
  76.     6: WriteString(' Größe in Bytes: ');
  77.        WriteInt(FixSize(dat));
  78.        WriteLn;
  79.        WriteString(' Anzahl gesamt : ');
  80.        WriteInt(FixTotal(dat));
  81.        WriteLn;
  82.        WriteString(' Anzahl benutzt: ');
  83.        WriteInt(FixUsed(dat));
  84.        WriteLn;
  85.        WriteString(' Zählerstand   : ');
  86.        WriteCard(FixCounter(dat));
  87.        WriteLn;
  88.        WriteString(' Datensatzlänge: ');
  89.        WriteInt(FixRecSize(na));
  90.        WriteLn;|
  91.     7: WriteString(' suche nach: ');
  92.        ReadString(key);
  93.        IndexSearch(idx,nr,key);
  94.        WriteInt(nr);|
  95.     8: FixClose(dat);
  96.        IndexClose(idx);|
  97.    ELSE
  98.    END(*CASE*);
  99.    WriteLn;
  100.    WriteInt(ErrorCode);
  101.    WriteLn;
  102.   UNTIL w=0;
  103.   FixClose(dat);
  104.   IndexClose(idx);
  105.   WriteInt(ErrorCode);
  106.   Wait;
  107.  END FixTest.
  108.