which included commits to RCS files with non-trunk default branches. git-svn-id: svn://10.65.10.50/trunk@976 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			155 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			155 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
/***********************************************************************\
 | 
						|
 *                                                                       *
 | 
						|
 *   SEEKER.C      Copyright (C) 1993 Sequiter Software Inc.             *
 | 
						|
 *                                                                       *
 | 
						|
 \***********************************************************************/
 | 
						|
/* See User's Manual, page 92 */
 | 
						|
 | 
						|
 | 
						|
#include "d4all.h"
 | 
						|
 | 
						|
#ifdef __TURBOC__
 | 
						|
extern unsigned _stklen = 10000;
 | 
						|
#endif
 | 
						|
 | 
						|
CODE4    code_base;
 | 
						|
DATA4    *data_file = 0;
 | 
						|
FIELD4   *f_name,*l_name,*address,*age,*birth_date
 | 
						|
,*married,*amount,*comment;
 | 
						|
TAG4     *name_tag,*age_tag,*amount_tag
 | 
						|
,*address_tag,*birthdate_tag;
 | 
						|
 | 
						|
void  OpenDataFile()
 | 
						|
{
 | 
						|
 | 
						|
  data_file = d4open(&code_base,"DATA1.DBF");
 | 
						|
 | 
						|
  f_name = d4field(data_file,"F_NAME");
 | 
						|
  l_name = d4field(data_file,"L_NAME");
 | 
						|
  address = d4field(data_file,"ADDRESS");
 | 
						|
  age = d4field(data_file,"AGE");
 | 
						|
  birth_date = d4field(data_file,"BIRTH_DATE");
 | 
						|
  married = d4field(data_file,"MARRIED");
 | 
						|
  amount = d4field(data_file,"AMOUNT");
 | 
						|
  comment = d4field(data_file,"COMMENT");
 | 
						|
 | 
						|
  name_tag = d4tag(data_file,"NAME_TAG");
 | 
						|
  address_tag = d4tag(data_file,"ADDR_TAG");
 | 
						|
  age_tag = d4tag(data_file,"AGE_TAG");
 | 
						|
  birthdate_tag = d4tag(data_file,"DATE_TAG");
 | 
						|
  amount_tag = d4tag(data_file,"AMNT_TAG");
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
void seek_status(int rc,char *status)
 | 
						|
{
 | 
						|
  switch(rc)
 | 
						|
  {
 | 
						|
  case r4success:
 | 
						|
    strcpy(status,"r4success");
 | 
						|
    break;
 | 
						|
 | 
						|
  case r4eof:
 | 
						|
    strcpy(status,"r4eof");
 | 
						|
    break;
 | 
						|
 | 
						|
  case r4after:
 | 
						|
    strcpy(status,"r4after");
 | 
						|
    break;
 | 
						|
 | 
						|
  default:
 | 
						|
    strcpy(status,"other");
 | 
						|
    break;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
void print_record(int rc)
 | 
						|
{
 | 
						|
 | 
						|
  int      age_value;
 | 
						|
  double   amount_value;
 | 
						|
  char     f_name_str[15],l_name_str[15];
 | 
						|
  char     address_str[20];
 | 
						|
  char     date_str[9];
 | 
						|
  char     married_str[2];
 | 
						|
  char     *comment_str;
 | 
						|
  char     status[15];
 | 
						|
 | 
						|
  f4ncpy(f_name,f_name_str,sizeof(f_name_str));
 | 
						|
  f4ncpy(l_name,l_name_str,sizeof(l_name_str));
 | 
						|
  f4ncpy(address,address_str
 | 
						|
         ,sizeof(address_str));
 | 
						|
  age_value = f4int(age);
 | 
						|
 | 
						|
  amount_value = f4double(amount);
 | 
						|
 | 
						|
  f4ncpy(birth_date,date_str,sizeof(date_str));
 | 
						|
 | 
						|
  f4ncpy(married,married_str
 | 
						|
         ,sizeof(married_str));
 | 
						|
 | 
						|
  comment_str = f4memo_str(comment);
 | 
						|
 | 
						|
  seek_status(rc,status);
 | 
						|
 | 
						|
  printf("Seek status : %s\n",status);
 | 
						|
  printf("---------------------------------\n");
 | 
						|
  printf("Name     : %10s %10s\n"
 | 
						|
         ,f_name_str,l_name_str);
 | 
						|
  printf("Address  : %15s\n",address_str);
 | 
						|
  printf("Age:%3d BirthDate:%8s Married : %1s\n"
 | 
						|
         ,age_value,date_str,married_str);
 | 
						|
  printf("Comment: %s\n",comment_str);
 | 
						|
  printf("Amount purchased : $%5.2lf \n"
 | 
						|
         ,amount_value);
 | 
						|
 | 
						|
  printf("\n");
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
int main()
 | 
						|
{
 | 
						|
  int rc;
 | 
						|
 | 
						|
  d4init(&code_base);
 | 
						|
 | 
						|
  OpenDataFile();
 | 
						|
 | 
						|
  d4tag_select(data_file,address_tag);
 | 
						|
 | 
						|
  rc = d4seek(data_file,"123 - 45 Ave   ");
 | 
						|
  print_record(rc);
 | 
						|
 | 
						|
  rc = d4seek(data_file,"12");
 | 
						|
  print_record(rc);
 | 
						|
 | 
						|
  rc = d4seek(data_file,"12             ");
 | 
						|
  print_record(rc);
 | 
						|
 | 
						|
 | 
						|
  d4tag_select(data_file,name_tag);
 | 
						|
 | 
						|
  rc = d4seek(data_file,"Krammer   David     ");
 | 
						|
  print_record(rc);
 | 
						|
 | 
						|
  d4tag_select(data_file,birthdate_tag);
 | 
						|
 | 
						|
  rc = d4seek(data_file,"19500101");
 | 
						|
  print_record(rc);
 | 
						|
 | 
						|
  d4tag_select(data_file,amount_tag);
 | 
						|
 | 
						|
  rc = d4seek_double(data_file,47.23);
 | 
						|
  print_record(rc);
 | 
						|
 | 
						|
  rc = d4seek(data_file," 47.23");
 | 
						|
  print_record(rc);
 | 
						|
 | 
						|
 | 
						|
  d4close_all(&code_base);
 | 
						|
  d4init_undo(&code_base);
 | 
						|
  mem4reset() ;
 | 
						|
 | 
						|
  return 0;
 | 
						|
}
 |