home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
- #include <stdlib.h>
- main(argc,argv)
- int argc;
- char *argv[];
- {
- FILE *fp;
- fp=fopen("sort.prg","w");
- fprintf(fp,"********************************************************\n");
- fprintf(fp,"* ┼┼╨≥─ú┐Θ( ╙╔sor.prg lsort.prg st.prg sort.dbf╫Θ│╔ ) *\n");
- fprintf(fp,"* sort.prg maked by hyy of st5622 of BUAA * ì\n");
- fprintf(fp,"********************************************************\n");
- fprintf(fp,"********************************************************\n");
- fprintf(fp,"set safe off\nset color to w/b,w/rr,gr\n");
- fprintf(fp,"set talk off\n");
- fprintf(fp,"do while .t.\n");
- fprintf(fp," set color to 6/0,0/6,0\n");
- fprintf(fp," clear\n");
- fprintf(fp," set color to 0/3,3/0,0\n");
- fprintf(fp," cho=' '\n fname=space(8)\n");
- fprintf(fp," do while at(cho,'0123')=0\n");
- fprintf(fp," @6 ,19 say '⌐│⌐Ñ⌐Ñ⌐Ñ╟δ ╤í ╘± ╥╘ ╧┬ ╣ª ─▄⌐Ñ⌐Ñ⌐╖'\n");
- fprintf(fp," @7 ,19 say '⌐º ⌐º'\n");
- fprintf(fp," @8 ,19 say '⌐º 1 --- ╜¿┴ó┼┼╨≥┐Γ ⌐º'\n");
- fprintf(fp," @9 ,19 say '⌐º ⌐º'\n");
- fprintf(fp," @10,19 say '⌐º 2 --- ╧╘╩╛╗≥┤≥╙í┼┼╨≥┐Γ ⌐º'\n");
- fprintf(fp," @11,19 say '⌐º ⌐º'\n");
- fprintf(fp," @12,19 say '⌐º 3 --- ╔╛│²┼┼╨≥┐Γ ⌐º'\n");
- fprintf(fp," @13,19 say '⌐º ⌐º'\n");
- fprintf(fp," @14,19 say '⌐╗⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐┐'\n");
- fprintf(fp," set color to 6/0,0/6,0\n");
- fprintf(fp," @16,19 say '╩Σ╚δ╥╗╕÷╩²╫╓(1--3),╗≥░┤ 0 ╖╡╗╪:' get cho pict '9'\n");
- fprintf(fp," read\n");
- fprintf(fp," enddo\n");
- fprintf(fp," if cho='0'\n");
- fprintf(fp," return\n");
- fprintf(fp," endif\n");
- fprintf(fp," if cho='1'\n");
- fprintf(fp," ly=.t.\n");
- fprintf(fp," do while ly\n clea\n");
- fprintf(fp," do dbfmenu with fname\n");
- fprintf(fp," if fname='0'\n");
- fprintf(fp," ly=.f.\n");
- fprintf(fp," else\n");
- fprintf(fp," k1='s'+fname\n");
- fprintf(fp," sele 1\n");
- fprintf(fp," use %s&fname\n",argv[1]);
- fprintf(fp," copy to &k1 stru exte\n");
- fprintf(fp," sortfield=space(20)\n");
- fprintf(fp," do sor\n");
- fprintf(fp," if sortfield<>space(20)\n");
- fprintf(fp," dff=space(8)\n");
- fprintf(fp," dkk=space(8)\n");
- fprintf(fp," do while dkk=space(8).or.dff=space(8)\n");
- fprintf(fp," @ 19,0 clear\n");
- fprintf(fp," @19,5 say '╟δ╩Σ╚δ┼┼╨≥┐Γ╡─║¼╥σ:' get dkk\n");
- fprintf(fp," read\n");
- fprintf(fp," @20,5 say '╟δ╩Σ╚╦┼┼╨≥╔·│╔╡─╬─╝■├√ :' get dff\n");
- fprintf(fp," read\n");
- fprintf(fp," k2=trim(dff)+'.dbf'\n");
- fprintf(fp," if file(k2)\n");
- fprintf(fp," @24,5 say '**** '+substr(k2,1,12)+'┐Γ╥╤╛¡┤µ╘┌, ╓╪╨┬╩Σ╚δ╬─╝■├√'\n");
- fprintf(fp," dff=space(8)\n");
- fprintf(fp," endif\n");
- fprintf(fp," @24,0 clear\n");
- fprh.tf(fp," enddo\n");
- fprintf(fp," @24,15 say '╒²╘┌╔·│╔┼┼╨≥┐Γ ... ╟δ╡╚┤² ...'\n");
- fprintf(fp," sele 10\n");
- fprintf(fp," use sort\n");
- fprintf(fp," go bottom\n");
- fprintf(fp," append blank\n");
- fprintf(fp," go bottom\n");
- fprinsçÿD@@@@@@@@@@Σ╩α╪@┌╩┬▄Φ@ε╥Φ╨@╚╓╓╕▄DRv@@╠αΣ╥▄Φ╠P╠αXD@@@@@@@@@@Σ╩α╪@▄┬┌╩@ε╥Φ╨@╚╠╠╕▄DRv@@╠αΣ╥▄Φ╠P╠αXD@@@@@@@@@@Ωµ╩╕▄DRv@@╠αΣ╥▄Φ╠P╠αXD@@@@@@@@@@µ╩╪╦
- i=0;
- strcpy(name,file);
- tail[0]=tail[1]=tail[2]=tail[3]='\0';
- itoa(i,tail,10);
- strcat(name,tail);
-
- strcat(name,".prg");
- if((fp1=fopen(name,"r"))==NULL)
- { fclose(fp1);
- num=0;
- }
- else
- { clear_win(0,0,24,79,6,0,black);
- gframe(5,2,11,76,0,0|30);
- print(7,20,6|1,"─·╘°╛¡╔·│╔╥╗╨⌐┤╦─ú┐Θ╡─╬─╝■╕▓╕╟┬≡ú┐(Y/N) ");
- ten=getcc();
- if((ten=='Y')||(ten=='y'))
- { num=0;
- system("del tt?.prg >zl");
- }
- else
- { i=1;
- for(;;)
- { itoa(i,tail,10);
- strcpy(name,file);
- itoa(i,tail,10);
- strcat(name,tail);
- strcat(name,".prg");
- num=i;
- if((fp1=fopen(name,"r"))==NULL)
- { fclose(fp1); break;
- }
- i++;
- }
- }
-
- }
- }
- /*----------------------------------yv field---------------------------*/
- make_t();
- root2=root;
- while(root2!=NULL)
- if(root2->sele=='Y') break;
- else root2=root2->next;
- if(root2->sele=='Y') {
- p=root2->sstr;
- p4=p2=p; }
- p1=disp_ch(p2);
- print(4,30,6|1,"╟δ╤í╘±╙≥╫¬╗╗╫╓╢╬");
- sele_ch(p2,p1,p4);
- /*------------------------------ttt_obfiled------------------------------*/
- make_t();
- root2=root;
- while(root2!=NULL)
- if(root2->sele=='Y') break;
- else root2=root2->next;
- if(root2->sele=='Y') {
- p=root2->sstr;
- p4=p2=p; }
- /* 0-all1--n*/
- p1=disp_f(p2,1);
- print(4,30,6|1,"╟δ╤í╘±╫¬╗╗╫╓╢╬");
- sele_f(p2,p1,p4,1,0,1);
- /*----------------------------statis condition---------------------------*/
- for(;;) {
- make_t();
- print(4,5,6|1,"╟δ╩Σ╚δ╠⌡╝■▒φ┤∩╩╜");
- root2=root;
- while(root2!=NULL)
- if(root2->sele=='Y')
- break;
- else
- root2=root2->next;
- if(root2->sele=='Y') {
- p=root2->sstr;
- p4=p2=p; }
- clear_win(5,4,9,76,6,0,black);
- p1=disp_f(p2,0);
- if((sele_f(p2,p1,p4,2,0,0))==1)
- break; }
- /*----------------------------------------------------------------------*/
- strcpy(name,file);
- itoa(num,tail,10);
- strcat(name,tail);
- w_menu(name);
- strcat(name,".prg"); if((fp1=fopen(name,"w"))==NULL)
- exit(0);
- /*-----gene----*/
- root2=root;
- while(root2!=NULL)
- if(root2->sele=='Y') break;
- else root2=root2->next; /*op*/
- root4=root;
- while(root4!=NULL)
- if(root4->sort==1) break;
- else root4=root4->next;
- clear_win(5,8,9,70,6,0,black);
- fprintf(fp1,"set talk off\nset echo off\n set safe off\nclose all\n");
- print(7,20,6|1,"─·╥¬╔·│╔═°┬τ╢α╙├╗º│╠╨≥┬≡ú┐(Y/N): ");
- lan=getcc();
- if((lan=='Y')||(lan=='y'))
- fprintf(fp1,"set excl off\n");
- else
- fprintf(fp1,"set excl on\n");
- fprintf(fp1,"sele 2\nuse %s\\%s\n",root4->path,root4->dbname);
- if(((lan=='Y')||(lan=='y'))&&(root4->serve=='Y'))
- {
- fprintf(fp1,"do while .T.\ntime=0\ndo while .not.flock().and.time<250\n");
- fprintf(fp1,"time=time+1\nenddo\nif time<250\n");
- }
- fprintf(fp1,"copy to tetr.dbf\n");
- if(((lan=='y')||(lan=='Y'))&&(root4->serve=='Y'))
- { fprintf(fp1,"unlock\nexit\nelse\nyes=' '\nclear\n@12,10 say \"╬─╝■╥╤▒╗╞Σ╦√╙├╗º,╝╠╨°╝╙╦°┬≡ú┐(Y/N)\" get yes\n");
- fprintf(fp1,"read\nclear\nif yes='N'.or.yes='n'\n@15,10 say \"╟δ╣²╥╗╗ß╢∙╘┘╙├\" \nwait\n");
- fprintf(fp1,"canc\nendif\nendif\nenddo\n");
- }
- fprintf(fp1,"sele 2\n use tetr excl\n");
- fprintf(fp1,"sele 1\nuse %s\\%s\n",root2->path,root2->dbname);
- fprintf(fp1,"sele 2\n");
- /* if(((lanP=='Y')||(lan=='y'))
- {
- fprintf(fp1,"do while .T.\ntime=0\ndo while .not.flock().and.time<250\n");
- fprintf(fp1,"time=time+1\nenddo\nif time<250\n");
- }*/
- fprintf(fp1,"index on ");
- for(i=0;i<linknum;i++)
- if (i==0)
- fprintf(fp1," %s",linkfield[i]);
- else
- fprintf(fp1,"+%s",linkfield[i]);
- fprintf(fp1," to tt\n");
- /* if((lan=='y')||(lan=='Y'))
- {
- fprintf(fp1,"unlock\nexit\nelse\nyes=' '\nclear\n@12,10 say \"╬─╝■╥╤▒╗╞Σ╦√╙├╗º,╝╠╨°╝╙╦°┬≡ú┐(Y/N)\" get yes\n");
- fprintf(fp1,"read\nclear\nif yes='N'.or.yes='n'\n@15,10 say \"╟δ╣²╥╗╗ß╢∙╘┘╙├\" \nwait\n");
- fprintf(fp1,"canc\nendif\nendif\nenddo\n");
- }*/
- fprintf(fp1,"sele 1 \nset relation to ");
- for(i=0;i<linknum;i++)
- if (i==0)
- fprintf(fp1," %s",linkfield[i]);
- else
- fprintf(fp1,"+%s",linkfield[i]);
- fprintf(fp1," into B\n");
- fprintf(fp1,"go top\ndo while .not.eof()\nsele 2\nif eof()\nappe blan \n");
- for(i=0;i<linknum;i++)
- fprintf(fp1,"repl %s with a->%s\n",linkfield[i],linkfield[i]);
- fprintf(fp1,"endif\nsele 1\nskip\nenddo\nsele 2\n");
- fprintf(fp1,"index on ");
- for(i=0;i<linknum;i++)
- if (i==0)
- fprintf(fp1," %s",linkfield[i]);
- else
- fprintf(fp1,"+%s",linkfield[i]);
- fprintf(fp1," to tt1\nsele 1\n");
- fprintf(fp1,"set relation to ");
- for(i=0;i<linknum;i++)
- if (i==0)
- fprintf(fp1," %s",linkfield[i]);
- else
- fprintf(fp1,"+%s",linkfield[i]);
- fprintf(fp1," into B\n");
- fprintf(fp1,"go top\ndo while .not.eof()\nif ");
- p4=root2->sstr;
- while(p4!=NULL)
- if(p4->obj=='Y') break;
- else p4=p4->next;
- p2=root2->sstr;
- while(p2!=NULL)
- if(p2->cla!=0) break;
- else p2=p2->next;
- fprintf(fp1,"%s \nzl=%s\nzl1=%s\n ",condition,p2->field,p4->field);
- fprintf(fp1,"sele 2\nrepl &zl with &zl+zl1\nendif\nsele 1\nskip\nenddo\nclose all\n");
- fprintf(fp1," !c:brow c:tetr.dbf\n!del c:tt.?dx\n");
- fprintf(fp1,"yes='Y'\nclear\n@10,20 say \"─·╥¬▒ú┴⌠┤╦┤╬╫¬╗╗┬≡ú┐(Y/N): \" get yes\nread\n" );
- fprintf(fp1,"if yes='Y'.or.yes='y'\n");
- fprintf(fp1,"!copy c:tetr.dbf %s\\%s.dbf >zl\nendif\n",root4->path,root4->dbname);
- clear_win(5,8,9,70,6,0,black);
- clear_win(13,4,20,75,6,0,black);
- printf("\033[17;20H┤╦═│╝╞╜ß╣√╥¬╣▓╧φ┬≡ú┐(Y/N)");
- k=getcc();
- if((k=='Y')||(k=='y'))
- { print(19,10,6|1,"╩Σ╚δ╣▓╧φ─┐┬╝╝░╬─╝■├√: ");
- scanf("%s",gsxih);
- fprintf(fp1,"!copy c:tetr.dbf %s >zl",gsxih);
- }
- print(7,20,6|1,"╒²╘┌╔·│╔,╟δ╔╘║≤...");
- reuse=1;
- num++;
- fprintf(fp1,"clear\n");
- fprintf(fp1,"ser=' '\n@ 10,10 say \"┤╦╫¬╗╗╜ß╣√╥¬▒╕╖▌┬≡ú┐(Y/N)\" get ser\nread\n");
- fprintf(fp1,"if ser='Y'.or.ser='y'\n ser=space(30)\n@12,10 say \"╟δ╩Σ╚δ─┐┬╝╝░╬─╝■├√│╞:\" get ser\nread\n");
- fprintf(fp1,"!copy c:tetr.dbf &ser > zl\nendif\n");
- strcat(file,tail);
- fprintf(fp1,"!copy c:tetr.dbf c:%sj.dbf >zl",file);
- fclose(fp1);
- clear_win(5,8,9,70,6,0,black);
- clear_win(13,4,20,75,6,0,black);
- print(7,20,6|1,"╝╠╨°╔·│╔┬≡ú┐(Y/N): ");
- ten=getcc();
- if((ten=='Y')||(ten=='y'))
- goto ss;
- else
- { fp2=fopen("tcolor.txt","w");
- fprintf(fp2,"#gr+#,#B#,#doub#\n");
- fclose(fp2);
- }
- /*-----finish----*/
- system("copy c:\cdbag4\tetris.prg >zl");
- system("copy c:\cdbag4\tetris.dbf >zl");
- system("copy c:\cdbag4\tpage.prg >zl"); system("copy c:\cdbag4\tinput.prg >zl");
- system("copy c:\cdbag4\tcursor.prg >zl");
- system("copy c:\cdbag4\toldcur.prg >zl");
- system("copy c:\cdbag4\tstart.prg >zl");
- system("copy c:\cdbag4\tcolor.dbf >zl");
- system("copy c:\cdbag4\dbstr.dbf >zl");
-
- }
-
- select_datbase(maxc)
- int maxc;
- { clear_win(0,0,24,79,6,0,black);
- print(1,5,0|30,"**%s**","╔·│╔╠¿╒╩╫¬╗╗│╠╨≥");
- print(1,55,0|30,"**ESC->╓╨╢╧═╦│÷**");
- bottom();
- print(4,5,6|1,"╣▓╙╨<%d",0);
- print(4,12,6|1,">╕÷╩²╛▌┐Γ▒╗╤í");
- gframe(5,2,11,78,0,0|30);
- print(11,60,0|30,"PgUp/PgDn");
- gframe(14,2,22,78,1,0|30);
- if(maxc==1)
- print(4,30,6|1,"╟δ╤í╠¿╒╩╫¬╗╗┐Γ");
- else
- print(4,30,6|1
- fprintf(fp,"\n");
- fclose(fp);
- system("copy c:\\cdbag4\\sort.dbf sort.dbf > oztom");
- system("del oztom");
- }