home *** CD-ROM | disk | FTP | other *** search
- #include<stdio.h>
- #include<stdlib.h>
- #include <alloc.h>
- #include<dos.h>
- #define pr(x) fprintf(fp,x)
- #define MAXP 10
- #define CONT 20
- #define CB 14
- 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;
- LINK *flink,*mylink;
- BASE *fbase;
- CONTENT *fcon;
- char *explain="***╠φ╝╙,▓σ╚δ,╨▐╕─,╔╛│²,▓Θ╤»***";
- int NB,repeat,I,J,II,JJ,linkflag;
- char PATH[30],lnamebak[5][3][11],lname[5][31];
- extern int code;
- main(int argc,char *argv[])
- { int road[30][9],i=0,aa,j,ii,jj,k,modi_ctc;
- char dname[30][20],p,buff[60];
- BASE *mybase;
- CONTENT *mycon;
- /* LINK *mylink;*/
- FILE *fp;
- strcpy(PATH,argv[1]);
- if(argc<2)
- return;
- i=0;
- if ((fp = fopen("creat\\amd1.txt", "r"))!=NULL)
- {
- fscanf(fp,"%d\n",&i) ;
- for(p=0; p<i; p++)
- fscanf(fp,"%s",dname[p]) ;
- }
- getbase();
- /* getcontent(argv[1]);*/
- modi_ctc=i;
- for(;;)
- {
- clear_win(0,0,24,79,0x70);
- clear_win(8,22,14,62,0);
- clear_win(7,20,13,60,30);
- color_puts("─· ╥╤ ╔· │╔ ┴╦ ╕÷ ▓┘ ╫≈ ─ú ┐Θ",30,8,24);
- cursor(8,39);
- printf("%d",modi_ctc);
- color_puts("╟δ ╩Σ ╚δ ─· ╜½ ╨▐ ╕─ ╔· │╔ ─ú ┐Θ",30,9,24);
- color_puts("╡─ ╨≥ ║┼ (0 ╬¬ ═╦ │÷, ┤≤ ╙┌ ",30,10,24);
- printf("%d",modi_ctc);
- color_puts("╘≥ ╠φ ╝╙ ╔· │╔,╖± ╘≥,╨▐ ╕─ ╔· │╔",30,11,24);
- cursor(12,40);
- scanf("%d",&i);
- if (i==0) break;
- if (i>modi_ctc) modi_ctc++;
- i=(i>modi_ctc)?(modi_ctc-1):i-1;
- if ((aa=getroad(argv[1],road[i],i))!=0)
- {
- for (ii=0;ii<5;ii++)
- for (jj=0;jj<3;jj++)
- lnamebak[ii][jj][0]='\0';
- mybase=fbase;
- /* while(mybase->no!=(road[i][0]-1))
- mybase=mybase->next;*/
- if(aa==1)
- { /*j=0;
- while (mybase->MEAN[j]!='\0')
- dname[i][j]=mybase->MEAN[j++];
- dname[i][j]='\0';*/
- clear_win(15,36,19,72,0) ;
- clear_win(14,34,18,70,0|53) ;
- color_puts("╢¿╥σ┴¼╜╙┐Γ╡─╩╢▒≡├√(╫ε╢α20╕÷╫╓╖√): ",0|53,15,36) ;
- color_puts(" ",0|53,17,40) ;
- cursor( 17, 43 ) ;
- scanf("%s",dname[i]);
- }
- else
- deflink(road[i],dname[i],argv[1]);
- flink=(LINK*)malloc(sizeof(LINK));
- flink->next=NULL;
- flink->no=road[i][0];
- mylink=flink;
- for(ii=0;ii<=8;ii++)
- for(jj=0;jj<=127;jj++)
- mylink->MAR[ii][jj]=0;
-
- sele_disp(road[i],road[i][0]-1);
- generate(road[i],i,PATH);
- free(flink);
- mycon=fcon;
- while (fcon!=NULL)
- {
- fcon=fcon->next;
- mycon->next=NULL;
- free(mycon);
- mycon=fcon;
- }
- i++;
- }
- else break;
- }
- i=modi_ctc;
- system("cls");
- cr_sub1(i,dname);
-
- fp = fopen("creat\\amd1.txt","w") ;
- fprintf(fp,"%d\n",i) ;
- for(k=0; k<i; k++)
- fprintf(fp,"%s\n",dname[k]) ;
- fclose(fp) ;
-
- }
-
-
-
- cr_sub1(int i,char dname[][20])
- {
- FILE *fp;
- int k,row,col;
- color_puts("╒²╘┌╔·│╔,╟δ╔╘║≥!",14,12,30) ;
- fp=fopen("amd1.prg","w");
- pr("set talk off\n");
- pr("do while .t.\n");
- pr("set color to /w\nclear\nset color to w+/B\n");
- pr("@0,0 say '***╠φ╝╙,▓σ╚δ,╨▐╕─,╔╛│²,▓Θ╤»***'\n");
- pr("@2,25 say '─·┐╔╢╘╧┬┴╨┐Γ╜°╨╨▓┘╫≈'\n");
- pr("@3,25 say '~~~~~~~~~~~~~~~~~~~~'\n");
- pr("set color to W+/n\n");
- fprintf(fp,"@ 6,15 clea to %d,65\n",6+i/2+i%2+1);
- fprintf(fp,"set color to w+/b\n@5,13 clea to %d,63\n",5+i/2+i%2+1);
- row=6;col=15;
- for(k=0;k<i;k++)
- { fprintf(fp,"@%d,%d say '%d. %s'\n",row,col,k+1,dname[k]);
- if(col==45) {col=15;row++;}
- else col+=30;
- }
- for(k=1;k<=6;k++)
- fprintf(fp,"select %d\nuse\n",k);
- pr("choice=space(2)\nset color to w+/b\n");
- pr("@22,10 say '╟δ╩Σ╚δ─·╡─╤í╘±, 0 ▒φ╩╛═╦│÷ : ' get choice\n read\n");
- pr("set color to W+/N\nif trim(choice)='0'\n");
- pr("return\nendif\n");
- pr("nn='asub'+TRIM(choice)+'.prg'\n");
- pr("if FILE(nn)\n");
- pr("do asub&choice\n");
- pr("endif\n");
- pr("enddo\n");
- fclose(fp);
- }
-
-
-
- generate(int *s,int ii,char *aarr)
- {
- FILE *fp;
- BASE *midbase,*mybase;
- char name[15],inname[15],lookname[15],loname[15],tname[5];
- int j,k,row,col,l,lb,n,ctcn;
- int coflag[10] ;
-
- if (ii+1<10) {tname[0]='1'+ii;tname[1]='\0';}
- if (ii+1>9) {tname[0]='0'+(ii+1)/10; tname[1]='0'+(ii+1)%10; tname[2]='\0';}
- strcpy(name,"asub"); strcat(name,tname); strcat(name,".prg");
- strcpy(inname,"a1i"); strcat(inname,tname); strcat(inname,".prg");
- strcpy(lookname,"a1l"); strcat(lookname,tname); strcat(lookname,".prg");
- strcpy(loname,"a1lo"); strcat(loname,tname); strcat(loname,".prg");
- midbase=fbase;
- while(midbase->no!=(s[0]-1))
- midbase=midbase->next;
- fp=fopen(name,"w");
- pr("set exclusive off\n") ;
- pr("set proced to proced\n") ;
- /* fprintf(fp,"on error do %sagain\n",aarr) ;*/
- pr("clear\n");
- n=s[0]-1;
- mybase=fbase;
- while(mybase->no!=n)
- mybase=mybase->next;
- fprintf(fp,"sele 10\nuse %sndx\n",aarr);
- if( mybase->COFLAG != 'Y' && mybase->COFLAG != 'y')
- {
- fprintf(fp,"sele A\n use %s%s exclusive\n",aarr,mybase->DB) ;
- coflag[1] = 0 ;
- }
- else{
- fprintf(fp,"sele A\n use %s%s\n",mybase->COPATH,mybase->DB) ;
- coflag[1] = 1 ;
- }
- j=1;
- while(s[j]!=0)
- {
- mybase=fbase;
- while(mybase->no!=(s[j]-1))
- mybase=mybase->next;
- fprintf(fp,"sele 10\ngo top\n");
- fprintf(fp,"loca for trim(╦≈╥²╫╓╢╬)='%s'.and.trim(┐Γ├√)='%s'\n",lname[j-1],mybase->DB);
- fprintf(fp,"nf=trim(╦≈╥²╬─╝■)\n");
- fprintf(fp,"select %c\n",j+1+64);
- if( mybase->COFLAG != 'Y' && mybase->COFLAG != 'y')
- {
- fprintf(fp,"sele 10\n use %sndx exclusive\ngo top\n",aarr);
- fprintf(fp,"loca for trim(╦≈╥²╫╓╢╬)='%s'.and.trim(┐Γ├√)='%s'\n",lname[j-1],mybase->DB);
- fprintf(fp,"nf=trim(╦≈╥²╬─╝■)\n");
- fprintf(fp,"select %c\n",j+65);
- coflag[j+1]=0 ;
- fprintf(fp,"use %s%s inde %s&nf exclusive\n",aarr,mybase->DB,aarr) ;
- }
- else
- {
- fprintf(fp,"sele 10\n use %sndx \ngo top\n",mybase->COPATH);
- fprintf(fp,"loca for trim(╦≈╥²╫╓╢╬)='%s'.and.trim(┐Γ├√)='%s'\n",lname[j-1],mybase->DB);
- fprintf(fp,"nf=trim(╦≈╥²╬─╝■)\n");
- fprintf(fp,"select %c\n",j+65);
-
- coflag[j+1] = 1 ;
- fprintf(fp,"use %s%s inde %s&nf\n",mybase->COPATH,mybase->DB,mybase->COPATH) ;
- fprintf(fp,"sele 10\nuse %sndx exclusive\n",aarr) ;
- }
- if (linkflag==0)
- fprintf(fp,"sele A\nset rela to %s into %c\n",lname[j-1],j+65) ;
- else
- fprintf(fp,"sele %c\nset rela to %s into %c addi\n",j+64,lname[j-1],j+65) ;
- j++;
- }
- pr("sele A\ndo while .t.\n");
- pr("clear\n");
- pr("choice=space(1)\n");
- pr("do caidan2 with choice\n") ;
- pr("ap=0\n");
- pr("do case\n");
- pr("case choice='0'\n");
- /**/
- for(j=0; s[j]>0; j++)
- {
- fprintf(fp, "select %d\n", j+1) ;
- for(mybase=fbase; mybase->no<s[j]-1; mybase=mybase->next) ;
- if( coflag[j+1] )
- {
- fprintf(fp,"sele 10\n use %sndx \ngo top\n",mybase->COPATH);
- fprintf(fp,"loca for trim(┐Γ├√)='%s'\n",mybase->DB);
- fprintf(fp,"if .not.eof()\nnf='%s'+trim(╦≈╥²╬─╝■)\n",mybase->COPATH);
- fprintf(fp, "skip\nloca rest for trim(┐Γ├√)='%s'\n",mybase->DB);
- fprintf(fp,"do while .not. eof()\nnf=nf+','+'%s'+trim(╦≈╥²╬─╝■)\ncontinue\nenddo\n",mybase->COPATH) ;
- fprintf(fp,"select %d\nuse %s%s inde &nf exclusive\nreindex\nuse\nendif\n",j+1,mybase->COPATH,mybase->DB) ;
- }
- else
- {
- fprintf(fp,"sele 10\n use %sndx \ngo top\n",aarr);
- fprintf(fp,"loca for trim(┐Γ├√)='%s'\n",mybase->DB);
- fprintf(fp,"if .not.eof()\nnf='%s'+trim(╦≈╥²╬─╝■)\n",aarr);
- fprintf(fp, "skip\nloca rest for trim(┐Γ├√)='%s'\n",mybase->DB);
- fprintf(fp,"do while .not. eof()\nnf=nf+','+'%s'+trim(╦≈╥²╬─╝■)\ncontinue\nenddo\n",aarr) ;
- fprintf(fp,"select %d\nuse %s%s inde &nf exclusive\nreindex\nuse\nendif\n",j+1,aarr,mybase->DB) ;
- }
- }
- pr("sele 10\nuse\nreturn\n");
- pr("case choice='1'\n");
- pr("clear\n");
- pr("tt=' '\n");
- pr("@12,12 say '╩╟ ╖± ╥¬ ╩² ╛▌ ┤½ ╡▌?' get tt pict '!'\n");
- pr("read\n");
- pr("m=.t.\n");
- pr("do while m\n");
- pr("clear\n");
- pr("if .NOT. tt='Y'\n");
- pr("sele A\n") ;
- pr("append blank\n");
- pr("else\n");
- for(l=1;l<=j;l++)
- {
- fprintf(fp,"select %d\n",l);
- pr("bb=reccount()\n");
- pr("copy to qqqq for RECNO()=bb\n");
- pr("appe from qqqq\n");
- pr("run del qqqq.dbf\n");
- }
- pr("endif\n");
- pr("w=.t.\n");
- fprintf(fp,"do %s with w\n",inname);
- pr("yy=' '\n");
- pr("m=.F.\n") ;
- pr("@24,0 say '─·╗╣╥¬╝╠╨°╠φ╝╙┬≡? ' get yy\n");
- pr("read\n");
- pr("if yy='y'.or. yy='Y'\n");
- pr("m=.t.\n");
- pr("@24,0 say SPACE(80)\nendif\n"); /*This line modified at Nov.13, 1992 */
- pr("enddo\n"); /* This line is new added */
- pr("case choice='2'\n");
- pr("clear\n");
- pr("renu=SPACE(4)\n");
- pr("@12,10 say '╟δ╩Σ╚δ╝╟┬╝║┼ ' get renu picture '9999'\n");
- pr("read\n");
- pr("renu=VAL(renu)\n");
- pr("m=.t.\n");
- pr("do while m\n");
- pr("clear\n");
- fprintf(fp,"select A\n");
- pr("if renu<reccount()\n");
- pr("go renu\n");
- pr("else\n");
- pr("go bottom\n");
- pr("endif\n");
- if(coflag[1])
- {
- pr(" recnow=recno()\n") ;
- pr("opendbf=DBF()\n") ;
- pr("use &opendbf exclusive\n") ;
- pr("go recnow\ninsert blank before\nrecnow=recno()\n");
- pr("use &opendbf \ngo recnow\n") ;
- }
- else
- pr("insert blank before\n") ;
- pr("w=.t.\n");
- fprintf(fp,"do %s with w\n",inname);
- pr("yy=' '\n");
- pr("m=.F.\n") ;
- pr("@24,0 say '─·╗╣╥¬╝╠╨°▓σ╚δ┬≡? ' get yy pict 'A'\n");
- pr("read\n");
- pr("if yy='y'.or. yy='Y'\n");
- pr("m=.t.\nrenu=renu+1\n");
- pr("endif\n");
- pr("@24,0 say SPACE(80)\nenddo\n");
- pr("case choice='3'\n");
- pr("ww=.t.\n");
- pr("do while ww\n");
- pr("mm=' '\n");
- pr("do caidan1 with mm\n") ;
- pr("do case\n");
- pr("case mm='0'\n");
- pr("ww=.f.\n");
- pr("case mm='1'\n");
- pr("renu1=0\nrenu2=0\n") ;
- pr("@20,20 say '╟δ╩Σ╚δ╩╫╝╟┬╝║┼ ' get renu1 picture '9999' range 1,9999\n" );
- pr("@20,60 say '╬▓╝╟┬╝║┼ ' get renu2 picture '9999' range 1,9999\n") ;
- pr("read\nset color to W/N\n");
- pr("m=renu1\n");
- pr("select 1\n");
- pr("go top\n");
- pr("if m>reccount()\n");
- pr("m=renu2+1\n");
- pr("endif\n");
- pr("do while m<=renu2 .AND. .NOT. EOF()\n");
- pr("clear\n");
- pr("select 1\n");
- pr("go m\n");
- pr("w=.t.\n");
- fprintf(fp,"do %s with w\n",inname);
- pr("m=m+1\n");
- pr("select 1\n");
- pr("skip\n");
- pr("enddo\n");
- pr("case mm='2'\n");
- pr("@20,20 say '╟δ╩Σ╚δ╓≈╝ⁿ╓╡' \n");
- pr("condit='.t.'\n");
- for (ctcn=0;ctcn<4&&(midbase->KEY[ctcn][0]!='\0');ctcn++)
- {
- fprintf(fp,"skey%d=SPACE(30)\n",ctcn);
- fprintf(fp,"accept ' %s=' to skey%d\n",midbase->KEY[ctcn],ctcn);
- pr("w=.t.\n");
- fprintf(fp,"tpkey=%s\n",midbase->KEY[ctcn]);
- pr("if TYPE('tpkey')='C'\n");
- fprintf(fp,"condit=trim(condit)+'.and.%s=skey%d'\n",midbase->KEY[ctcn],ctcn);
- pr("else\n");
- fprintf(fp,"condit=trim(condit)+'.and.%s=VAL(skey%d)'\n",midbase->KEY[ctcn],ctcn);
- pr("endif\n");
- }
- pr("sele A\nloca for &condit\n");
- pr("if EOF()\n");
- pr("@22,10 say '┤╦╓≈╝ⁿ▓╗┤µ╘┌'\n");
- pr("wait\n");
- pr("@23,0 clear\n");
- pr("loop\n");
- pr("endif\n");
- fprintf(fp,"do %s with w\n",inname);
- pr("case mm='3'\n");
- pr("clear\n");
- pr("select 1\n");
- pr("go top\n");
- pr("m=.t.\n");
- pr("do while .not. EOF() .and. m\n");
- pr("w=.t.\n");
- pr("kk=w\n");
- fprintf(fp,"do %s with w\n",inname);
- pr("if kk\n");
- pr("yy=' '\n");
- pr("@24,0 say '─·╗╣╥¬╝╠╨°╨▐╕─┬≡? ' get yy\n");
- pr("read\n");
- pr("@24,0 say SPACE(80)\n");
- pr("if yy<>'y'.AND.yy<>'Y'\n");
- pr("m=.f.\n");
- pr("endif\n");
- pr("endif\n");
- pr("select 1\n");
- pr("skip\n");
- pr("enddo\n");
- pr("endcase\n");
- pr("enddo\n");
- pr("case choice='4'\n");
- pr("ww=.t.\n");
- pr("do while ww\n");
- pr("mm=' '\n") ;
- pr("do caidan1 with mm\n") ;
- pr("do case\n");
- pr("case mm='0'\n");
- pr("ww=.f.\n");
- pr("case mm='1'\n");
- pr("renu1=0\nrenu2=0\n") ;
- pr("@20,20 say '╟δ╩Σ╚δ╩╫╝╟┬╝║┼ ' get renu1 picture '9999' range 1,9999\n");
- pr("@20,60 say '╬▓╝╟┬╝║┼ ' get renu2 picture '9999' range 1,9999\n");
- pr("read\nset color to W/N\n");
- pr("m=renu1\n");
- pr("select 1\n");
- pr("go top\n");
- pr("if m>reccount()\n");
- pr("m=renu2+1\n");
- pr("endif\n");
- pr("do while m<=renu2 .AND. .NOT. EOF()\n");
- pr("clear\n");
- pr("select 1\n");
- pr("go m\n");
- pr("w=.t.\n");
- pr("clear\n");
- fprintf(fp,"do %s\n",lookname);
- pr("yy=' '\n");
- pr("@24,0 say '─·─▄╚╖╚╧┬≡? (Y/N) ' get yy picture '!'\nread\n");
- pr("if yy='Y'.or. yy='y'\n") ;
- for(lb=1;lb<=1;lb++)
- {
- fprintf(fp,"select %d\n",lb);
- if(coflag[lb])
- {
- pr("opendbf=DBF()\ncurrec=recno()\n") ;
- pr("use &opendbf exclsive\ndelete\nuse &opendbf\ngo currec\n") ;
- }
- else
- pr("delete\n") ;
- }
- pr("endif\n") ;
- pr("@24,0 say SPACE(80)\n");
- pr("select 1\n");
- pr("m=m+1\n");
- pr("enddo\n");
- pr("sele 1\nmdbf=dbf()\nuse &mdbf excl\npack\n");
- pr("case mm='2'\n");
- pr("@20,20 say '╟δ╩Σ╚δ╓≈╝ⁿ╓╡' \n");
- pr("condit='.t.'\n");
- for (ctcn=0;ctcn<4&&(midbase->KEY[ctcn][0]!='\0');ctcn++)
- {
- fprintf(fp,"skey%d=SPACE(30)\n",ctcn);
- fprintf(fp,"accept ' %s=' to skey%d\n",midbase->KEY[ctcn],ctcn);
- pr("w=.t.\n");
- fprintf(fp,"tpkey=%s\n",midbase->KEY[ctcn]);
- pr("if TYPE('tpkey')='C'\n");
- fprintf(fp,"condit=trim(condit)+'.and.%s=skey%d'\n",midbase->KEY[ctcn],ctcn);
- pr("else\n");
- fprintf(fp,"condit=trim(condit)+'.and.%s=VAL(skey%d)'\n",midbase->KEY[ctcn],ctcn);
- pr("endif\n");
- }
- pr("sele A\nloca for &condit\n");
- pr("if EOF()\n");
- pr("@22,10 say '┤╦╓≈╝ⁿ▓╗┤µ╘┌!'\n");
- pr("wait\n");
- pr("@23,0 clear\n");
- pr("loop\n");
- pr("endif\n");
- pr("if w\n");
- pr("clear\n");
- fprintf(fp,"do %s\n",lookname);
- pr("yy=' '\n");
- pr("@24,0 say SPACE(80)\n");
- pr("@24,0 say '─·─▄╚╖╚╧┬≡? (Y/N) ' get yy\nread\n");
- pr("if yy='y'.or. yy='Y'\n");
- for(lb=1;lb<=1;lb++)
- {
- fprintf(fp,"select %d\n",lb);
- if(coflag[lb])
- {
- pr("opendbf=DBF()\n") ;
- pr("use &opendbf exclsive\ndelete\npack\nuse &opendbf\n") ;
- }
- else
- pr("delete\npack\n") ;
- }
- pr("endif\n");
- pr("endif\n");
- pr("case mm='3'\n");
- pr("clear\n");
- pr("select 1\n");
- pr("go top\n");
- pr("m=.t.\n");
- pr("do while .not. EOF() .and. m\n");
- pr("w=.t.\n");
- pr("if w\n");
- pr("clear\n");
- fprintf(fp,"do %s\n",lookname);
- pr("yy=' '\n");
- pr("@24,0 say SPACE(80)\n");
- pr("@24,0 say '─·─▄╚╖╚╧┬≡? (Y/N) ' get yy\nread\n");
- pr("@24,0 say SPACE(80)\n");
- pr("if yy='y'.or. yy='Y'\n");
- for(lb=1;lb<=1;lb++)
- {
- fprintf(fp,"select %d\n",lb);
- if(coflag[lb])
- {
- pr("opendbf=DBF()\ncurrec=recno()\n") ;
- pr("use &opendbf exclsive\ndelete\nuse &opendbf\ngo currec\n") ;
- }
- else
- pr("delete\n") ;
- }
- pr("endif\n");
- pr("endif\n");
- pr("if w\n");
- pr("yy=' '\n");
- pr("@24,0 say '─·╗╣╥¬╝╠╨°╔╛│²┬≡? ' get yy\n");
- pr("read\n");
- pr("@24,0 say SPACE(80)\n");
- pr("if yy<>'y'.AND.yy<>'Y'\n");
- pr("m=.f.\n");
- pr("endif\n");
- pr("endif\n");
- pr("select 1\n");
- pr("skip\n");
- pr("enddo\nsele 1\nmdbf=dbf()\nuse &mdbf excl\npack\n");
- pr("endcase\n");
- pr("enddo\n");
- pr("case choice='5'\n");
- pr("ww=.t.\n");
- pr("do while ww\n");
- pr("mm=' '\n") ;
- pr("do caidan1 with mm\n") ;
- pr("do case\n");
- pr("case mm='0'\n");
- pr("ww=.f.\n");
- pr("case mm='1'\n");
- pr("renu1=0\nrenu2=0\n") ;
- pr("@20,20 say '╟δ╩Σ╚δ╩╫╝╟┬╝║┼ ' get renu1 picture '9999' range 1,9999\n ");
- pr("@20,60 say '╬▓╝╟┬╝║┼ ' get renu2 picture '9999' range 1,9999\n");
- pr("read\nset color to W/N\n");
- pr("m=renu1\n");
- pr("select 1\n");
- pr("go top\n");
- pr("if m>reccount()\n");
- pr("m=renu2+1\n");
- pr("endif\n");
- pr("do while m<=renu2 .AND. .NOT. EOF()\n");
- pr("clear\n");
- pr("select 1\n");
- pr("go m\n");
- pr("w=.t.\n");
- pr("clear\n");
- fprintf(fp,"do %s\n",lookname);
- pr("yy=' '\n");
- pr("@24,0 say SPACE(80)\n");
- pr("@24,0 say '─·╥¬╝╠╨°▓Θ╤»┬≡ (Y/N) ' get yy\n");
- pr("read\n");
- pr("@24,0 say SPACE(80)\n");
- pr("if yy='y' .or. yy='Y'\n");
- pr("m=m+1\n");
- pr("skip\n");
- pr("else\n m=renu2+1\n");
- pr("endif\n");
- pr("enddo\n");
- pr("case mm='2'\n");
- pr("condit='.t.'\n");
- for (ctcn=0;ctcn<4&&(midbase->KEY[ctcn][0]!='\0');ctcn++)
- {
- fprintf(fp,"skey%d=SPACE(30)\n",ctcn);
- fprintf(fp,"accept ' %s=' to skey%d\n",midbase->KEY[ctcn],ctcn);
- pr("w=.t.\n");
- fprintf(fp,"tpkey=%s\n",midbase->KEY[ctcn]);
- pr("if TYPE('tpkey')='C'\n");
- fprintf(fp,"condit=trim(condit)+'.and.%s=skey%d'\n",midbase->KEY[ctcn],ctcn);
- pr("else\n");
- fprintf(fp,"condit=trim(condit)+'.and.%s=VAL(skey%d)'\n",midbase->KEY[ctcn],ctcn);
- pr("endif\n");
- }
- pr("sele A\nloca for &condit\n");
- pr("if EOF()\n");
- pr("@22,10 say '┤╦╓≈╝ⁿ▓╗┤µ╘┌'\n");
- pr("wait\n");
- pr("@23,0 clear\n");
- pr("loop\n");
- pr("else\nw=.t.\n");
- pr("endif\n");
- pr("if w\n");
- pr("clear\n");
- fprintf(fp,"do %s\n",lookname);
- pr("@22,0 clear\n");
- pr("wait\n");
- pr("endif\n");
- pr("case mm='3'\n");
- pr("clear\n");
- pr("select 1\n");
- pr("go top\n");
- pr("m=.t.\n");
- pr("do while .not. EOF() .and. m\n");
- pr("w=.t.\n");
- pr("if w\n");
- pr("clear\n");
- fprintf(fp,"do %s\n",lookname);
- pr("endif\n");
- pr("if w\n");
- pr("yy=' '\n");
- pr("@24,0 say SPACE(80)\n");
- pr("@24,0 say '─·╗╣╥¬╝╠╨°▓Θ╤»┬≡? ' get yy\n");
- pr("read\n");
- pr("@24,0 say SPACE(80)\n");
- pr("if yy<>'y'.AND.yy<>'Y'\n");
- pr("m=.f.\n");
- pr("endif\n");
- pr("endif\n");
- pr("select 1\n");
- pr("skip\n");
- pr("enddo\n");
- pr("endcase\n");
- pr("enddo\n");
- pr("endcase\n");
- pr("enddo\n");
- /* for(j=0; s[j]>0; j++)
- {
- fprintf(fp, "select %d\n", j+1) ;
- for(mybase=fbase; mybase->no<s[j]-1; mybase=mybase->next) ;
- if( coflag[j+1] )
- {
- fprintf(fp,"sele 10\n use %sndx \ngo top\n",mybase->COPATH);
- fprintf(fp,"loca for trim(╦≈╥²╫╓╢╬)='%s'.and.trim(┐Γ├√)='%s'\n",lname[j-1],mybase->DB);
- fprintf(fp,"nf=trim(╦≈╥²╬─╝■)\n");
- fprintf(fp, "skip\nloca rest for trim(╦≈╥²╫╓╢╬)='%s'.and.trim(┐Γ├√)='%s'\n",lname[j-1],mybase->DB);
- fprintf(fp,"if .not. eof()\nnf=nf+','+trim(╦≈╥²╬─╝■)\ncontinue\nendif\n") ;
- fprintf(fp,"use %s%s inde %s&nf exclusive\nreindex\nuse",mybase->COPATH,mybase->DB,mybase->COPATH) ;
- }
- else
- {
- fprintf(fp,"sele 10\n use %sndx \ngo top\n",aarr);
- fprintf(fp,"loca for trim(╦≈╥²╫╓╢╬)='%s'.and.trim(┐Γ├√)='%s'\n",lname[j-1],mybase->DB);
- fprintf(fp,"nf=trim(╦≈╥²╬─╝■)\n");
- fprintf(fp, "skip\nloca rest for trim(╦≈╥²╫╓╢╬)='%s'.and.trim(┐Γ├√)='%s'\n",lname[j-1],mybase->DB);
- fprintf(fp,"if .not. eof()\nnf=nf+','+trim(╦≈╥²╬─╝■)\ncontinue\nendif\n") ;
- fprintf(fp,"use %s%s inde %s&nf exclusive\nreindex\nuse",aarr,mybase->DB,aarr) ;
- }
- } */
-
- pr("close all\nreturn\n");
- fclose(fp);
- idata(inname,j,s,s[0]-1,aarr);
- ldata(lookname,j,s,s[0]-1);
- }
-
-
-
- idata(inname,j,s,k,aarr)
- char *inname,*aarr;
- int j,k,*s;
- { int row,col,la,lla,llb,lb,m,l,ll,ct,rowctc, i;
- int llbctc,lbctc,lctc,llctc, temp;
- char echo_len[70] ;
- FILE *fp;
- LINK *mylink;
- CONTENT *mycon;
- BASE *midbase;
- fp=fopen(inname,"w");
- mylink=flink;
- /* while (mylink->no!=k)
- mylink=mylink->next;*/
- pr("parameters w\n");
- /**/pr("flag1=1\n");
- /** for(i=0; s[i]!=0; i++)**/
- for (i=1 ;s[i]!=0; i++)
- fprintf(fp,"flag%d=0\n", i+1) ;
- pr("do while w\n");
- pr("clear\n");
- la=0;m=1;lla=0;
- lb=0;llb=0;
- while(m)
- {
- row=2; col=15;
- for(l=la;l<j;l++)
- {
- fprintf(fp,"select %d \n",l+1);
- mycon=fcon;
- midbase=fbase;
- while (midbase->no!=(s[l]-1)) midbase=midbase->next;
- while (mycon->no!=s[l]-1) mycon=mycon->next;
- /* {
- midbase=midbase->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>19)
- {
- 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;
- }
- /** fprintf(fp,"sele 1\n");**/
- if(l==j)
- m=0;
- row=3;col=15;
- for(l=lb;l<j;l++)
- {
- mycon=fcon;
- midbase=fbase;
- while (midbase->no!=(s[l]-1)) midbase=midbase->next;
- while (mycon->no!=s[l]-1) mycon=mycon->next;
- /* {
- midbase=midbase->next;
- mycon=mycon->next;
- }*/
- /** if(l>=1)
- {**/
- /** if (linkflag==0) fprintf(fp,"sele A\ncurrec=recno()\ngo top\ngo currec\n");
- else fprintf(fp,"sele %c\ncurrec=recno()\ngo top\ngo currec\n",l-1+'A');
- if ( l==0 )**/
- if (l >= 1)
- fprintf(fp,"sele %c\ncurrec=recno()\ngo top\ngo currec\n",l+64);
- /** fprintf(fp,"select %d \nif eof() .and. flag%d=0\n",l+1, l+1); rowctc=row;**/
- fprintf(fp,"select %d \nif eof() \n",l+1); rowctc=row;
- /** fprintf(fp,"appe blank\nflag%d=1\n", l+1); row=rowctc;**/
- fprintf(fp,"appe blank\nflag%d=1\nendif\nif flag%d=1\n", l+1,l+1); row=rowctc;
- /**/ if(midbase->COFLAG == 'y' || midbase->COFLAG == 'Y')
- /**/ pr("do rlock24\n") ;
- if ( l>=1 ){
- for (ct=0;ct<3;ct++)
- if (lnamebak[l-1][ct][0]!='\0'){
-
- fprintf(fp,"replace %s with A->%s\n",lnamebak[l-1][ct],lnamebak[l-1][ct]);
- /**/ /*** if(midbase->COFLAG == 'y' || midbase->COFLAG == 'Y')***/
- /**/ /*** pr("unlock\n"); ***/
- }
-
- }
- for(ll=llb;ll<mycon->NN;ll++)
- { if(mylink->MAR[s[l]-1][ll]==1)
- {
- if(midbase->COFLAG == 'y' || midbase->COFLAG == 'Y')
- {
- switch( mycon->ftype[ll] )
- {
- case 'C':
- for(i=0; i<mycon->len1[ll]&&i<69; 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) ;**/
- fprintf(fp,"@%d,%d get %s\n",row,col,mycon->field[ll]) ;
- break ;
-
- case 'N':
- for(i=0; i<mycon->len1[ll] && i<70; 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) ;**/
- fprintf(fp,"@%d,%d get %s\n",row,col,mycon->field[ll]) ;
- 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]) ;**/
- fprintf(fp,"@%d,%d get %s\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]) ;**/
- fprintf(fp,"@%d,%d get %s\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( midbase->COFLAG == 'Y' ||midbase->COFLAG == 'y')
- pr("unlock \n");
- pr("endif\n");
- /** if( midbase->COFLAG == 'Y' ||midbase->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") ;
- }
- else
- {
- if(l>0)
- {
- pr("do rlock24\n") ;
- fprintf(fp,"replace %s with %c->%s\n", lname[s[l-1]], s[l-1]+64, lname[s[l-1]]) ;
- pr("unlock all\n") ;
- }
- } **/
- if(l>=1)
- {
- /* pr("else\n") ;*/
- row=rowctc;
- for(ll=llb;ll<mycon->NN;ll++)
- { if(mylink->MAR[s[l]-1][ll]==1)
- {
- fprintf(fp,"@%d,%d say %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;
- }
- }
- /* if (l!=0) fprintf(fp,"endif\n");*/
- }
- if(ll!=mycon->NN) break;
- else llb=0;
- }
- if(m&&l!=j&&ll!=mycon->NN)
- pr("clear \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\nsele 1\nreturn\n");
- fclose(fp);
- }
-
-
-
-
-
- ldata(lookname,j,s,k)
- char *lookname;
- int j,k,*s;
- { int ll,l,la,lla,m,row,col;
- FILE *fp;
- CONTENT *mycon;
- LINK *mylink;
- mylink=flink;
- /* while(mylink->no!=k)
- mylink=mylink->next;*/
- la=0;m=1;lla=0;
- fp=fopen(lookname,"w");
- while(m)
- { row=4; col=15;
- for(l=la;l<j;l++)
- {
- mycon=fcon;
- while(mycon->no!=(s[l]-1))
- mycon=mycon->next;
- fprintf(fp,"select %d \n",l+1);
- 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>19)
- { 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;
- /* if(m==0)
- {*/
- pr("yy=' '\n");
- pr("@24,0 say '░┤╚╬╥Γ╝ⁿ┐┤╞Σ╦ⁿ╫╓╢╬╓╡' get yy\n");
- pr("read\n");
- pr("clear\n");
- /* }*/
- }
- pr("sele 1\nreturn\n");
- fclose(fp);
- }
-
-