home *** CD-ROM | disk | FTP | other *** search
- Program FETCH2;
-
- Uses MAXVAR, MAXUTIL, MAXDBF;
-
- { GET INFORMATION ABOUT THE 'DBF' FIELDS }
-
- Var
- dName : str255;
- dbf : dFile;
- Flds : Fields;
- NumFlds, i : integer;
- Total : integer;
-
- {$I DPERR.INC}
-
- Function OpenForInfo(dName:str255;Var dbf:dFile;Var Flds:Fields): integer;
- Var
- Error : str255;
- RecordLength : integer;
- Day,Month : byte;
- Year : byte;
- FldNum : integer;
- begin
- Result := dp_OpenDBF(dName,dplSingle,dbf);
- Error := dpError(Result);
- Result := dp_GetInfo( dbf, RecordLength, Day, Month, Year, FldNum, Flds );
- Error := dpError(Result);
- OpenForInfo := FldNum;
- Result := dp_CloseDBF(dbf);
- Error := dpError(Result);
- end;
-
- begin
- WriteLn(' DISPLAY THE STRUCTURE OF ANY DBASE3''S FILENAME.DBF');
- Write('Enter a valid database file name please. ( .dbf extension assumed ) ');
- ReadLn(dName);
- dName := dName + '.dbf';
- NumFlds := OpenForInfo (dName, dbf, Flds);
- Total := 0;
- WriteLn('Field Field Name Type Width Dec');
- For i := 1 to NumFlds do
- begin
- With Flds[i] do
- begin
- Write (i:5,' ',FieldNm,dp_Strng(' ',12-Length(FieldNm)));
- Case dType of
- 'C' : Write ('Character');
- 'N' : Write ('Numeric ');
- 'D' : Write ('Date ');
- 'L' : Write ('Logical ');
- 'M' : Write ('Memo ');
- end; { Case }
- Total := Total + Width;
- Write (Width:7);
- if dType = 'N' then Write (Dec:7);
- WriteLn;
- end; { With }
- end;
- WriteLn('** Total **',(Total + 1):24);
- end.