home *** CD-ROM | disk | FTP | other *** search
- program build; {build index files using tacess}
-
- uses
- dos,crt,taccess,printer;
-
- TYPE
- ketstr = string[1];
- IP_rec = record {test data generated by TESTDATA.PAS}
- state : byte;
- dummmy : array[1..3] of char;
- items : longint;
- crlf : array[1..2] of char;
- end;{IP_rec}
-
- DataRec = record {data rec for TACESS datafile}
- RecStatus : longint;
- dstate : byte;
- unused : array[1..3] of byte;
- dcount : longint;
- ddummy : integer;
- end;{DataRec}
-
- MaxDataType = DataRec; {these were used}
- MaxKeyType = ketstr; {with TABUILD}
-
- VAR
- IP : file of IP_rec;
- Ibuff : IP_rec;
- Obuff : DataRec;
- TestFile : DataFile;
- StateIdx : IndexFile;
- recnum : longint;
- newkey : string[1];
- total : array[0..52] of longint;
- c : byte;
-
- {***************************
- main
- ***************************}
- BEGIN
- newkey := ' ';
- fillchar(total,sizeof(total),0);
- assign(IP,'testdata.new'); reset(IP);
- MakeFile(TestFile,'tatest.dat',sizeof(DataRec));
- MakeIndex(StateIdx,'state.idx',1,duplicates); {dupes allowed}
-
- while not eof(IP) do begin
- read(IP,ibuff);
- with Ibuff do begin {put IP data into new data rec}
- Obuff.RecStatus := 0;
- Obuff.dstate := state;
- Obuff.dcount := items;
- total[state] := total[state] + items;
- end;{with}
- AddRec(TestFile,recnum,Obuff); {add to datafile}
- newkey[1] := char(Obuff.dstate); {put key in string}
- AddKey(StateIdx,recnum,newkey); {add to index}
- end;{while}
- close(IP);
- flushfile(TestFile);
- closefile(TestFile);
- flushindex(StateIdx);
- closeindex(StateIdx);
- for c := 0 to 52 do {dump totals}
- writeln(lst,'state ',c,' total is ',total[c]:8);
- END.