📄 set1.c
字号:
{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 hzstr(char *s,int k,int x,int y)
{
int ilen;
int i,count11,count12;
char buff[2];
char buff1[3];
ilen=strlen(s);
count11=0;
count12=0;
for(i=0;i<ilen;i++)
{
if(s[i]<0)
{ buff1[0]=s[i];
buff1[1]=s[i+1];
buff1[2]='\0';
i++;
drwhzstr(buff1,x+2+count11*16+count12*8,y+4,1,1,k,SET);
count11++;
}
else
if(s[i]>0)
{ buff[0]=s[i];
buff[1]='\0';
drwstr(buff,x+2+count11*16+count12*8,y+4,1,1,k,SET);
count12++;
}
}
}
void xszt(char *str,int i)
{ drwfillcircle(XOR,i,630,140,20);
drwfillbox(SET,lGREEN,680,120,752,160);
drwhzstr(str,684,124,2,2,38,SET);
}
void showtime(void)
{ _strtime(newtimebuf);
if(strncmp(oldtimebuf,newtimebuf,8)!=0)
{ int k;
dispmem(p1);
shang();
xia();
if(m1==0)
k=n1;
else if(n1==0)
k=m1;
else
k=min(m1,n1);
sprintf(buf2,"%3d",k);
drwfillbox(SET,lBLUE,452,115,573,188);
drwstr(buf2,488,136,2,2,RED,SET);
strcpy(oldtimebuf,newtimebuf);
drwfillbox(SET,WHITE,650,5,778,21);
oldtimebuf[8]='\0';
drwstr(oldtimebuf,650,5,1,2,RED,XOR);
}
}
int bcccheck(char *str)
{int i,j,bcc;
i=strlen(str);
bcc=str[0];
for(j=1;j<i-1;j++)
bcc=bcc ^ str[j];
if(bcc<' ') bcc=bcc+' ';
if(bcc==str[i-1])
return TRUE;
else
return FALSE;
}
/*int bccstr(char *str)
{int i,j,bcc;
i=strlen(str);
bcc=str[0];
for(j=1;j<i;j++)
bcc=bcc ^ str[j];
if(bcc<' ') bcc=bcc+' ';
return bcc;
}
*/
void waitbox(char *msg,int ikey,int hzok)
{int ilen,kk;
int x,y,xn,yn;
time_t tst,ted;
char *buf;
buf=(char *)calloc(1,80);
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(buf,"waittmp.pcx");
pcxmake(x,y,xn,yn,buf);
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(buf,"OK");
drwfillbox(SET,BLUE,400-21,300+3,400+21,300+19);
drwbox(XOR,RED,400-21,300+3,400+21,300+19);
drwstr(buf,400-16,300+3,1,2,GREEN,XOR);
}
else if(ikey==1)
{strcpy(buf,"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(buf,400-21-10-53,300+3,1,2,GREEN,XOR);
strcpy(buf,"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(buf,400+21+10+13,300+3,1,2,GREEN,XOR);
}
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,buf);
}
int ErrorCheck(int Code)
{/* trap PCL error codes */
if(Code<0)
{printf("ERROR %d:",Code);
SioError(Code);
SioDone(Port);
exit(1);
}
return(0);
} /* end ErrorCheck */
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,BLACK,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(buf,"瓦楞纸板生产线管理系统--湿部状态显示");
hzstr(buf,lRED,5,1);
drwbox(SET,lYELLOW,5,25,795,80);
drwbox(SET,lYELLOW,6,26,794,79);
drwfillbox(SET,WHITE,7,27,793,78);
strcpy(buf,"湖北京山轻工机械股份有限公司");
drwhzstr(buf,132,36,1,2,lPINK,SET);
strcpy(buf,"地址:湖北省京山县新市镇轻机大道");
/* drwhzstr(buf,210,62,1,1,lPINK,SET); */
hzstr(buf,lPINK,210,58);
strcpy(buf,"78");
drwstring(SET,lPINK,15,buf,466,64);
strcpy(buf,"号");
drwhzstr(buf,482,62,1,1,lPINK,SET);
strcpy(buf,"博成电脑");
drwhzstr(buf,600,36,2,2,lPINK,SET);
drwbox(SET,lYELLOW,5,86,795,194);
drwbox(SET,lYELLOW,6,87,794,193);
drwfillbox(SET,lBLUE,7,88,793,192);
drwbox(SET,38,9,90,575,190);
drwbox(SET,38,10,91,574,189);
drwline(SET,38,82,90,82,190);
drwline(SET,38,205,90,205,190);
drwline(SET,38,328,90,328,190);
drwline(SET,38,451,90,451,190);
drwline(SET,38,9,114,575,114);
drwline(SET,38,9,152,451,152);
drwline(SET,38,9,90,82,114);
strcpy(buf,"上层横切");
drwhzstr(buf,14,125,1,1,38,SET);
strcpy(buf,"下层横切"); /* 上层 下层 */
drwhzstr(buf,14,163,1,1,38,SET);
strcpy(buf,"切断长度"); /*(127,125) (127,163)*/
drwhzstr(buf,111,94,1,1,38,SET);
strcpy(buf,"切断数量"); /*(250,125) (250,163)*/
drwhzstr(buf,234,94,1,1,38,SET);
strcpy(buf,"剩余长度"); /*(373,125) (373,163)*/
drwhzstr(buf,357,94,1,1,38,SET);
strcpy(buf,"烘干机限速"); /*(496,144)*/
drwhzstr(buf,472,94,1,1,38,SET);
drwbox(SET,38,576,90,792,190);
drwbox(SET,38,576,91,791,189);
drwfillbox(SET,BLACK,577,92,790,188);
drwfillbox(SET,CYAN,9,200,72,220);
strcpy(buf,"工号");
drwfillbox(SET,CYAN,74,200,115,220);
drwhzstr(buf,76,202,1,1,lPINK,SET);
strcpy(buf,"定单号");
drwfillbox(SET,CYAN,117,200,169,220);
drwhzstr(buf,119,202,1,1,lPINK,SET);
drwfillbox(SET,RED,9,224,72,242);
strcpy(buf,"已生产");
drwhzstr(buf,18,226,1,1,WHITE,SET);
drwfillbox(SET,GREEN,9,250,72,270);
strcpy(buf,"生产中");
drwhzstr(buf,18,252,1,1,lPINK,SET);
drwfillbox(SET,BLUE,9,278,72,298);
strcpy(buf,"待生产");
drwhzstr(buf,18,280,1,1,RED,SET);
strcpy(buf,"纸质");
drwfillbox(SET,CYAN,171,200,550,220);
drwhzstr(buf,353,202,1,1,lPINK,SET);
strcpy(buf,"纸宽");
drwfillbox(SET,CYAN,552,200,593,220);
drwhzstr(buf,555,202,1,1,lPINK,SET);
strcpy(buf,"长度");
drwfillbox(SET,CYAN,595,200,636,220);
drwhzstr(buf,600,202,1,1,lPINK,SET);
strcpy(buf,"数量");
drwfillbox(SET,CYAN,638,200,748,220);
drwhzstr(buf,678,202,1,1,lPINK,SET);
strcpy(buf,"限速");
drwfillbox(SET,CYAN,750,200,791,220);
drwhzstr(buf,757,202,1,1,lPINK,SET);
strcpy(buf1,"ESC");
strcpy(buf,"退出系统");
drwbutton2(buf1,buf,690,537,SET,lGREEN);
strcpy(buf1,"Up/Dn");
strcpy(buf,"上/下层选择");
drwbutton1(buf1,buf,690,474,SET,lGREEN);
drwbox(SET,38,5,474,684,594);
drwbox(SET,38,6,474,683,593);
drwfillbox(SET,14,7,475,682,592);
drwline(SET,38,5,514,684,514);
drwline(SET,38,5,554,684,554);
drwline(SET,38,77,473,77,594);
drwline(SET,38,229,473,229,594);
drwline(SET,38,381,473,381,594);
drwline(SET,38,533,473,533,594);
strcpy(buf,"湿部机型");
drwhzstr(buf,10,486,1,1,38,SET);
strcpy(buf,"速度");
drwhzstr(buf,10,526,1,1,38,SET);
strcpy(buf,"积纸");
drwhzstr(buf,10,566,1,1,38,SET);
strcpy(buf,"A");
drwstr(buf,125,486,1,1,BLACK,SET);
strcpy(buf,"单面机");
drwhzstr(buf,133,486,1,1,38,SET);
strcpy(buf,"C");
drwstr(buf,277,486,1,1,BLACK,SET);
strcpy(buf,"单面机");
drwhzstr(buf,285,486,1,1,38,SET);
strcpy(buf,"B");
drwstr(buf,429,486,1,1,BLACK,SET);
strcpy(buf,"单面机");
drwhzstr(buf,437,486,1,1,38,SET);
strcpy(buf,"D");
drwstr(buf,581,486,1,1,BLACK,SET);
strcpy(buf,"烘干机");
drwhzstr(buf,589,486,1,1,38,SET);
strcpy(buf2,"tx.pcx");
pcxmake(0,0,799,599,buf2);
}
void dispmem(unsigned char far * addresst)
{
unsigned char far *p;
int i,j,k;
p=addresst;
p++;
p++;
for(j=0;j<=8;j++)
{ for(k=0;k<70;k++)
{
order[j][k]=*p;
p++;
}
}
/*
for(i=0;i<4;i++)
{
cutlength[i]=*p;
p++;
}
cutlength[4]='\0';
for(i=0;i<10;i++)
{
cutnumber[i]=*p;
p++;
}
cutnumber[10]='\0';
for(i=0;i<10;i++)
{
leftlength[i]=*p;
p++;
}
leftlength[10]='\0';
*/
for(i=0;i<=8;i++)
if (i==0)
disporder(i,order[i],RED,WHITE);
else if (i==1)
disporder(i,order[i],YELLOW,RED);
else
disporder(i,order[i],lGREEN,WHITE);
}
void shang(void)
{
unsigned char far *p;
int i,j,k,t;
char leftlen[10];
p=(unsigned char far *)address;
p++;
p++;
for(j=0;j<=8;j++)
{ for(k=0;k<70;k++)
{
order[j][k]=*p;
p++;
}
}
for(i=0;i<4;i++)
{
cutlength2[i]=*p;
p++;
}
cutlength2[4]='\0';
if ((*(p-4)<'0')||(*(p-4)>'9'))
{cutlength2[0]='0';
cutlength2[1]='\0';
}
m1=lmtspeedcal(atoi(cutlength2));
p++;
for(i=0;i<10;i++)
{
cutnumber2[i]=*p;
p++;
}
cutnumber2[10]='\0';
if ((*(p-10)<'0')||(*(p-10)>'9'))
{cutnumber2[0]='0';
cutnumber2[1]='\0';
}
for(i=0;i<10;i++)
{
leftlength2[i]=*p;
p++;
}
leftlength2[10]='\0';
t=(int)((atol(leftlength2))/1000.0);
itoa(t,leftlen,10);
if ((*(p-10)<'0')||(*(p-10)>'9'))
{leftlength2[0]='0';
leftlength2[1]='\0';
}
drwfillbox(SET,lBLUE,83,115,204,151);
drwfillbox(SET,lBLUE,206,115,327,151);
drwfillbox(SET,lBLUE,329,115,450,151);
drwstr(cutlength2,127,125,1,1,38,SET);
drwfillbox(SET,lBLUE,159,125,159+16,125+16);
drwstr(cutnumber2,250,125,1,1,38,SET);
drwstr(leftlen,373,125,1,1,38,SET);
}
void xia(void)
{
unsigned char far *p;
char leftlen[10];
int i,j,k,t;
p=(unsigned char far *)address1;
p++;
p++;
for(j=0;j<=8;j++)
{ for(k=0;k<70;k++)
{
order[j][k]=*p;
p++;
}
}
for(i=0;i<4;i++)
{
cutlength1[i]=*p;
p++;
}
cutlength1[4]='\0';
if ((*(p-4)<'0')||(*(p-4)>'9'))
{ cutlength1[0]='0';
cutlength1[1]='\0';
}
n1=lmtspeedcal(atoi(cutlength1));
p++;
for(i=0;i<10;i++)
{
cutnumber1[i]=*p;
p++;
}
cutnumber1[10]='\0';
if ((*(p-10)<'0')||(*(p-10)>'9'))
{cutnumber1[0]='0';
cutnumber1[1]='\0';
}
for(i=0;i<10;i++)
{
leftlength1[i]=*p;
p++;
}
leftlength1[10]='\0';
t=(int)((atol(leftlength1))/1000.0);
itoa(t,leftlen,10);
if ((*(p-10)<'0')||(*(p-10)>'9'))
{leftlength1[0]='0';
leftlength1[1]='\0';
}
drwfillbox(SET,lBLUE,83,153,204,188);
drwfillbox(SET,lBLUE,206,153,327,188);
drwfillbox(SET,lBLUE,329,153,450,188);
drwstr(cutlength1,127,163,1,1,38,SET);
drwfillbox(SET,lBLUE,159,163,159+16,163+16);
drwstr(cutnumber1,250,163,1,1,38,SET);
drwstr(leftlen,373,163,1,1,38,SET);
}
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(buf2,"msgtmp.pcx");
pcxmake(x,y,xn,yn,buf2);
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,buf2);
return ikey;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -