亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? alarm.c

?? 16 relay output channels and 16 isolated digital input channels LED indicators to show activated
?? C
?? 第 1 頁 / 共 3 頁
字號:

        if (gnNumOfSubdevices == 0)
        {
            ErrCde = DRV_DeviceOpen(DeviceList[gwDevice].dwDeviceNum,
               (LONG far *)&DriverHandle);
        }
        else
        {
            ErrCde = DRV_DeviceOpen(
                SubDeviceList[gwSubDevice].dwDeviceNum,
                (LONG far *)&DriverHandle);
        }

        if (ErrCde != SUCCESS)
        {
            strcpy(szErrMsg,"Device open error !");
            MessageBox(hMainWnd,(LPCSTR)szErrMsg,"Driver Message",MB_OK);
            return 0;
        }

        // second: get device features

        ptDevFeatures.buffer = (LPDEVFEATURES)&DevFeatures;
        ptDevFeatures.size = sizeof(DEVFEATURES);
        if ((ErrCde = DRV_DeviceGetFeatures(DriverHandle,
            (LPT_DeviceGetFeatures)&ptDevFeatures)) != SUCCESS)
        {
            DRV_GetErrorMessage(ErrCde,(LPSTR)szErrMsg);
            MessageBox(hMainWnd,(LPCSTR)szErrMsg,"Driver Message",MB_OK);
            DRV_DeviceClose((LONG far *)&DriverHandle);
            return 0;
        }

        // third: initialize Channel Edit with device features

        if (DevFeatures.usMaxAlarmChl != 0)
        {
            EnableWindow(GetDlgItem(hDlg, IDC_ECHANNEL), TRUE);
            itoa(gwChannel, szBuffer, 10);
            SendDlgItemMessage(hDlg, IDC_ECHANNEL, WM_SETTEXT, 0,
                        (LPARAM)((LPSTR)szBuffer));
        }
        else
            EnableWindow(GetDlgItem(hDlg, IDC_ECHANNEL), FALSE);

        // fourth: close device

        DRV_DeviceClose((LONG far *)&DriverHandle);


        // ------------------------------------------------------------
        // Initialize Alarm Limit Edit
        // ------------------------------------------------------------
        sprintf(szBuffer, "%6.3f", gfLoLimit);
        SendDlgItemMessage(hDlg, IDC_LOW, WM_SETTEXT, 0,
                        (LPARAM)((LPSTR)szBuffer));
        sprintf(szBuffer, "%6.3f", gfHiLimit);
        SendDlgItemMessage(hDlg, IDC_HIGH, WM_SETTEXT, 0,
                        (LPARAM)((LPSTR)szBuffer));


        // ------------------------------------------------------------
        // Initialize Latching Mode Radio Button
        // ------------------------------------------------------------
        CheckRadioButton(hDlg, IDC_LATCH, IDC_MOMENTARY,
            (gwLatchMode==1)?IDC_MOMENTARY:IDC_LATCH);

        return TRUE;

    case WM_COMMAND :
         switch (LOWORD(wParam))
         {
            case IDOK :

              //
              // get device selection
              //

              if ((dwIndex = SendDlgItemMessage(hDlg, IDC_DEVICE,
                           CB_GETCURSEL, 0, 0)) != CB_ERR)
                   gwDevice = (WORD)dwIndex;


              //
              // get sub-device selection
              //

              if ((dwIndex = SendDlgItemMessage(hDlg, IDC_MODULE,
                           CB_GETCURSEL, 0, 0)) != CB_ERR)
                   gwSubDevice = (WORD)dwIndex;


              //
              // get channel number
              //

              SendDlgItemMessage(hDlg, IDC_ECHANNEL, WM_GETTEXT, 10,
                    (LPARAM)(LPSTR)szBuffer) ;
              gwChannel = atoi(szBuffer);


              //
              // get alarm limit
              //

              SendDlgItemMessage(hDlg, IDC_LOW, WM_GETTEXT, 10,
                    (LPARAM)(LPSTR)szBuffer) ;
              gfLoLimit = (float)atof(szBuffer);

              SendDlgItemMessage(hDlg, IDC_HIGH, WM_GETTEXT, 10,
                    (LPARAM)(LPSTR)szBuffer) ;
              gfHiLimit = (float)atof(szBuffer);


              //
              // get latching mode
              //

              if (IsDlgButtonChecked(hDlg, IDC_LATCH))
                  gwLatchMode = 0;              // latch mode
              else
                  gwLatchMode = 1;              // momentary mode


              EndDialog(hDlg, 0);
              return TRUE;


            case IDCANCEL :
                 EndDialog(hDlg, 0);
                 return TRUE;
			case IDC_MODULE:
				// when device selection is changed, it needs to 
				//re-initialize the channel edit box
				{
					if ((dwIndex = SendDlgItemMessage(hDlg, IDC_DEVICE,
						CB_GETCURSEL, 0, 0)) != CB_ERR)
						gwDevice = (WORD)dwIndex;
					
					
					//
					// get sub-device selection
					//
					
					if ((dwIndex = SendDlgItemMessage(hDlg, IDC_MODULE,
						CB_GETCURSEL, 0, 0)) != CB_ERR)
						gwSubDevice = (WORD)dwIndex;

                    // for non COM port or CAN device
                    if (gnNumOfSubdevices == 0)
                    {
                        ErrCde = DRV_DeviceOpen(
                            DeviceList[gwDevice].dwDeviceNum,
                            (LONG far *)&DriverHandle);
                    }

                    // for COM port or CAN device
                    else
                    {
                        ErrCde = DRV_DeviceOpen(
                            SubDeviceList[gwSubDevice].dwDeviceNum,
                            (LONG far *)&DriverHandle);
                    }

                    if (ErrCde != SUCCESS)
                    {
                        strcpy(szErrMsg,"Device open error !");
                        MessageBox(hMainWnd, (LPCSTR)szErrMsg,
                            "Driver Message", MB_OK);
                        return 0;
                    }

                    // second: get device features

                    ptDevFeatures.buffer = (LPDEVFEATURES)&DevFeatures;
                    ptDevFeatures.size = sizeof(DEVFEATURES);
                    if ((ErrCde = DRV_DeviceGetFeatures(DriverHandle,
                        (LPT_DeviceGetFeatures)&ptDevFeatures)) != SUCCESS)
                    {
                        DRV_GetErrorMessage(ErrCde,(LPSTR)szErrMsg);
                        MessageBox(hMainWnd, (LPCSTR)szErrMsg, "Driver Message",
                            MB_OK);
                        DRV_DeviceClose((LONG far *)&DriverHandle);
                        return 0;
                    }

                    // third: initialize Channel Edit with device features

                    if (DevFeatures.usMaxAlarmChl != 0)
                        EnableWindow(GetDlgItem(hDlg, IDC_ECHANNEL), TRUE);
                    else
                        EnableWindow(GetDlgItem(hDlg, IDC_ECHANNEL), FALSE);

                    // fourth: close device

                    DRV_DeviceClose((LONG far *)&DriverHandle);
					return TRUE;
					
				}


            case IDC_DEVICE :

                //
                // When device selection is changed, it needs to
                // re-initialize sub-device combobox and input range
                // combobox.
                //

                if (HIWORD(wParam) == CBN_SELCHANGE)
                {
                    if ((dwIndex = SendDlgItemMessage(hDlg, IDC_DEVICE,
                        CB_GETCURSEL, 0, 0)) != CB_ERR)
                         gwDevice = (WORD)dwIndex;
                    else
                        return TRUE;


                    // ------------------------------------------------------
                    // Initialize Module Combobox for COM port or CAN devices
                    // ------------------------------------------------------

                    // check any device attached on this COM port or CAN

                    gnNumOfSubdevices = DeviceList[gwDevice].nNumOfSubdevices;
                    if (gnNumOfSubdevices > MAX_DEVICES)
                        gnNumOfSubdevices = MAX_DEVICES;


                    // retrieve the information of all installed devices

                    if (gnNumOfSubdevices != 0)
                    {
                        if ((ErrCde = DRV_DeviceGetSubList(
                            (DWORD)DeviceList[gwDevice].dwDeviceNum,
                            (DEVLIST far *)&SubDeviceList[0],
                            (SHORT)gnNumOfSubdevices,
                            (SHORT far *)&nOutEntries)) != (LONG)SUCCESS)
                        {
                            DRV_GetErrorMessage(ErrCde,(LPSTR)szErrMsg);
                            MessageBox(hMainWnd, (LPCSTR)szErrMsg,
                                "Driver Message", MB_OK);
                            return TRUE;
                        }


                        // initialize the Module List Combobox with the
                        // retrieved information

                        EnableWindow(GetDlgItem(hDlg, IDC_MODULE), TRUE);
                        SendDlgItemMessage(hDlg, IDC_MODULE, CB_RESETCONTENT,
                            0, (LPARAM)((LPSTR)0));

                        for (i = 0; i < gnNumOfSubdevices; i++)
                            SendDlgItemMessage(hDlg, IDC_MODULE, CB_ADDSTRING, 0,
                                (LPARAM)((LPSTR)SubDeviceList[i].szDeviceName));

                        gwSubDevice = 0;

                        SendDlgItemMessage(hDlg, IDC_MODULE, CB_SETCURSEL,
							(WPARAM)gwSubDevice, (LPARAM)0);
                    }
                    else
                    {
                        EnableWindow(GetDlgItem(hDlg, IDC_MODULE), FALSE);
                        SendDlgItemMessage(hDlg, IDC_MODULE, CB_RESETCONTENT,
                            0, (LPARAM)((LPSTR)0));
                    }


                    // -------------------------------------------------
                    // Initialize Input Range List Combobox, it needs to
                    // get device features for gain list
                    // -------------------------------------------------

                    // first : Open Device

                    // for non COM port or CAN device
                    if (gnNumOfSubdevices == 0)
                    {
                        ErrCde = DRV_DeviceOpen(
                            DeviceList[gwDevice].dwDeviceNum,
                            (LONG far *)&DriverHandle);
                    }

                    // for COM port or CAN device
                    else
                    {
                        ErrCde = DRV_DeviceOpen(
                            SubDeviceList[gwSubDevice].dwDeviceNum,
                            (LONG far *)&DriverHandle);
                    }

                    if (ErrCde != SUCCESS)
                    {
                        strcpy(szErrMsg,"Device open error !");
                        MessageBox(hMainWnd, (LPCSTR)szErrMsg,
                            "Driver Message", MB_OK);
                        return 0;
                    }

                    // second: get device features

                    ptDevFeatures.buffer = (LPDEVFEATURES)&DevFeatures;
                    ptDevFeatures.size = sizeof(DEVFEATURES);
                    if ((ErrCde = DRV_DeviceGetFeatures(DriverHandle,
                        (LPT_DeviceGetFeatures)&ptDevFeatures)) != SUCCESS)
                    {
                        DRV_GetErrorMessage(ErrCde,(LPSTR)szErrMsg);
                        MessageBox(hMainWnd, (LPCSTR)szErrMsg, "Driver Message",
                            MB_OK);
                        DRV_DeviceClose((LONG far *)&DriverHandle);
                        return 0;
                    }

                    // third: initialize Channel Edit with device features

                    if (DevFeatures.usMaxAlarmChl != 0)
                        EnableWindow(GetDlgItem(hDlg, IDC_ECHANNEL), TRUE);
                    else
                        EnableWindow(GetDlgItem(hDlg, IDC_ECHANNEL), FALSE);

                    // fourth: close device

                    DRV_DeviceClose((LONG far *)&DriverHandle);
                }

                return TRUE;
         }
         break;
    }
    return FALSE ;
}

/***************************************************************************
    FUNCTION: ScanDlgProc(HWND, unsigned, WPARAM, LPARAM)

    PURPOSE:  Processes dialog box messages for scan time settings
****************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
5月丁香婷婷综合| 欧美激情自拍偷拍| 国产精品国产三级国产专播品爱网 | 欧美午夜理伦三级在线观看| 日日夜夜免费精品| 成熟亚洲日本毛茸茸凸凹| 日韩精品电影在线| 蜜桃视频免费观看一区| 蜜桃视频一区二区三区| 国精产品一区一区三区mba桃花| 久久不见久久见免费视频7| 国产专区欧美精品| 亚洲综合另类小说| 中文字幕在线播放不卡一区| 欧美一二三四在线| 欧美精品久久天天躁| 99精品国产99久久久久久白柏| 亚洲国产精品久久久男人的天堂 | 欧美日韩一卡二卡| 国产.精品.日韩.另类.中文.在线.播放| 亚洲欧美乱综合| 1区2区3区精品视频| 欧美韩国日本综合| 精品欧美一区二区久久| 91精选在线观看| 欧美日韩在线精品一区二区三区激情| 91网站最新网址| 色综合久久中文综合久久97| 91色婷婷久久久久合中文| 色婷婷av一区二区三区之一色屋| 97精品电影院| 制服丝袜亚洲网站| 欧美一区二区人人喊爽| 亚洲精品一区二区精华| 国产精品女同一区二区三区| 中文字幕中文乱码欧美一区二区| 国产精品毛片a∨一区二区三区| 亚洲欧洲在线观看av| 亚洲一区二区三区三| 蜜臀av性久久久久蜜臀av麻豆| 精品一区二区三区免费观看| 国产一区二区久久| 99久久99久久免费精品蜜臀| 欧美三级电影网站| 亚洲精品欧美激情| 欧美性xxxxx极品少妇| 亚洲一区二区在线视频| 在线精品国精品国产尤物884a| 日韩一级高清毛片| 日韩精品免费视频人成| 精品久久久久一区| 一区二区三区中文字幕电影| 激情文学综合插| 精品国产电影一区二区| 亚洲国产综合视频在线观看| 国产美女娇喘av呻吟久久| 欧美人妇做爰xxxⅹ性高电影| 国产精品美女www爽爽爽| 毛片av中文字幕一区二区| 99久久99精品久久久久久| 日本不卡的三区四区五区| 国产精品1024| 国产精品嫩草久久久久| 亚洲在线成人精品| 91福利国产成人精品照片| 亚洲图片欧美色图| 日韩欧美色综合| 成人成人成人在线视频| 亚洲一二三四在线观看| 日韩欧美一区电影| 成人久久18免费网站麻豆| 亚洲精品菠萝久久久久久久| 久久国内精品自在自线400部| 一本一道久久a久久精品综合蜜臀| 日韩女同互慰一区二区| 日韩美女视频在线| 亚洲国产精品久久久男人的天堂| 99精品偷自拍| 国产欧美日韩在线观看| 九九久久精品视频| 日韩欧美黄色影院| 麻豆成人综合网| 欧美日韩专区在线| 亚洲成va人在线观看| 欧美色手机在线观看| 亚洲1区2区3区视频| 欧美精品亚洲二区| 爽好久久久欧美精品| 欧美日韩电影在线| 亚洲第一福利一区| 91精品一区二区三区久久久久久| 一区二区免费在线| 91免费视频大全| 亚洲成人tv网| 久久你懂得1024| 国产一区在线不卡| 国产精品不卡在线| 在线观看日韩av先锋影音电影院| 91精品国产综合久久精品| 蜜桃视频在线观看一区| 日韩午夜小视频| 亚洲国产精品一区二区久久恐怖片| 国产不卡视频在线观看| 精品国产99国产精品| 丁香亚洲综合激情啪啪综合| 人妖欧美一区二区| 国产自产v一区二区三区c| kk眼镜猥琐国模调教系列一区二区| 亚洲成av人影院| 欧美在线色视频| 亚洲国产精品一区二区久久| 欧美日韩综合色| 日韩精品1区2区3区| 欧美一区二区三区公司| 日本不卡一二三| 日韩精品一区二区三区四区| 国产在线不卡一卡二卡三卡四卡| 欧美日韩久久久| 成人精品免费视频| 日本不卡视频在线| 一区二区三区免费| 久久精品一区二区三区四区| 日本二三区不卡| 久88久久88久久久| 亚洲电影一级片| 亚洲精品国产品国语在线app| 精品日韩一区二区三区免费视频| 成人av在线播放网址| 蜜桃精品视频在线观看| 亚洲欧洲日韩综合一区二区| 国产三级一区二区| 日韩精品影音先锋| 日韩欧美一区二区不卡| 欧美三级日韩三级国产三级| 成人黄色av电影| 高清国产午夜精品久久久久久| 蜜臀av亚洲一区中文字幕| 亚洲成a人v欧美综合天堂| 亚洲综合在线视频| 亚洲欧美日韩久久| 国产精品国产三级国产aⅴ中文| 精品va天堂亚洲国产| 宅男在线国产精品| 91麻豆精品国产91久久久| 欧美写真视频网站| 精品日本一线二线三线不卡| 91极品视觉盛宴| 制服丝袜在线91| 欧美成人三级在线| 欧美一级专区免费大片| 欧美男生操女生| 偷窥少妇高潮呻吟av久久免费| 综合自拍亚洲综合图不卡区| 欧美国产精品中文字幕| 日本一区二区三区久久久久久久久不 | 精品乱人伦一区二区三区| 伊人夜夜躁av伊人久久| 欧美久久一二区| 亚洲欧美另类在线| 亚洲色大成网站www久久九九| 99久久免费视频.com| 午夜精品免费在线| 国产午夜精品一区二区| 亚洲欧美一区二区久久| 亚洲日本在线视频观看| 午夜伊人狠狠久久| 国产精品99久久久久久有的能看| www.欧美色图| 欧美精品aⅴ在线视频| 国产午夜精品理论片a级大结局| 国产精品理伦片| 亚洲午夜在线电影| 国产精品66部| 制服丝袜中文字幕一区| 国产精品久久99| 久久99久久久久| 欧美午夜精品久久久久久超碰| 日韩欧美一区二区久久婷婷| 亚洲精品免费看| 丁香一区二区三区| 精品捆绑美女sm三区| 亚洲第一在线综合网站| 国产 欧美在线| 精品国产人成亚洲区| 亚洲成人av一区二区| 成人黄色片在线观看| www国产亚洲精品久久麻豆| 天堂成人国产精品一区| 91免费看片在线观看| 久久蜜臀精品av| 青青草97国产精品免费观看| 91色视频在线| 亚洲免费色视频| 菠萝蜜视频在线观看一区| 亚洲婷婷综合色高清在线| 国产在线一区二区| 亚洲免费观看视频| 欧美一区二区在线免费观看| 香蕉影视欧美成人| 99久久夜色精品国产网站|