campo-sirio/cb5/showdat2.c

81 lines
1.7 KiB
C
Raw Normal View History

/***********************************************************************\
* *
* SHOWDAT2.C Copyright (C) 1993 Sequiter Software Inc. *
* *
\***********************************************************************/
/* See User's Manual, page 82 */
#include "d4all.h"
#ifndef S4UNIX
#include <conio.h>
#else
#include <curses.h>
#endif
#ifdef __TURBOC__
extern unsigned _stklen = 10000;
#endif
CODE4 code_base;
DATA4 *data_file = NULL;
FIELD4 *field_ref = NULL;
TAG4 *tag = NULL;
int rc,j;
char *field_contents;
void print_records()
{
for(rc = d4top(data_file);rc == r4success
;rc = d4skip(data_file, 1L))
{
for(j = 1;j <= d4num_fields(data_file);j ++)
{
field_ref = d4field_j(data_file,j);
field_contents = f4memo_str(field_ref);
printf("%s ",field_contents);
}
printf("\n");
}
}
int main(int argc,char *argv[])
{
if(argc != 2)
{
printf(" USAGE: SHOWDAT2 <FILENAME.DBF> \n"); exit(0);
}
d4init(&code_base);
data_file = d4open(&code_base,argv[1]);
e4exit_test(&code_base);
printf("Data File %s in Natural Order\n"
,argv[1]);
print_records();
for(tag = d4tag_next(data_file,NULL);tag !=NULL
; tag = d4tag_next(data_file,tag))
{
printf("\nPress ENTER to continue:");
#ifdef S4UNIX
getchar() ;
#else
getch();
#endif
printf("\nData File %s sorted by Tag %s\n"
,argv[1],tag->alias);
d4tag_select(data_file,tag);
print_records();
}
d4close(data_file);
d4init_undo( &code_base ) ;
mem4reset() ;
return 0;
}