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
		
			
				
	
	
		
			129 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
/***********************************************************************\
 | 
						|
 *                                                                       *
 | 
						|
 *   MULTI.C       Copyright (C) 1993 Sequiter Software Inc.             *
 | 
						|
 *                                                                       *
 | 
						|
 \***********************************************************************/
 | 
						|
/* See User's Manual, page 187 */
 | 
						|
 | 
						|
#include "d4all.h"
 | 
						|
 | 
						|
#ifdef __TURBOC__
 | 
						|
extern unsigned _stklen = 10000;
 | 
						|
#endif
 | 
						|
 | 
						|
CODE4 cb ;
 | 
						|
FIELD4 *field_name ;
 | 
						|
DATA4 *data_names ;
 | 
						|
TAG4 *tag_name ;
 | 
						|
 | 
						|
void add_record() ;
 | 
						|
void find_record() ;
 | 
						|
void modify_record() ;
 | 
						|
void list_data() ;
 | 
						|
 | 
						|
void main()
 | 
						|
{
 | 
						|
  int command ;
 | 
						|
 | 
						|
  d4init( &cb ) ;
 | 
						|
 | 
						|
  cb.exclusive = 0 ;
 | 
						|
  cb.read_only = 0 ;
 | 
						|
  cb.read_lock = 0 ;
 | 
						|
  cb.lock_attempts = -1 ;
 | 
						|
 | 
						|
  data_names = d4open( &cb, "NAMES" ) ;
 | 
						|
  e4exit_test( &cb ) ;
 | 
						|
 | 
						|
  field_name = d4field( data_names, "NAME" ) ;
 | 
						|
  tag_name = d4tag( data_names, "NAME" ) ;
 | 
						|
 | 
						|
  d4top( data_names ) ;
 | 
						|
 | 
						|
  for(;;)
 | 
						|
  {
 | 
						|
    e4set( &cb, 0 ) ;
 | 
						|
 | 
						|
    printf( "\n\nRecord #: %ld   Name: %s\n" 
 | 
						|
           ,d4recno( data_names )
 | 
						|
           , f4str( field_name ) ) ;
 | 
						|
 | 
						|
    printf( "Enter Command ('a','f','l','m' or 'x')\n" ) ;
 | 
						|
 | 
						|
    command =  getchar() ;
 | 
						|
    switch( command )
 | 
						|
    {
 | 
						|
    case 'a':
 | 
						|
      add_record() ;
 | 
						|
      break ;
 | 
						|
 | 
						|
    case 'f':
 | 
						|
      find_record() ;
 | 
						|
      break ;
 | 
						|
 | 
						|
    case 'l':
 | 
						|
      list_data() ;
 | 
						|
      break ;
 | 
						|
 | 
						|
    case 'm':
 | 
						|
      modify_record() ;
 | 
						|
      break ;
 | 
						|
 | 
						|
    case 'x':
 | 
						|
      d4close_all( &cb ) ;
 | 
						|
      exit(0) ;
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
void add_record()
 | 
						|
{
 | 
						|
  char buf[100] ;
 | 
						|
  printf( "Enter New Record\n" ) ;
 | 
						|
  scanf( "%s", buf ) ;
 | 
						|
 | 
						|
  d4append_start( data_names, 0 ) ;
 | 
						|
  f4assign( field_name, buf ) ;
 | 
						|
  d4append( data_names ) ;
 | 
						|
 | 
						|
  d4unlock( data_names ) ;
 | 
						|
}
 | 
						|
 | 
						|
void find_record()
 | 
						|
{
 | 
						|
  char buf[100] ;
 | 
						|
  printf( "Enter Name to Find\n" ) ;
 | 
						|
  scanf( "%s", buf ) ;
 | 
						|
 | 
						|
  d4tag_select( data_names, tag_name ) ;
 | 
						|
  d4seek( data_names, buf ) ;
 | 
						|
}
 | 
						|
 | 
						|
void modify_record()
 | 
						|
{
 | 
						|
  char buf[100] ;
 | 
						|
  printf( "Enter Replacement Record\n" ) ;
 | 
						|
  scanf( "%s", buf ) ;
 | 
						|
 | 
						|
  f4assign( field_name, buf ) ;
 | 
						|
 | 
						|
  d4flush( data_names ) ;
 | 
						|
  d4unlock( data_names ) ;
 | 
						|
}
 | 
						|
 | 
						|
void list_data()
 | 
						|
{
 | 
						|
  d4opt_start( &cb ) ;
 | 
						|
  d4optimize( data_names, 1 ) ;
 | 
						|
 | 
						|
  d4tag_select( data_names, tag_name ) ;
 | 
						|
 | 
						|
  for( d4top(data_names); ! d4eof(data_names)
 | 
						|
      ; d4skip(data_names,1) )
 | 
						|
    printf( "%ld %s\n", d4recno(data_names)
 | 
						|
           , f4str(field_name) ) ;
 | 
						|
 | 
						|
  d4optimize( data_names, 0 ) ;
 | 
						|
  d4opt_suspend( &cb ) ;
 | 
						|
}
 |