80 lines
2.0 KiB
C
80 lines
2.0 KiB
C
|
/***********************************************************************\
|
|||
|
* *
|
|||
|
* DATAINFO.C Copyright (C) 1993 Sequiter Software Inc. *
|
|||
|
* *
|
|||
|
\***********************************************************************/
|
|||
|
/* See User's Manual, page 63 */
|
|||
|
|
|||
|
|
|||
|
#include "d4all.h"
|
|||
|
|
|||
|
#ifdef __TURBOC__
|
|||
|
extern unsigned _stklen = 10000;
|
|||
|
#endif
|
|||
|
|
|||
|
int main(int argc,char *argv[])
|
|||
|
{
|
|||
|
|
|||
|
CODE4 code_base;
|
|||
|
DATA4 *data_file;
|
|||
|
FIELD4 *field_ref;
|
|||
|
|
|||
|
int j,num_fields;
|
|||
|
int len,dec;
|
|||
|
int rec_width;
|
|||
|
char *name;
|
|||
|
char type;
|
|||
|
char *alias;
|
|||
|
long rec_count;
|
|||
|
|
|||
|
if(argc != 2)
|
|||
|
{
|
|||
|
printf(" USAGE: FLDINFO <FILENAME.DBF> \n");
|
|||
|
exit(0);
|
|||
|
}
|
|||
|
|
|||
|
d4init(&code_base);
|
|||
|
|
|||
|
data_file = d4open(&code_base,argv[1]);
|
|||
|
e4exit_test(&code_base);
|
|||
|
|
|||
|
|
|||
|
rec_count = d4reccount(data_file);
|
|||
|
num_fields = d4num_fields(data_file);
|
|||
|
rec_width = d4record_width(data_file);
|
|||
|
alias = d4alias(data_file);
|
|||
|
|
|||
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ\n");
|
|||
|
printf("<EFBFBD> Data File: %12s <20>\n",argv[1]);
|
|||
|
printf("<EFBFBD> Alias : %12s <20>\n",alias);
|
|||
|
printf("<EFBFBD> <20>\n");
|
|||
|
printf("<EFBFBD> Number of Records: %7ld <20>\n",rec_count);
|
|||
|
printf("<EFBFBD> Length of Record : %7d <20>\n",rec_width);
|
|||
|
printf("<EFBFBD> Number of Fields : %7d <20>\n",num_fields);
|
|||
|
printf("<EFBFBD> <20>\n");
|
|||
|
printf("<EFBFBD> Field Information : <20>\n");
|
|||
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n");
|
|||
|
printf("<EFBFBD> Name <20> type <20> len <20> dec <20>\n");
|
|||
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n");
|
|||
|
|
|||
|
|
|||
|
|
|||
|
for(j = 1;j <= d4num_fields(data_file);j ++)
|
|||
|
{
|
|||
|
field_ref = d4field_j(data_file,j);
|
|||
|
name = f4name(field_ref);
|
|||
|
type = f4type(field_ref);
|
|||
|
len = f4len(field_ref);
|
|||
|
dec = f4decimals(field_ref);
|
|||
|
|
|||
|
printf("<EFBFBD> %10s <20> %c <20> %4d <20> %4d <20>\n",name,type,len,dec);
|
|||
|
|
|||
|
}
|
|||
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ\n");
|
|||
|
|
|||
|
|
|||
|
d4close(data_file);
|
|||
|
|
|||
|
return 0;
|
|||
|
}
|