⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 t3.c

📁 在以前公司DOS环境下
💻 C
📖 第 1 页 / 共 4 页
字号:
  
 time(&tst);
 ikey=TRUE;
 kk=0;
 while(ikey)
  {time(&ted);
   kk++;
   if(kk>2000) break;
   if(kbhit()) break;
   if(fabs(difftime(ted,tst))>0.0)
      ikey=FALSE;
  }
 pcxput(SET,x,y,tmp1);
}

int msgbox(char *msg,int ikey,int hzok)
{int ilen;
 int x,y,xn,yn;

 ilen=strlen(msg);
 if(ilen<25) ilen=25;

 x=400-ilen*4-7;
 y=300-26;
 xn=400+ilen*4+7;
 yn=300+26;

 strcpy(tmp1,"msgtmp.pcx");
 pcxmake(x,y,xn,yn,tmp1);

 drwfillbox(SET,GRAY,x,y,xn,yn);
 drwfillbox(SET,YELLOW,x+2,y+2,xn-2,yn-2);
 if(hzok==1)
  drwhzstr(msg,x+7,y+7,1,1,RED,XOR);
 else
  drwstr(msg,x+7,y+7,1,1,RED,XOR);

 if(ikey==0)
  {strcpy(buf1,"OK");

   drwfillbox(SET,BLUE,400-21,300+3,400+21,300+19);
   drwbox(XOR,RED,400-21,300+3,400+21,300+19);
   drwstr(buf1,400-16,300+3,1,2,GREEN,XOR);
  }
 else if(ikey==1)
  {strcpy(buf1,"YES");

   drwfillbox(SET,BLUE,400-21-10-58,300+3,400-21-10,300+19);
   drwbox(XOR,RED,400-21-10-58,300+3,400-21-10,300+19);
   drwstr(buf1,400-21-10-53,300+3,1,2,GREEN,XOR);

   strcpy(buf1,"NO");

   drwfillbox(SET,BLUE,400+21+10,300+3,400+21+68,300+19);
   drwbox(XOR,RED,400+21+10,300+3,400+21+68,300+19);
   drwstr(buf1,400+21+10+13,300+3,1,2,GREEN,XOR);

  }
  
 ikey=getkey();
 pcxput(SET,x,y,tmp1);
 return ikey;
}



int readstr(int x,int y,int maxlen,char *str)
{ int count,i,xn,yn;
  int x0,y0;

  readbuf[1]='\0';

  count=0;
  xn=x+8*maxlen+4;
  yn=y+16+4;

  drwbox(SET,GRAY,x,y,xn-1,yn-1);
  drwbox(SET,WHITE,x+1,y+1,xn,yn);
  drwfillbox(SET,lYELLOW,x+2,y+2,xn-2,yn-2);

  while(count<maxlen)
   { x0=x+2+count*8;
     y0=y+2;
     xn=x0+8;
     yn=y0+16;
     drwfillbox(SET,RED,x0,y0,xn,yn);

     i=getkey();
     if(i==ESC)
      { str[0]='\0';
        return i;
      }
     else if(i==ENTER)
      { str[count]='\0';
        return i;
      }
     else if(i==9)
        return i;
     else if(i==BACKSPACE)
      { if(count>0)
         { drwfillbox(SET,lYELLOW,x0,y0,xn,yn);
           count--;
           str[count]='\0';
         }
      }
     else if(i>' ')
      {str[count++]=(char)i;
       str[count]='\0';
       readbuf[0]=(char)i;
       drwstr(readbuf,x0,y0,1,1,BLUE,SET);
      }
   }
  return ENTER;
}

int getkey(void)
{ union REGS in,out;
  in.h.ah=0x8;
  int86(0x21,&in,&out);
  if(out.h.al==0)
   return getkey()+128;
  else
   return out.h.al;
}

void drwstr(char *s,int x,int y,int m,int n,int col,int mode)
 { unsigned char dot[16][2];
   long offset1;
   register i,j,k,mm,nn,mask;

    while(*s)
     { offset1=(long)(*s)*16;
       s+=1;
       j=0;
       for(i=0;i<=15;i++)
         { dot[i][j]=ASC16[offset1+i];
           mask=0x80;
           for(k=0;k<=7;k++)
             {if (dot[i][j]&mask)
               {for(nn=0;nn<n;nn++)
                 {for(mm=0;mm<m;mm++)
                  drwpoint(mode,col,x+(j*8+k)*n+nn,y+i*m+mm);
                 }
               }
               mask=mask>>1;
              }
         }
       x+=8*n;
     }

 }

int drwhzstr(char *s,int x,int y,int m,int n,
             int col,int mode)
 { unsigned char dot[16][2],qm,wm;
   long offset1;
   register i,j,k,mm,nn,mask;
   FILE *fpHZ;

   if((fpHZ=fopen("hzk16","rb"))==0)
     {printf("Error: HZK16 can't open.\n");
      return FALSE;
     }


    while(*s)
     { qm=s[0]-0xa1;
       s+=1;
       wm=s[0]-0xa1;

       offset1=((long)qm*94+(long)wm)*32;
       s+=1;
       fseek(fpHZ,offset1,SEEK_SET);
       for(i=0;i<=15;i++)
        {for(j=0;j<2;j++)
         { dot[i][j]=fgetc(fpHZ);
           mask=0x80;
           for(k=0;k<=7;k++)
             {if (dot[i][j]&mask)
               {for(nn=0;nn<n;nn++)
                 {for(mm=0;mm<m;mm++)
                 drwpoint(mode,col,x+(j*8+k)*n+nn,y+i*m+mm);

                 }
               }
               mask=mask>>1;
              }
         }
        }
       x+=16*n;
     }
 fclose(fpHZ);
 }

void lmtspeedinit(void)
{
 int i,j;
 double dtmp;
 FILE *fp;

 if((fp=fopen("cutoff.ini","rb"))==NULL)
   {
   printf("File CUTOFF.INI no found.Use default data.");
   iCOM=1;
   dCIR=935.0;
   dANG=75.0;
   dSYN=90.0;
   dMAX=15.0;
   dRAT=5.88;
   dACC=150.0;
   dDAT=10L;
   iSEL=0;
   iADD=0;
   }
 else
   {i=0;
    while(i<10)
     {if(fgets(buf1,80,fp)!=NULL)
       {if((i==0) || (i>7)) j=atoi(buf1+6);
        else dtmp=atof(buf1+6);

        switch(i)
         {case 0:
           if((j>=0)&&(j<=32)) iCOM=j;
           else iCOM=1;
           break;
          case 1:
           if(dtmp>750.0) dCIR=dtmp;
           else dCIR=935.0;
           break;
          case 2:
           if((dtmp>0.0)&&(dtmp<100.0)) dANG=dtmp;
           else dANG=75.0;
          case 3:
           if((dtmp>0.0)&&(dtmp<=90.0)) dSYN=dtmp;
           else dSYN=75.0;
          case 4:
           if((dtmp>0.0)&&(dtmp<100.0)) dMAX=dtmp;
           else dMAX=15.0;
           break;
          case 5:
           if((dtmp>0.0)&&(dtmp<20.0)) dRAT=dtmp;
           else dRAT=5.88; 
           break;
          case 6:
           if((dtmp>0.0)&&(dtmp<1000.0)) dACC=dtmp;
           else dACC=150.0;
           break;
          case 7:
             dDAT=(long int)dtmp;
             break;
          case 8:
             iSEL=j;
             break;
          case 9:
             iADD=j;
             break;
       }
         i++;
   }
 }
       fclose(fp);
       for(j=i;j<9;j++)
        {if(j==0) iCOM=1;
         else if(j==1) dCIR=935.0;
         else if(j==2) dANG=75.0;
         else if(j==3) dSYN=90.0;
         else if(j==4) dMAX=15.0;
         else if(j==5) dRAT=5.88;
         else if(j==6) dACC=150.0;
         else if(j==7) iSEL=0;
         else if(j==8) iADD=0;
        }
  }
  if(iADD==0)
   {iSEG=0xD000;
    iOFF=0x0000;
   }
  else
   {iSEG=0xE000;
    iOFF=0x0000;
   }
}

void disppic(void)
{  
   drwbox(SET,lPINK,0,0,800,600);
   drwbox(SET,lPINK,1,1,799,599);
   drwbox(SET,lPINK,2,2,798,598);
   drwfillbox(SET,GRAY,3,3,797,597);
  
   drwline(SET,lPINK,2,22,799,22);
   drwline(SET,lPINK,2,22,799,22);
   drwfillbox(SET,WHITE,3,3,798,21);
   strcpy(buf11,"瓦楞纸板生产线换单系统:横切机控制");
   drwhzstr(buf11,4,5,1,1,lBLUE,SET);
   drwbox(SET,lYELLOW,5,25,795,80);
   drwbox(SET,lYELLOW,6,26,794,79);
   drwfillbox(SET,WHITE,7,27,793,78);


   strcpy(buf11,"湖北京山轻工机械股份有限公司");
   drwhzstr(buf11,132,36,1,2,lPINK,SET);
   strcpy(buf11,"地址:湖北省京山县新市镇轻机大道");
   drwhzstr(buf11,210,62,1,1,lPINK,SET);

   strcpy(buf12,"78"); 
   drwstring(SET,lPINK,15,buf12,466,64);
   strcpy(buf11,"号");
   drwhzstr(buf11,482,62,1,1,lPINK,SET);
  
   strcpy(buf11,"博成电脑");
   drwhzstr(buf11,600,36,2,2,lPINK,SET);

   drwbox(SET,lYELLOW,5,86,795,222);
   drwbox(SET,lYELLOW,6,87,794,221);
   drwfillbox(SET,lCYAN,7,88,793,220);
 
 
   drwbox(SET,GREEN,9,90,116,148);
   drwbox(SET,GREEN,10,91,115,147);
   drwfillbox(SET,lBLUE,11,92,114,146);
 
   strcpy(buf11,"速");
 
   drwhzstr(buf11,16,103,2,3,WHITE,SET);
   drwhzstr(buf11,15,103,2,3,WHITE,SET);
   strcpy(buf11,"度");
   drwhzstr(buf11,66,103,2,3,WHITE,SET);
   drwhzstr(buf11,65,103,2,3,WHITE,SET);

  /*生产数量*/
   drwbox(SET,GREEN,119,90,389,148);
   drwbox(SET,GREEN,120,91,388,147);
   drwfillbox(SET,lBLUE,121,92,387,146);
   strcpy(buf11,"生产数量");
   drwhzstr(buf11,169,103,2,3,WHITE,SET);
   drwhzstr(buf11,168,103,2,3,WHITE,SET);

  /*剩余数量*/
   drwbox(SET,GREEN,392,90,650,148);
   drwbox(SET,GREEN,393,91,649,147);
   drwfillbox(SET,lBLUE,394,92,648,146);
   strcpy(buf11,"剩余数量");
   drwhzstr(buf11,428,103,2,3,WHITE,SET);
   drwhzstr(buf11,427,103,2,3,WHITE,SET);

  /*废品*/
   drwbox(SET,GREEN,653,90,793,148);
   drwbox(SET,GREEN,654,91,792,147);
   drwfillbox(SET,RED,655,92,791,146);
   strcpy (buf11,"废");

   drwhzstr(buf11,667,104,2,3,WHITE,SET);
   drwhzstr(buf11,666,103,2,3,WHITE,SET);
   strcpy(buf11,"品"); 
   drwhzstr(buf11,732,104,2,3,WHITE,SET);
   drwhzstr(buf11,731,103,2,3,WHITE,SET);

  /************************************/
   drwbox(SET,GREEN,9,152,116,215);  
   drwbox(SET,GREEN,10,153,115,214);
   drwfillbox(SET,lBLUE,11,154,114,213);
 
   drwbox(SET,GREEN,119,152,389,215);
   drwbox(SET,GREEN,120,153,388,214);
   drwfillbox(SET,lBLUE,121,154,387,213);   

   drwbox(SET,GREEN,392,152,650,215);
   drwbox(SET,GREEN,393,153,649,214);
   drwfillbox(SET,lBLUE,394,154,648,213);

   drwbox(SET,GREEN,653,152,793,215);
   drwbox(SET,GREEN,654,153,792,214);
   drwfillbox(SET,RED,655,154,791,213);



   drwbox(SET,RED,5,226,795,540);
   drwbox(SET,RED,6,227,794,539);
   drwfillbox(SET,BLACK,7,228,793,538); 

   drwfillbox(SET,CYAN,9,230,72,250);
   strcpy(buf11,"工号");
   drwfillbox(SET,CYAN,74,230,115,250);
   drwhzstr(buf11,76,232,1,1,lPINK,SET);
   strcpy(buf11,"定单号");
   drwfillbox(SET,CYAN,117,230,169,250);
   drwhzstr(buf11,119,232,1,1,lPINK,SET);
 
 
   drwfillbox(SET,GREEN,9,260,72,280);
   strcpy(buf11,"已生产");
   drwhzstr(buf11,20,262,1,1,BLACK,SET);
   drwfillbox(SET,RED,9,288,72,308);
   strcpy(buf11,"生产中");
   drwhzstr(buf11,20,290,1,1,lPINK,SET);
   drwfillbox(SET,BLUE,9,316,72,336);
   strcpy(buf11,"待生产");
   drwhzstr(buf11,20,318,1,1,RED,SET);
 
   strcpy(buf11,"纸质");
   drwfillbox(SET,CYAN,171,230,550,250);
   drwhzstr(buf11,353,232,1,1,lPINK,SET);

   strcpy(buf11,"纸宽");
   drwfillbox(SET,CYAN,552,230,593,250);
   drwhzstr(buf11,555,232,1,1,lPINK,SET);

   strcpy(buf11,"长度");
   drwfillbox(SET,CYAN,595,230,636,250);
   drwhzstr(buf11,600,232,1,1,lPINK,SET);

   strcpy(buf11,"数量");
   drwfillbox(SET,CYAN,638,230,748,250);
   drwhzstr(buf11,678,232,1,1,lPINK,SET);

   strcpy(buf11,"限速");
   drwfillbox(SET,CYAN,750,230,791,250);
   drwhzstr(buf11,757,232,1,1,lPINK,SET);


   strcpy(buf12,"F1");
   strcpy(buf11,"定单输入");
   drwbutton(buf12,buf11,8,545,SET,44);
   strcpy(buf12,"F2");
   strcpy(buf11,"强制换单");
   drwbutton(buf12,buf11,88,545,SET,44);
   strcpy(buf12,"F3");
   strcpy(buf11,"定单保存");
   drwbutton(buf12,buf11,167,545,SET,44);
   strcpy(buf12,"F4");
   strcpy(buf11,"定单浏览");
   drwbutton(buf12,buf11,247,545,SET,44);
   strcpy(buf12,"F5");
   strcpy(buf11,"定单上载");

   drwbutton(buf12,buf11,326,545,SET,44);
   strcpy(buf12,"F6");
   strcpy(buf11,"生产定单");

   drwbutton(buf12,buf11,406,545,SET,44);
   strcpy(buf12,"F7");
   strcpy(buf11,"自动换单");

   drwbutton(buf12,buf11,485,545,SET,44);
   strcpy(buf12,"F8");
   strcpy(buf11,"取消换单");

   drwbutton(buf12,buf11,565,545,SET,44);
   strcpy(buf12,"+/-");
   strcpy(buf11,"废品计数");

   drwbutton(buf12,buf11,644,545,SET,44);
   strcpy(buf12,"ESC");
   
   strcpy(buf11,"退出系统");

   drwbutton(buf12,buf11,725,545,SET,44);
    

    strcpy(buf11,"开机时间");

    drwfillbox(SET,GREEN,9,516,87,536);
    drwhzstr(buf11,11,518,1,1,5,SET);
    drwfillbox(SET,BLUE,89,516,170,536);  

    strcpy(buf11,"平均车速");
    drwfillbox(SET,GREEN,172,516,250,536);
    drwhzstr(buf11,174,518,1,1,5,SET);
    drwfillbox(SET,BLUE,252,516,293,536);
 
    strcpy(buf11,"停车次数");
    drwfillbox(SET,GREEN,295,516,374,536);
    drwhzstr(buf11,297,518,1,1,5,SET);
    drwfillbox(SET,BLUE,376,516,418,536);


    strcpy(buf11,"停车时间");
    drwfillbox(SET,GREEN,420,516,498,536);
    drwhzstr(buf11,422,518,1,1,5,SET);
    drwfillbox(SET,BLUE,500,516,580,536);

    strcpy(buf11,"生产总长");
    drwfillbox(SET,GREEN,582,516,660,536);
    drwhzstr(buf11,584,518,1,1,5,SET);
    drwfillbox(SET,BLUE,662,516,792,536);

}
void drwbutton(char *phstr,char *str,int x,int y,PixelMode i,int col11)
{
  int k,j;
  int xn,yn;
  k=strlen(phstr);
  j=strlen(str);
  xn=x+j*8;
  yn=y+2+16+14+16+2;
  
drwline(i,7,x,y,xn,y);
drwline(i,7,x,y-1,xn+1,y-1);
drwline(i,7,x,y-2,xn+2,y-2);
drwline(i,7,x,y-2,x,yn);
drwline(i,7,x-1,y-2,x-1,yn+1);
drwline(i,7,x-2,y-2,x-2,yn+2);
drwline(i,0,xn+2,y-1,xn+2,yn+2);
drwline(i,0,xn+1,y,xn+1,yn+2);
drwline(i,0,xn,y+1,xn,yn+2);
drwline(i,0,x-1,yn+2,xn+2,yn+2);
drwline(i,0,x,yn+1,xn+2,yn+1);
drwline(i,0,x+1,yn,xn+2,yn);
drwfillbox(i,col11,x+1,y+1,xn-1,yn-1);
drwstr(phstr,x+(xn-x)/2-k*16/2,y+4,1,2,BLACK,i);                 
drwhzstr(str,x+2,y+2+16+14,1,1,RED,i);
}









⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -