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
101 lines
2.1 KiB
C
Executable File
101 lines
2.1 KiB
C
Executable File
/***********************************************************************\
|
|
* *
|
|
* RELATE4.C Copyright (C) 1993 Sequiter Software Inc. *
|
|
* *
|
|
\***********************************************************************/
|
|
/* See User's Manual, page 148 */
|
|
|
|
#include "d4all.h"
|
|
|
|
#ifdef __TURBOC__
|
|
extern unsigned _stklen = 10000;
|
|
#endif
|
|
|
|
CODE4 code_base;
|
|
DATA4 *student = NULL,*enrolment = NULL;
|
|
FIELD4 *id,*f_name,*l_name,*age,*c_code;
|
|
RELATE4 *master = NULL,*slave = NULL;
|
|
TAG4 *id_tag,*name_tag;
|
|
|
|
void open_data_files() ;
|
|
void set_relation() ;
|
|
void print_record() ;
|
|
|
|
void open_data_files()
|
|
{
|
|
d4init(&code_base);
|
|
|
|
student = d4open(&code_base,"STUDENT");
|
|
enrolment = d4open(&code_base,"ENROLL");
|
|
|
|
id = d4field(student,"ID");
|
|
f_name = d4field(student,"F_NAME");
|
|
l_name = d4field(student,"L_NAME");
|
|
age = d4field(student,"AGE");
|
|
c_code = d4field(enrolment,"C_CODE_TAG");
|
|
|
|
name_tag = d4tag(student,"NAME");
|
|
id_tag = d4tag(enrolment,"STU_ID_TAG");
|
|
|
|
e4exit_test(&code_base);
|
|
}
|
|
|
|
void set_relation()
|
|
{
|
|
|
|
master = relate4init(student);
|
|
slave = relate4create_slave(master, enrolment, "ID", id_tag);
|
|
}
|
|
|
|
|
|
void seek(DATA4 *data_file, TAG4 *tag, RELATE4 *relation, char *key)
|
|
{
|
|
TAG4 *old_tag;
|
|
|
|
old_tag = d4tag_selected(data_file);
|
|
d4tag_select(data_file,tag);
|
|
|
|
d4seek(data_file,key);
|
|
relate4do(relation);
|
|
|
|
d4tag_select(data_file,old_tag);
|
|
}
|
|
|
|
|
|
void print_record()
|
|
{
|
|
printf("%15s ",f4str(f_name));
|
|
printf("%15s ",f4str(l_name));
|
|
printf("%6s ",f4str(id));
|
|
printf("%2s ",f4str(age));
|
|
printf("%7s\n",f4str(c_code));
|
|
}
|
|
|
|
|
|
void main()
|
|
{
|
|
open_data_files();
|
|
|
|
set_relation();
|
|
|
|
seek(student
|
|
,name_tag
|
|
,master
|
|
,"Tyler Harvey ");
|
|
|
|
print_record();
|
|
|
|
seek(student
|
|
,name_tag
|
|
,master,"Miller Albert ");
|
|
|
|
print_record();
|
|
|
|
relate4unlock(master);
|
|
relate4free(master,0);
|
|
|
|
d4close_all(&code_base);
|
|
d4init_undo(&code_base);
|
|
mem4reset() ;
|
|
}
|