home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
- #define pr(x) fprintf(fp,x)
- typedef struct bb{
- char MEAN[21],DB[9],KEY[4][11],COFLAG,COPATH[11];
- int no;
- struct bb *next;
- }BASE;
- typedef struct cc {
- char field[128][11],ftype[128];
- int len1[128];
- int NN;
- int no;
- struct cc *next;
- }CONTENT;
- typedef struct ll {
- int MAR[6][128];
- int no;
- struct ll *next;
- }LINK;
- extern LINK *flink;
- extern BASE *fbase;
- extern CONTENT *fcon;
- extern int NB,repeat,I,J,linkflag,code;
- extern int coflag[10] ;
- extern char lname[5][31],PATH[31];
-
- lorecord(j,k,fp)
- int j,k;
- FILE *fp;
- { int l;
- pr("goon=.t.\n");
- for(l=1;l<j;l++)
- { fprintf(fp,"select %d\n",l+1);
- pr("if eof()\nselect 1\nskip\nloop\nendif\n");
- }
- }
-
-
- min_data(int j,int k,FILE *fp,int *s,char *aarr)
- { int l,ll,la,lla,lb,llb,m,col,row,i;
- char echo_len[260] ;
- int temp ;
- LINK *mylink;
- BASE *mybase;
- CONTENT *mycon;
- la=0;m=1;lla=0;
- lb=0;llb=0;
- mylink=flink;
- /* while(mylink->no!=k)
- mylink=mylink->next;*/
- while(m)
- { row=4; col=15;
- for(l=la;l<j;l++)
- { fprintf(fp,"select %d \n",l+1);
- mycon=fcon;
- mybase=fbase;
- while (mybase->no!=(s[l]-1)) mybase=mybase->next;
- while (mycon->no!=(s[l]-1)) mycon=mycon->next;
- /* {
- mybase=mybase->next;
- mycon=mycon->next;
- }*/
- for(ll=lla;ll<mycon->NN;ll++)
- { if(mylink->MAR[s[l]-1][ll]==1)
- { fprintf(fp,"@%d,%d say '%s'\n",row,col-5,mycon->field[ll]);
- fprintf(fp,"@%d,%d say %s\n",row+1,col,mycon->field[ll]);
- if ((code==1)&&(mycon->ftype[ll]=='C'))
- fprintf(fp,"do codep with %d,%d,'%s',%s,'%d'\n",row+1,col,\
- mycon->field[ll],mycon->field[ll],l+1);
- if(col==45)
- if(row>21)
- { if(ll==(mycon->NN-1))
- {lla=0;la=l+1;}
- else {la=l;lla=++ll;}
- break;
- }
- else {row+=2;col=15;}
- else col+=30;
- }
- }
- if(ll!=mycon->NN) break;
- else lla=0;
- }
- if(l==j)
- m=0;
- row=5;col=15;
- for(l=lb;l<j;l++)
- {
- mycon=fcon;
- mybase=fbase;
- while (mybase->no!=(s[l]-1)) mybase=mybase->next;
- while (mycon->no!=s[l]-1) mycon=mycon->next;
- /* {
- mybase=mybase->next;
- mycon=mycon->next;
- }*/
- if (l>0)
- {
- if (linkflag==0) fprintf(fp,"sele 1\n");
- else fprintf(fp,"sele %d\n",l);
- fprintf(fp,"reccur=recno()\ngo top\ngo reccur\n");
- }
- fprintf(fp,"select %d \n",l+1);
- if (l>0) fprintf(fp,"if .not.eof()\n");
- for(ll=llb;ll<mycon->NN;ll++)
- { if(mylink->MAR[s[l]-1][ll]==1)
- {
- if(mybase->COFLAG == 'y' || mybase->COFLAG == 'Y')
- {
- switch( mycon->ftype[ll] )
- {
- case 'C':
- for(i=0; i<mycon->len1[ll]; i++)
- echo_len[i]='X' ;
- echo_len[i]='\0' ;
- /***** fprintf(fp,"%sbak=space(%d)\n", mycon->field[ll], mycon->len1[ll]) ;*****/
- fprintf(fp,"%sbak=%s\n", mycon->field[ll], mycon->field[ll]) ;
- fprintf(fp,"@%d,%d get %sbak picture '%s'\n",row,col,mycon->field[ll], echo_len) ;
- break ;
-
- case 'N':
- for(i=0; i<mycon->len1[ll]; i++)
- echo_len[i]='9' ;
- echo_len[i]='\0' ;
- /**** fprintf(fp,"%sbak=%s\n", mycon->field[ll], echo_len) ;******/
- fprintf(fp,"%sbak=%s\n", mycon->field[ll], mycon->field[ll]) ;
- fprintf(fp,"@%d,%d get %sbak picture '%s'\n",row,col,mycon->field[ll], echo_len) ;
- break ;
-
- case 'D':
- /*** fprintf(fp,"%sbak=ctod('01/01/01')\n", mycon->field[ll]) ;*****/
- fprintf(fp,"%sbak=%s\n", mycon->field[ll],mycon->field[ll]) ;
- fprintf(fp,"@%d,%d get %sbak picture '@D'\n",row,col,mycon->field[ll]) ;
- break ;
-
- case 'L':
- fprintf(fp,"if %s\n", mycon->field[ll] ) ;
- /**** fprintf(fp," %sbak=.T.\n", mycon->field[ll] ) ;****/
- fprintf(fp," %sbak=%s\n", mycon->field[ll],mycon->field[ll] ) ;
- fprintf(fp," else\n %sbak=.F.\nendif\n", mycon->field[ll]) ;
- fprintf(fp,"@%d,%d get %sbak picture '!'\n",row,col,mycon->field[ll]) ;
- break ;
- }
- }
- else
- fprintf(fp,"@%d,%d get %s\n",row,col,mycon->field[ll]) ;
- if ((code==1)&&(mycon->ftype[ll]=='C'))
- fprintf(fp," do codep with %d,%d,'%s',%s,'%d'\n",row,col,\
- mycon->field[ll],mycon->field[ll],l+1);
- if(col==45)
- if(row>19)
- {
- if(ll==(mycon->NN-1))
- {llb=0;lb=l+1;}
- else {lb=l;llb=++ll;}
- break;
- }
- else {row+=2;col=15;}
- else col+=30;
- }
- }
- pr("read\n") ;
- if( mybase->COFLAG == 'Y' ||mybase->COFLAG == 'y')
- {
- pr("do rlock24\n") ;
- for( temp=0; temp<mycon->NN; temp++)
- if(mylink->MAR[s[l]-1][temp] == 1)
- fprintf(fp," replace %s with %sbak\n",mycon->field[temp],mycon->field[temp]) ;
- if(l>0)
- fprintf(fp, " replace %s with %c->%s\n", lname[l-1], s[l-1]+64, lname[l-1]) ;
- pr("unlock all\n") ;
- }
- if(ll!=mycon->NN) break;
- else llb=0;
- }
- if(m)
- pr("clear \n");
- }
- if (l>1) pr("endif\n") ;
- pr("yy=' '\n");
- pr("@24,0 say '─·─▄╚╖╚╧┬≡ ? (Y/N) ' get yy\nread\n");
- pr("if yy='y'.or. yy='Y'\n");
- pr("w=.f.\n");
- pr("endif\n");
- pr("@24,0 say space(80)\nenddo\n");
- pr("endif\nselect 1\n");
- pr("skip\n");
- pr("enddo\n");
- }
-
- dlook(FILE *fp,int *s,int k,int j)
- { int la,lla,m,row,col,ll,l;
- int i ;
- BASE *mybase;
- CONTENT *mycon;
- LINK *mylink;
- la=0;m=1;lla=0;
- while(m)
- { row=4; col=15;
- for(l=la;l<j;l++)
- {
- fprintf(fp,"select %d \n",l+1);
- if(l>0)
- fprintf(fp,"if .not.eof()\n") ;
- mycon=fcon;
- mybase=fbase;
- while (mybase->no!=(s[l]-1)) mybase=mybase->next;
- while (mycon->no!=s[l]-1) mycon=mycon->next;
- /* while (mybase->no!=(s[l]-1))
- {
- mybase=mybase->next;
- mycon=mycon->next;
- }*/
- for(ll=lla;ll<mycon->NN;ll++)
- {
- fprintf(fp,"@%d,%d say '%s'\n",row,col-5,mycon->field[ll]);
- fprintf(fp,"@%d,%d say %s\n",row+1,col,mycon->field[ll]);
- if ((code==1)&&(mycon->ftype[ll]=='C'))
- fprintf(fp,"do codep with %d,%d,'%s',%s,'%d'\n",row+1,col,\
- mycon->field[ll],mycon->field[ll],l+1);
- if(col==45)
- if(row>21) {if(ll==(mycon->NN-1)) {lla=0;la=++l;}
- else{la=l;lla=ll+1;}
- break;
- }
- else {row+=2;col=15;}
- else col+=30;
- }
- /****** if(l>0)
- pr("endif\n") ; ********/
- if(ll!=mycon->NN) break;
- else lla=0;
- }
- if(l==j)
- m=0;
- if(m)
- { pr("p=' '\n@24,0 say '╟δ░┤╚╬╥Γ╝ⁿ┐┤╞Σ╦ⁿ╫╓╓╡ : ' get p\nread\n");
- pr("k=4\ndo while k<25\n@k,0 say space(80)\n");
- pr("k=k+1\nenddo\n");
- }
- }
- pr("yy=' '\n");
- pr("@24,0 say '─·─▄╚╖╚╧┬≡ ? (Y/N) ' get yy picture '!'\nread\n");
- pr("if yy='y'.or. yy='Y'\n");
- /* for(i=0; s[i]; i++)
- {*/
- fprintf(fp, "select %d\n", 1) ;
- pr("delete\n") ;
- /* }*/
- pr("endif\n");
- pr("@24,0 say space(80)\n");
- pr("endif\nselect 1\n");
- pr("skip\n");
- pr("enddo\n");
- }
-