3kmenu34.c

来自「嵌入式开发 嵌入式开发 嵌入式开发」· C语言 代码 · 共 1,178 行 · 第 1/3 页

C
1,178
字号
    
    //开始历史误差描点
    //纵向
    xAT=hjCurvHeader[iCNL];
    for(xoff=0; xoff<BOX34_W; xoff++)
    {
        PutPixel(arBOXPOS34[iCNL].x+xoff, arBOXPOS34[iCNL].y+h50per-vCurvErr[iCNL][xAT], 128, 255, 128);
        if(++xAT==BOX34_W) { xAT=0;}
    }
    //横向
    if(unit[iCNL].submenu1.bitfield.hcontrol)
    {
        xAT=hjCurvHeader[iCNL];
        for(xoff=0; xoff<BOX34_W; xoff++)
        {
            PutPixel(arBOXPOS34[iCNL].x+xoff, arBOXPOS34[iCNL].y+h50per-hCurvErr[iCNL][xAT], 0, 255, 255);
            if(++xAT==BOX34_W) { xAT=0;}
        }
    }
}

/******************************
 描述: 误差综合显示屏幕 如果大于限制色机 则要取消线速度刷新
******************************/
void menu3(void)
{
    int jcnl;
    int wksYTZ_A,wksYTZ_B; //用来记录A系B系的预套准工作状况 0表示没有开始 1表示已经开始 2表示系里面没有通道
    unsigned char counTime=0,counTime1=0;
    ClearClientScr();
    ShowLCaps_M3();
    ShowTitle_M34();
    for(jcnl=1; jcnl<VarST3000.UnitCounts; jcnl++)
    {
        if( unit[jcnl].submenu1.unitworksnum.i &&
            unit[jcnl].submenu1.unitworksnum.j)
        {
            if( (jcnl==MAXCNL_3K-1) && (!unit[jcnl].submenu1.unitworksnum.i) ) 
            {   break;}
            DispARect_M3(jcnl, 1);
        }
    }
    #ifdef ST3000_TMODE
    for(jcnl=1; jcnl<VarST3000.UnitCounts; jcnl++)
    {
        if( unit[jcnl].submenu1.unitworksnum.i &&
            unit[jcnl].submenu1.unitworksnum.j)
        {
            if(unit[jcnl].submenu1.bitfield.hcontrol)
            {   DispHErr_M3(jcnl,
                            (jcnl%2?-1:1)*(jcnl>8?200:(unit[jcnl].submenu1.v_alarm-1)),
                            (jcnl%2?1:-1)*(jcnl>8?200:(unit[jcnl].submenu1.h_alarm-1)));
            }
            else
            {   DispVErr_M3(jcnl,
                            (jcnl%2?-1:1)*(jcnl>8?200:(unit[jcnl].submenu1.v_alarm-1)));
            }
        }
    }
    #endif
    //if(VarST3000.UnitCounts<MAXCNL_3K)
    if(!unit[MAXCNL_3K-1].submenu1.unitworksnum.i) 
    {   InitBOX_SP34();}
    //
    ShowMouse();
    while(VarST3000.MenuIDSEL==3 && VarST3000.AppAlive)
    {
        MouseKeyClick();
        if(MouseClickFlag)
        {
            MouseClickFlag=0;
            HideMouse();
            if(ClickRow>=10 && ClickRow<=60)
            {
                if(ClickCol>=2 && ClickCol<=120)
                {   menu8();        goto subexit_matrixmenu3;}
                else if(ClickCol>=130 && ClickCol<=230)
                {
                    if(wrkMsgBox(1)==1)
                    {   VarST3000.AppAlive=0; break;}
                    else
                    {   goto subexit_matrixmenu3;}
                }
                else if(ClickCol>=240 && ClickCol<=340 && VarST3000.CtrlMenuStatus)
                {   //___参数屏幕3
                    wksYTZ_A=GetJOB_ytz(1); //查询A系的预套准
                    wksYTZ_B=GetJOB_ytz(2); //查询B系的预套准
                    if( (wksYTZ_A==1) ||
                        (wksYTZ_B==1) )
                    {
                        if( wrkMsgBox(0)==1 )
                        {   if(wksYTZ_A==1) { StopYtz(1, 0);}
                            if(wksYTZ_B==1) { StopYtz(2, 0);}
                            VarST3000.MenuIDSEL=7;
                        }
                    }
                    else
                    {   VarST3000.MenuIDSEL=7;}
                    goto subexit_matrixmenu3;
                }
                else if(ClickCol>=350 && ClickCol<=450 && VarST3000.CtrlMenuStatus)
                {   //___参数屏幕2
                    wksYTZ_A=GetJOB_ytz(1); //查询A系的预套准
                    wksYTZ_B=GetJOB_ytz(2); //查询B系的预套准
                    if( (wksYTZ_A==1) ||
                        (wksYTZ_B==1) )
                    {
                        if( wrkMsgBox(0)==1 )
                        {   if(wksYTZ_A==1) { StopYtz(1, 0);}
                            if(wksYTZ_B==1) { StopYtz(2, 0);}
                            VarST3000.MenuIDSEL=6;
                        }
                    }
                    else
                    {   VarST3000.MenuIDSEL=6;}
                    goto subexit_matrixmenu3;
                }
                else if(ClickCol>=460 && ClickCol<=560 && VarST3000.CtrlMenuStatus)
                {   //___参数屏幕1
                    wksYTZ_A=GetJOB_ytz(1); //查询A系的预套准
                    wksYTZ_B=GetJOB_ytz(2); //查询B系的预套准
                    if( (wksYTZ_A==1) ||
                        (wksYTZ_B==1) )
                    {
                        if( wrkMsgBox(0)==1 )
                        {   if(wksYTZ_A==1) { StopYtz(1, 0);}
                            if(wksYTZ_B==1) { StopYtz(2, 0);}
                            VarST3000.MenuIDSEL=5;
                        }
                    }
                    else
                    {   VarST3000.MenuIDSEL=5;}
                    goto subexit_matrixmenu3;
                }
                else if(ClickCol>=570 && ClickCol<=670)
                {   VarST3000.MenuIDSEL=4;    goto subexit_matrixmenu3;}
                #ifdef CAPTURE_SCR
                else if(ClickCol>=680 && ClickCol<=780)
                {   SaveScrRGB(3, 0);}
                #endif
                else if(ClickCol>=790 && ClickCol<=890)
                {   VarST3000.MenuIDSEL=2;    goto subexit_matrixmenu3;}
                else if(ClickCol>=900 && ClickCol<=1000)
                {   //___静止画面
                    wksYTZ_A=GetJOB_ytz(1); //查询A系的预套准
                    wksYTZ_B=GetJOB_ytz(2); //查询B系的预套准
                    if( (wksYTZ_A==1) ||
                        (wksYTZ_B==1) )
                    {
                        if( wrkMsgBox(0)==1 )
                        {   if(wksYTZ_A==1) { StopYtz(1, 0);}
                            if(wksYTZ_B==1) { StopYtz(2, 0);}
                            VarST3000.MenuIDSEL=1;
                        }
                    }
                    else
                    {   VarST3000.MenuIDSEL=1;}
                    goto subexit_matrixmenu3;
                }
            }
            else
            {   //click adjust button of each channel box.
                for(jcnl=1; jcnl<VarST3000.UnitCounts; jcnl++)
                {
                    if( unit[jcnl].submenu1.unitworksnum.i &&
                        unit[jcnl].submenu1.unitworksnum.j &&
                        (!CtrlUnitFlags[jcnl].bits.bit1))
                    {   //正常工作并且没有丢失
                        if( (ClickCol>=arBOXPOS34[jcnl].x+BOX34_W/2-25 && ClickCol<=arBOXPOS34[jcnl].x+BOX34_W/2+25) &&
                            (ClickRow>=arBOXPOS34[jcnl].y && ClickRow<=arBOXPOS34[jcnl].y+25) &&
                            (!CtrlUnitFlags[jcnl].bits.bit5) && (!GetFlags_ytz(jcnl)) )
                        {   RespBAdj_M3_U(jcnl);    break;}
                        else if((ClickCol>=arBOXPOS34[jcnl].x+BOX34_W/2-25 && ClickCol<=arBOXPOS34[jcnl].x+BOX34_W/2+25) &&
                                (ClickRow>=arBOXPOS34[jcnl].y+BOX34_H-25 && ClickRow<=arBOXPOS34[jcnl].y+BOX34_H) &&
                                (!CtrlUnitFlags[jcnl].bits.bit4) && (!GetFlags_ytz(jcnl)) )
                        {   RespBAdj_M3_D(jcnl);    break;}
                        else if((ClickCol>=arBOXPOS34[jcnl].x && ClickCol<=arBOXPOS34[jcnl].x+25) &&
                                (ClickRow>=arBOXPOS34[jcnl].y+BOX34_H/2-25 && ClickRow<=arBOXPOS34[jcnl].y+BOX34_H/2+25) &&
                                (unit[jcnl].submenu1.bitfield.hcontrol) &&
                                (!CtrlUnitFlags[jcnl].bits.bit2) && (!GetFlags_ytz(jcnl)) )
                        {   RespBAdj_M3_L(jcnl);    break;}
                        else if((ClickCol>=arBOXPOS34[jcnl].x+BOX34_W-25 && ClickCol<=arBOXPOS34[jcnl].x+BOX34_W) &&
                                (ClickRow>=arBOXPOS34[jcnl].y+BOX34_H/2-25 && ClickRow<=arBOXPOS34[jcnl].y+BOX34_H/2+25) &&
                                (unit[jcnl].submenu1.bitfield.hcontrol) &&
                                (!CtrlUnitFlags[jcnl].bits.bit3) && (!GetFlags_ytz(jcnl)) )
                        {   RespBAdj_M3_R(jcnl);    break;}
                    }
                }
            }
        subexit_matrixmenu3:
            ShowMouse();
        }
        #ifndef ST3000_TMODE
        else
        {
            if(!unit[MAXCNL_3K-1].submenu1.unitworksnum.i) 
            {
                if(GetSPEED())
                {   DispSPEED34();}
            }
             if(++counTime==51)
            {          
            	ScanCAN_3000();
            	counTime=0;
            }
            if(++counTime1==91)
            {
            	_Query_jzCmdList();
            	counTime1=0;
            }
            ConfirmREC_Tms();

        }
        #endif
    }
    if(REC_sub1com==1)//2007-4-26 16:22:27
    {	REC_Sub1(jcnl, 4);}
    else if(REC_sub1com==2)
    {	REC_Sub1(jcnl,6);}
    else if(REC_sub1com==3)
    {	REC_Sub1(jcnl,3);}
    else if(REC_sub1com==4)
    {	REC_Sub1(jcnl,5);}
    //___换屏存储
    ConfirmREC_Scr();
}

/******************************
 描述: 误差历史曲线显示屏幕 如果大于限制色机 则要取消线速度刷新
******************************/
void menu4(void)
{
    int jcnl;
    int wksYTZ_A,wksYTZ_B; //用来记录A系B系的预套准工作状况 0表示没有开始 1表示已经开始 2表示系里面没有通道
    unsigned char counTime=0,counTime1=0;
    ClearClientScr();
    ShowLCaps_M4();
    ShowTitle_M34();
    for(jcnl=1; jcnl<VarST3000.UnitCounts; jcnl++)
    {
        if( (jcnl==MAXCNL_3K-1) && (!unit[jcnl].submenu1.unitworksnum.i) ) 
        {   break;}
        //
        if( unit[jcnl].submenu1.unitworksnum.i &&
            unit[jcnl].submenu1.unitworksnum.j)
        {   DrawCurvBox_M4(jcnl);}
        else
        {
            Bar(arBOXPOS34[jcnl].x, arBOXPOS34[jcnl].y,
                arBOXPOS34[jcnl].x+BOX34_W, arBOXPOS34[jcnl].y+BOX34_H, 0, 0, 0);
        }
    }
    #ifdef ST3000_TMODE
    for(jcnl=1; jcnl<VarST3000.UnitCounts; jcnl++)
    {
        if( unit[jcnl].submenu1.unitworksnum.i &&
            unit[jcnl].submenu1.unitworksnum.j)
        {
            SyncVEMark_M4(jcnl, 1);
            SyncHEMark_M4(jcnl, 1);
            SyncLMark_M34(jcnl, 1);
        }
    }
    #endif
    if(!unit[MAXCNL_3K-1].submenu1.unitworksnum.i)
    {   InitBOX_SP34();}
    //
    ShowMouse();
    while(VarST3000.MenuIDSEL==4 && VarST3000.AppAlive)
    {
        MouseKeyClick();
        if(MouseClickFlag)
        {
            MouseClickFlag=0;
            HideMouse();
            if(ClickRow>=10 && ClickRow<=60)
            {
                if(ClickCol>=2 && ClickCol<=120)
                {   menu8();        goto subexit_matrixmenu4;}
                else if(ClickCol>=130 && ClickCol<=230)
                {
                    if(wrkMsgBox(1)==1)
                    {   VarST3000.AppAlive=0; break;}
                    else
                    {   goto subexit_matrixmenu4;}
                }
                else if(ClickCol>=240 && ClickCol<=340 && VarST3000.CtrlMenuStatus)
                {   //___参数屏幕3
                    wksYTZ_A=GetJOB_ytz(1); //查询A系的预套准
                    wksYTZ_B=GetJOB_ytz(2); //查询B系的预套准
                    if( (wksYTZ_A==1) ||
                        (wksYTZ_B==1) )
                    {
                        if( wrkMsgBox(0)==1 )
                        {   if(wksYTZ_A==1) { StopYtz(1, 0);}
                            if(wksYTZ_B==1) { StopYtz(2, 0);}
                            VarST3000.MenuIDSEL=7;
                        }
                    }
                    else
                    {   VarST3000.MenuIDSEL=7;}
                    goto subexit_matrixmenu4;
                }
                else if(ClickCol>=350 && ClickCol<=450 && VarST3000.CtrlMenuStatus)
                {   //___参数屏幕2
                    wksYTZ_A=GetJOB_ytz(1); //查询A系的预套准
                    wksYTZ_B=GetJOB_ytz(2); //查询B系的预套准
                    if( (wksYTZ_A==1) ||
                        (wksYTZ_B==1) )
                    {
                        if( wrkMsgBox(0)==1 )
                        {   if(wksYTZ_A==1) { StopYtz(1, 0);}
                            if(wksYTZ_B==1) { StopYtz(2, 0);}
                            VarST3000.MenuIDSEL=6;
                        }
                    }
                    else
                    {   VarST3000.MenuIDSEL=6;}
                    goto subexit_matrixmenu4;
                }
                else if(ClickCol>=460 && ClickCol<=560 && VarST3000.CtrlMenuStatus)
                {   //___参数屏幕1
                    wksYTZ_A=GetJOB_ytz(1); //查询A系的预套准
                    wksYTZ_B=GetJOB_ytz(2); //查询B系的预套准
                    if( (wksYTZ_A==1) ||
                        (wksYTZ_B==1) )
                    {
                        if( wrkMsgBox(0)==1 )
                        {   if(wksYTZ_A==1) { StopYtz(1, 0);}
                            if(wksYTZ_B==1) { StopYtz(2, 0);}
                            VarST3000.MenuIDSEL=5;
                        }
                    }
                    else
                    {   VarST3000.MenuIDSEL=5;}
                    goto subexit_matrixmenu4;
                }
                #ifdef CAPTURE_SCR
                else if(ClickCol>=570 && ClickCol<=670)
                {   SaveScrRGB(4, 0);}
                #endif
                else if(ClickCol>=680 && ClickCol<=780)
                {   VarST3000.MenuIDSEL=3;    goto subexit_matrixmenu4;}
                else if(ClickCol>=790 && ClickCol<=890)
                {   VarST3000.MenuIDSEL=2;    goto subexit_matrixmenu4;}
                else if(ClickCol>=900 && ClickCol<=1000)
                {
                    wksYTZ_A=GetJOB_ytz(1); //查询A系的预套准
                    wksYTZ_B=GetJOB_ytz(2); //查询B系的预套准
                    if( (wksYTZ_A==1) ||
                        (wksYTZ_B==1) )
                    {
                        if( wrkMsgBox(0)==1 )
                        {   if(wksYTZ_A==1) { StopYtz(1, 0);}
                            if(wksYTZ_B==1) { StopYtz(2, 0);}
                            VarST3000.MenuIDSEL=1;
                        }
                    }
                    else
                    {   VarST3000.MenuIDSEL=1;}
                    goto subexit_matrixmenu4;
                }
            }
        subexit_matrixmenu4:
            ShowMouse();
        }
        #ifndef ST3000_TMODE
        else
        {
            if(!unit[MAXCNL_3K-1].submenu1.unitworksnum.i) 
            {
                if(GetSPEED())
                {   DispSPEED34();}
            }
             if(++counTime==51)
            {          
            	ScanCAN_3000();
            	counTime=0;
            }
            if(++counTime1==91)
            {
            	_Query_jzCmdList();
            	counTime1=0;
            }
            ConfirmREC_Tms();

        }
        #endif
    }
    //___换屏存储
    ConfirmREC_Scr();
}

⌨️ 快捷键说明

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