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)
- char *explain="***┤·┬δ╬¼╗ñ***";
- main(int argc,char *argv[])
- {
- FILE *fp;
- char p;
- if(argc<2)
- return;
- /* if((fp=fopen("mcode.prg","r"))!=NULL)
- {
- system("cls");
- color_puts(explain,14,2,2);
- color_puts("┤╦ ─ú ┐Θ ╥╤ ┤µ ╘┌,╩╟ ╖± ╓╪ ╨┬ ╔· │╔(Y/N)? ",14,12,20);
- cursor(13,35);
- scanf("%c",&p);
- fclose(fp);
- if(p!='Y'&&p!='y')
- {
- fclose(fp);
- return;
- }
- }
- fclose(fp);*/
- generate(argv[1]);
- }
-
-
-
-
-
-
- generate(char *aarr)
- {
- FILE *fp;
- int j,k,row,col,l,lb;
- char name[15]={"mcode.prg"} ,
- inname[15]={"c1i_.prg"} ,
- lookname[15]={"c1l_.prg"} ;
-
- /* fp=fopen("mcode.prg","w");
- pr("select 1\n");
- pr("set talk off\ndo while .t.\n clear\n");
- pr("@2,20 say '╟δ╤í╘±─·╥¬╜°╨╨┤·┬δ▓┘╫≈╡─┐Γ'\n");
- pr("@3,20 say '~~~~~~~~~~~~~~~~~~~~~~~~~~'\n");
- pr("name='code'\nset color to W+/B\n");
- pr("do dbfmenu with name\n");
- pr("if name='0'\n");
- pr("return\n");
- pr("endif\n");
- fprintf(fp,"name='%s'+name+'c.dbf'\n",aarr);
- fprintf(fp,"if .not. file('&name')\n",name);
- pr("use code exclusive\n");
- pr("copy stru to &name\n");
- pr("endif\n");
- pr("use &name\ exclusiven");
- fprintf(fp,"do %s \n",name);
- pr("return\n");
- fclose(fp);*/
-
- fp=fopen(name,"w");
- pr("clear\nset safe off\nsele 8\n");
- pr("do while .t.\n");
- pr("set color to /W\nclear\n") ;
- pr("set color to /N\n@6,22 clear to 15,51\n") ;
- pr("set color to W+/B\n@5,20 clear to 14,49\n") ;
- pr("set color to W+/B\n") ;
- pr("@6,24 say '─·┐╔╥╘╜°╨╨╧┬┴╨▓┘╫≈'\n");
- pr("@7,20 say '~~~~~~~~~~~~~~~~~~~~~~~~~~~'\nset color to W+/B\n");
- pr("@9,20 say ' 1.╠φ╝╙ 2.▓σ╚δ '\n");
- pr("@11,20 say ' 3.╨▐╕─ 4.╔╛│² '\n");
- pr("@13,20 say ' 5.▓Θ╤» 0.═╦│÷ '\n");
- pr("choice=SPACE(1)\nset color to W+/B\n");
- pr("@22,20 say ' ╟δ╩Σ╚δ─·╡─╤í╘± 'get choice\n");
- pr("read\nset color to W+/N\n");
- pr("ap=0\n");
- pr("do case\n");
- pr("case choice='0'\n");
- pr("return\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("append blank\n");
- pr("else\n");
- 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("@24,0 say '─·╗╣╥¬╝╠╨°╠φ╝╙┬≡? ' get yy\n");
- pr("read\n");
- pr("if yy='y'.or. yy='Y'\n");
- pr("m=.t.\n");
- pr("else\nm=.f.\n");
- pr("endif\n");
- pr("@24,0 say SPACE(80)\nenddo\n");
- pr("case choice='2'\n");
- pr("clear\n");
- pr("renu=SPACE(4)\n");
- pr("@12,10 say '╟δ╩Σ╚δ╝╟┬╝║┼ ' get renu\n");
- pr("read\n");
- pr("renu=VAL(renu)\n");
- pr("m=.t.\n");
- pr("do while m\n");
- pr("clear\n");
- pr("if renu<reccount()\n");
- pr("go renu\n");
- pr("else\n");
- pr("go bottom\n");
- pr("endif\n");
- pr("insert blank before\n");
- pr("w=.t.\n");
- fprintf(fp,"do %s with w\n",inname);
- pr("yy=' '\n");
- pr("@24,0 say '─·╗╣╥¬╝╠╨°▓σ╚δ┬≡? ' get yy\n");
- pr("read\n");
- pr("if yy='y'.or. yy='Y'\n");
- pr("m=.t.\nrenu=renu+1\n");
- pr("else\nm=.f.\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("set color to /W\nclear\n") ;
- pr("set color to /N\n") ;
- pr("@6,25 clear to 17,49\n") ;
- pr("set color to W+/B\n");
- pr("@5,23 clear to 16,47\n");
- pr("@9,30 say '1.╕∙╛▌╝╟┬╝║┼'\n");
- pr("@11,30 say '2.╕∙╛▌╓≈╝ⁿ╓╡'\n");
- pr("@13,30 say '3.╢╘╚½▓┐╝╟┬╝'\n");
- pr("@15,30 say '0.═╦│÷'\n");
- pr("mm=' '\nset color to W+/B\n");
- pr("@6,25 say '╟δ╩Σ╚δ─·╡─╨▐╕─╖╜╩╜ ' get mm\n");
- pr("@7,25 say '~~~~~~~~~~~~~~~~~~~~~'\n");
- pr("read\nset color to W+/N\n");
- pr("do case\n");
- pr("case mm='0'\n");
- pr("ww=.f.\n");
- pr("case mm='1'\n");
- pr("ttop=SPACE(5)\n");
- pr("bbottom=SPACE(5)\n");
- pr("@20,20 say '╟δ╩Σ╚δ╩╫╝╟┬╝║┼ ' get ttop\n");
- pr("@20,60 say '╬▓╝╟┬╝║┼ ' get bbottom\n");
- pr("read\nset color to W+/N\n");
- pr("renu1=VAL(ttop)\n");
- pr("renu2=VAL(bbottom)\n");
- pr("m=renu1\n");
- pr("select 8\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 8\n");
- pr("go m\n");
- pr("w=.t.\n");
- fprintf(fp,"do %s with w\n",inname);
- pr("m=m+1\n");
- pr("select 8\n");
- pr("skip\n");
- pr("enddo\n");
- pr("case mm='2'\n");
- pr("skeyword=SPACE(10)\n");
- pr("@20,20 say '╟δ╩Σ╚δ╫╓╢╬├√' get skeyword\n");
- pr("read\n");
- pr("go top\n");
- pr("clear\n");
- pr("w=.t.\n");
- fprintf(fp,"locate for FIELDNAME=skeyword\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("next=.t.\nlname=skeyword\n");
- pr("locate for FIELDNAME=skeyword\n");
- pr("do while next .AND. .NOT. EOF()\n");
- fprintf(fp,"do %s with w\n",inname);
- pr("skip\n");
- pr("if .NOT. FIELDNAME = lname\n");
- pr("next=.f.\n");
- pr("endif\n");
- pr("enddo\n");
- pr("case mm='3'\n");
- pr("clear\n");
- pr("select 8\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 8\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("set color to /W\nclear\n") ;
- pr("set color to /N\n") ;
- pr("@6,25 clear to 17,49\n") ;
- pr("set color to W+/B\n");
- pr("@5,23 clear to 16,47\n");
- pr("@9,30 say '1.╕∙╛▌╝╟┬╝║┼'\n");
- pr("@11,30 say '2.╕∙╛▌╓≈╝ⁿ╓╡'\n");
- pr("@13,30 say '3.╢╘╚½▓┐╝╟┬╝'\n");
- pr("@15,30 say '0.═╦│÷'\n");
- pr("mm=' '\nset color to W+/B\n");
- pr("@6,25 say '╟δ╩Σ╚δ─·╡─╔╛│²╖╜╩╜ ' get mm\n");
- pr("@7,25 say '~~~~~~~~~~~~~~~~~~~~'\n");
- pr("read\nset color to W+/N\n");
- pr("do case\n");
- pr("case mm='0'\n");
- pr("ww=.f.\n");
- pr("case mm='1'\n");
- pr("ttop=SPACE(5)\n");
- pr("bbottom=SPACE(5)\n");
- pr("@20,20 say '╟δ╩Σ╚δ╩╫╝╟┬╝║┼ ' get ttop\n");
- pr("@20,60 say '╬▓╝╟┬╝║┼ ' get bbottom\n");
- pr("read\nset color to W+/N\n");
- pr("renu1=VAL(ttop)\n");
- pr("renu2=VAL(bbottom)\n");
- pr("m=renu1\n");
- pr("select 8\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 8\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\nread\n");
- pr("if yy='y'.or. yy='Y'\n");
- pr("delete\npack\n");
- pr("endif\n");
- pr("@24,0 say SPACE(80)\n");
- pr("select 8\n");
- pr("skip\n");
- pr("m=m+1\n");
- pr("enddo\n");
- pr("case mm='2'\n");
- pr("skeyword=SPACE(10)\n");
- pr("@20,20 say '╟δ╩Σ╚δ╫╓╢╬├√' get skeyword\n");
- pr("read\n");
- pr("go top\n");
- pr("clear\n");
- pr("w=.t.\n");
- fprintf(fp,"locate for FIELDNAME=skeyword\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("next=.t.\n");
- pr("lname=skeyword\n");
- pr("do while next\n");
- fprintf(fp,"do %s \n",lookname);
- pr("yy=' '\n");
- pr("@24,0 say '─·─▄╚╖╚╧┬≡? (Y/N) ' get yy\nread\n");
- pr("if yy='y'.or. yy='Y'\n");
- pr("delete\npack\n");
- pr("endif\n");
- pr("@24,0 say SPACE(80)\n");
- pr("if .not. EOF()\n");
- pr("if .NOT. FIELDNAME = lname\n");
- pr("next=.f.\n");
- pr("endif\n");
- pr("endif\n");
- pr("enddo\n");
- pr("case mm='3'\n");
- pr("clear\n");
- pr("select 8\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");
- pr("delete\npack\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 8\n");
- pr("skip\n");
- pr("enddo\n");
- pr("endcase\n");
- pr("enddo\n");
- pr("case choice='5'\n");
- pr("ww=.t.\n");
- pr("do while ww\n");
- pr("set color to /W\nclear\n") ;
- pr("set color to /N\n") ;
- pr("@6,25 clear to 17,49\n") ;
- pr("set color to W+/B\n");
- pr("@5,23 clear to 16,47\n");
- pr("@9,30 say '1.╕∙╛▌╝╟┬╝║┼'\n");
- pr("@11,30 say '2.╕∙╛▌╓≈╝ⁿ╓╡'\n");
- pr("@13,30 say '3.╢╘╚½▓┐╝╟┬╝'\n");
- pr("@15,30 say '0.═╦│÷'\n");
- pr("mm=' '\nset color to W+/B\n");
- pr("@6,25 say '╟δ╩Σ╚δ─·╡─▓Θ╤»╖╜╩╜ ' get mm\n");
- pr("@7,25 say '~~~~~~~~~~~~~~~~~~~~'\n");
- pr("read\nset color to W+/N\n");
- pr("do case\n");
- pr("case mm='0'\n");
- pr("ww=.f.\n");
- pr("case mm='1'\n");
- pr("ttop=SPACE(5)\n");
- pr("bbottom=SPACE(5)\n");
- pr("@20,20 say '╟δ╩Σ╚δ╩╫╝╟┬╝║┼ ' get ttop\n");
- pr("@20,60 say '╬▓╝╟┬╝║┼ ' get bbottom\n");
- pr("read\nset color to W+/N\n");
- pr("renu1=VAL(ttop)\n");
- pr("renu2=VAL(bbottom)\n");
- pr("m=renu1\n");
- pr("select 8\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 8\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("skeyword=SPACE(10)\n");
- pr("@20,20 say '╟δ╩Σ╚δ╫╓╢╬├√' get skeyword\n");
- pr("read\n");
- pr("go top\n");
- pr("clear\n");
- pr("w=.t.\n");
- fprintf(fp,"locate for FIELDNAME=skeyword\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("next=.t.\n");
- pr("lname=skeyword\n");
- pr("do while next .AND. .NOT. EOF()\n");
- fprintf(fp,"do %s \n",lookname);
- 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("next=.f.\n");
- pr("endif\n");
- pr("skip\n");
- pr("if .NOT. FIELDNAME = lname\n");
- pr("next=.f.\n");
- pr("endif\n");
- pr("enddo\n");
- pr("case mm='3'\n");
- pr("clear\n");
- pr("select 8\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 8\n");
- pr("skip\n");
- pr("enddo\n");
- pr("endcase\n");
- pr("enddo\n");
- pr("endcase\n");
- pr("enddo\n");
- pr("return\n");
- fclose(fp);
- idata(inname);
- ldata(lookname);
- }
-
-
-
- idata(inname)
- char *inname;
- {
- FILE *fp;
- fp=fopen(inname,"w");
- pr("parameters w\n");
- pr("do while w\n");
- pr("clear\n");
- pr("filedname=space(10)\n");
- pr("fieldconte=space(254)\n");
- pr("fieldcode=space(10)\n");
- pr("@6,15 say '╫╓ ╢╬ ├√ : ' get fieldname\n");
- pr("@11,15 say '╫╓ ╢╬ ┤· ┬δ : ' get fieldcode\n");
- pr("@19,15 say '╛▀ ╠σ ─┌ ╚▌ : ' get fieldconte\n");
- pr("read\n");
- 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");
- pr("w=.f.\n");
- pr("endif\n");
- pr("@24,0 say SPACE(80)\nenddo\n");
- fclose(fp);
- }
-
-
-
-
-
- ldata(lookname)
- char *lookname;
- {
- FILE *fp;
- fp=fopen(lookname,"w");
- pr("@6,15 say '╫╓ ╢╬ ├√ : '+fieldname\n");
- pr("@11,15 say '╫╓ ╢╬ ┤· ┬δ : '+fieldcode\n");
- pr("@16,15 say '╛▀ ╠σ ─┌ ╚▌ : '+fieldconte\n");
- fclose(fp);
- }
-
-
- now_cursor(x,y)
- int *x,*y;
- { union REGS r;
- r.h.ah=3;
- r.h.bh=0;
- int86(0x10,&r,&r);
- *x = r.h.dh;
- *y = r.h.dl;
- return;
- }
-
- cursor(int y, int x)
- {
- _DH = (unsigned char)y ;
- _DL = (unsigned char)x ;
- _AH = (unsigned char)2 ;
- _BH = (unsigned char)0 ;
- geninterrupt(0x10) ;
- }
-
- color_puts(char *string, int color, int row, int col)
- {
- _SI = (unsigned int) string ;
- _DH = (unsigned char) row ;
- _DL = (unsigned char) col ;
- _CX = 1 ;
- while(*(( char * ) _SI))
- {
- _AH = (unsigned char) 2 ;
- _BH = (unsigned char) 0 ;
- __int__(0x10) ;
- ++_DL ;
-
- _AH = (unsigned char) 9 ;
- _AL = *((char *)_SI) ;
- _SI++ ;
- _BH = (unsigned char) 0 ;
- _BL = (unsigned char) color ;
- __int__(0x10) ;
- }
- }
-
-
- clear_win(startrow,startcol,endrow,endcol,attribe)
- int startrow,startcol;
- int endrow,endcol;
- int attribe;
- {
- _AH = (unsigned char) 6 ;
- _AL = (unsigned char) 0 ;
- _BH = (unsigned char) attribe ;
- _CH = (unsigned char) startrow ;
- _CL = (unsigned char) startcol ;
- _DH = (unsigned char) endrow ;
- _DL = (unsigned char) endcol ;
- geninterrupt(0x10) ;
- }
-