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

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

?? dpi515_srq_exdlg.cpp

?? 壓力控制器通訊源代碼
?? CPP
字號:
// DPI515_SRQ_ExDlg.cpp : implementation file
//

#include "stdafx.h"
#include "DPI515_SRQ_Ex.h"
#include "DPI515_SRQ_ExDlg.h"
#include "visa.h"
#include "visacomm.h"
#include "dpi515com.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif


// event handler parameters
extern ViAddr      uhandle;
extern ViUInt16    SRQStatus;
extern ViSession   Sessionparam;
extern ViEventType EventTypeparam;
extern ViAddr      Addressparam;
extern ViBoolean   stopflag;

//cCommunications theVISA;
cDPI515Communications theDPI515;
extern CDPI515_SRQ_ExApp theApp;
#define TIMER_1	1000

CDPI515_SRQ_ExDlg * pDialog;

void displaySRQMessage(short SRQ);
/////////////////////////////////////////////////////////////////////////////
// CDPI515_SRQ_ExDlg dialog

CDPI515_SRQ_ExDlg::CDPI515_SRQ_ExDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CDPI515_SRQ_ExDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDPI515_SRQ_ExDlg)
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
	pDialog = this;
	m_bControlling = false;
}

void CDPI515_SRQ_ExDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDPI515_SRQ_ExDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CDPI515_SRQ_ExDlg, CDialog)
	//{{AFX_MSG_MAP(CDPI515_SRQ_ExDlg)
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_FINDRESOURCES, OnFindresources)
	ON_WM_TIMER()
	ON_BN_CLICKED(IDC_OPEN, OnOpenChannel)
	ON_BN_CLICKED(IDC_VENT, OnVent)
	ON_BN_CLICKED(IDC_GETRANGESBTN, OnGetRanges)
	ON_BN_CLICKED(IDC_CHANGERANGE, OnChangerange)
	ON_BN_CLICKED(IDC_CONTROL, OnControl)
	ON_BN_CLICKED(IDC_SENDSETPOINT, OnSendsetpoint)
	ON_BN_CLICKED(IDC_OK, OnClickedOk)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDPI515_SRQ_ExDlg message handlers

BOOL CDPI515_SRQ_ExDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	m_viStatus = -1;
	CStatic * pStatic = (CStatic *)GetDlgItem(IDC_PRESSURE);
	LOGFONT lf;
	memset(&lf, 0, sizeof(LOGFONT));
	lf.lfHeight = 40;
	strcpy(lf.lfFaceName, "Arial");
	m_font.CreateFontIndirect(&lf);
	pStatic->SetFont(&m_font);
	return TRUE;  // return TRUE  unless you set the focus to a control
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CDPI515_SRQ_ExDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CDPI515_SRQ_ExDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

/******************************************************************************/
/* Function:    SRQHandler                                                    */
/* Author:      Alaster Jones                                                 */
/* Purpose:     SRQ Handling function                                         */
/* Inputs:      session, event type, event, user handle                       */
/* Outputs:     status                                                        */
/* Description: The handler function. The instrument session, the type of     */
/*              event, and a handle to the event are passed to the function   */
/*              along with a user handle which is basically a label that      */
/*              could be used to reference the handler. The only thing done   */
/*              in the handler is to set a flag that allows the program to    */
/*              finish.  Always return VI_SUCCESS from your handler.          */
/******************************************************************************/
ViStatus _VI_FUNCH SRQHandler(ViSession vi, ViEventType etype, ViEvent event, ViAddr userHandle)
{
    // ONLY APPLICABLE TO IEEE COMMS
    USHORT srq;
    short sReg = 0;

    stopflag = VI_TRUE;
    Sessionparam = vi;
    EventTypeparam = etype;
    Addressparam = userHandle;

    theDPI515.getStatusByte(vi, &srq);
    SRQStatus = srq;

    if (SRQStatus >= 192) // get the pressure operations register
    {
        theDPI515.getPressureOperationsRegister(&sReg);
		pDialog->displaySRQMessage(sReg);
    }

    return VI_SUCCESS;
}

void CDPI515_SRQ_ExDlg::OnFindresources() 
{
	CButton * pBtn = (CButton*) GetDlgItem(IDC_FINDRESOURCES);
	CListBox * pLB = (CListBox*) GetDlgItem(IDC_INSTRUMENTS);
	
	pLB->ResetContent();
	pBtn->SetWindowText("searching...");
	theDPI515.findResources();

	short numResrc = theDPI515.getnumResources();
	short i = 0;
	while(i <= numResrc)
	{
		pLB->InsertString(-1, theDPI515.getResources(i));
		i++;
	};
	pBtn->SetWindowText("find VISA resources");
}	

void CDPI515_SRQ_ExDlg::Close()
{
	KillTimer(TIMER_1);
	theDPI515.closeCommunications();
}

void CDPI515_SRQ_ExDlg::startTalking()
{
	theDPI515.setIEEE();
	SetTimer(TIMER_1,500, NULL);
}

void CDPI515_SRQ_ExDlg::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	double dPressure = 0.0;
	char strPressure[20];
	theDPI515.getPressure(&dPressure);
	CStatic * pStat = (CStatic *)GetDlgItem(IDC_PRESSURE);
	sprintf(strPressure, "%.3f",dPressure);
	pStat->SetWindowText(strPressure);

	//CDialog::OnTimer(nIDEvent);
}

void CDPI515_SRQ_ExDlg::OnOpenChannel() 
{
	// TODO: Add your control notification handler code here
	CButton * pBtn = (CButton*) GetDlgItem(IDC_OPEN);	
	CListBox * pLB = (CListBox*) GetDlgItem(IDC_INSTRUMENTS);
	char strChannel[100];
	pLB->GetText(pLB->GetCurSel(), strChannel);
	m_viStatus = theDPI515.openCommsChannel(strChannel);//.operator LPCTSTR);
	theDPI515.instrumentInitialisation();
	startTalking();
	pBtn->DestroyWindow();
}

void CDPI515_SRQ_ExDlg::OnVent() 
{
	// TODO: Add your control notification handler code here
	theDPI515.setVent(TRUE);
}

void CDPI515_SRQ_ExDlg::OnGetRanges() 
{
	// TODO: Add your control notification handler code here
	short i = 0;
	CListBox * pLB = (CListBox*) GetDlgItem(IDC_RANGES);
	pLB->ResetContent();
	theDPI515.getInstrumentRanges();
	while(i <= theDPI515.getnumRanges())
	{
		pLB->InsertString(-1, theDPI515.getinstrRange(i));
		i++;
	}
}

void CDPI515_SRQ_ExDlg::OnChangerange() 
{
	// TODO: Add your control notification handler code here
	CListBox * pLB = (CListBox*) GetDlgItem(IDC_RANGES);
	char  strRange[20];
	pLB->GetText(pLB->GetCurSel(), strRange);
	theDPI515.setCurrentRange(strRange);	
}

void CDPI515_SRQ_ExDlg::displaySRQMessage(short SRQ)
{
	char strMesg[100];
	
	sprintf(strMesg, "SRQ returned: %d, ", SRQ);
	switch(SRQ)
	{
	case SRQ_VENT: // VENT
		strcat(strMesg,"Vent complete");
		break;
	case SRQ_RANGE: // RANGE CHANGE
		strcat(strMesg,"Range change complete");
		break;
	case SRQ_INLIMITS: // IN LIMITS
		strcat(strMesg,"In limits");
		break;
	case SRQ_ZERO: // ZERO
		strcat(strMesg,"Zero complete");
		break;
	case SRQ_AUTOZERO: // AUTO ZERO
		strcat(strMesg,"Auto zero complete");
		break;
	case SRQ_FILLTIMEOUT: // FILL TIMEOUT
		strcat(strMesg,"Fill timeout");
		break;
	case SRQ_IDLETIMEOUT: // IDLE TIMEOUT
		strcat(strMesg,"Idle timeout");
		break;
	case SRQ_SWITCH: // SWITCH
		strcat(strMesg,"Switch contacts changed state");
		break;
	}

	MessageBox(strMesg);
}

void CDPI515_SRQ_ExDlg::OnControl() 
{
	CButton * pBtn = (CButton*) GetDlgItem(IDC_CONTROL);

	if(m_bControlling)
	{
		theDPI515.setControllerOnOff(0); // turn off
		pBtn->SetWindowText("Control");
		m_bControlling = FALSE;
	}
	else
	{
		theDPI515.setControllerOnOff(1); // turn on
		pBtn->SetWindowText("Measure");
		m_bControlling = TRUE;
	}
}

void CDPI515_SRQ_ExDlg::OnSendsetpoint() 
{
	CEdit * pEdit = (CEdit *) GetDlgItem(IDC_SETPOINT);
	//pEdit->UpdateData(TRUE);
	char strVal[12];
	pEdit->GetWindowText(strVal, 10);
	m_Setpoint = atof(strVal);
	TRACE("Setpoint value: %f", pDialog->m_Setpoint);
	theDPI515.setSetpoint(m_Setpoint);	
}

void CDPI515_SRQ_ExDlg::OnOK() 
{
}

void CDPI515_SRQ_ExDlg::OnClickedOk() 
{
	CDialog::OnOK();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区999| 国产成人精品亚洲日本在线桃色| 精品入口麻豆88视频| 97久久精品人人做人人爽50路| 日本不卡的三区四区五区| 国产视频一区不卡| 欧美福利电影网| 色偷偷久久人人79超碰人人澡| 韩国精品免费视频| 偷拍一区二区三区| 亚洲精品视频在线看| 日本一区二区三区四区在线视频| 91麻豆精品国产91久久久久 | 亚洲成人动漫在线观看| 国产无人区一区二区三区| 日韩一级大片在线| 欧美片网站yy| 欧美日韩综合在线| 色呦呦国产精品| 97久久超碰精品国产| 风间由美一区二区av101 | 午夜精品成人在线视频| 一区二区三区色| 国产精品国产精品国产专区不片| 久久综合资源网| 精品日韩av一区二区| 在线视频综合导航| 成人综合在线视频| 久久久99久久精品欧美| 色婷婷综合久久久中文一区二区| 婷婷一区二区三区| 亚洲日本中文字幕区| 欧美日韩一区二区三区四区五区| 韩国精品在线观看| 亚洲一区二区三区美女| 欧美成人乱码一区二区三区| 91麻豆免费在线观看| 极品美女销魂一区二区三区免费| 亚洲人午夜精品天堂一二香蕉| 日韩视频在线永久播放| 91视频xxxx| 久久精品二区亚洲w码| 午夜视频在线观看一区| 亚洲一区在线观看网站| 夜夜亚洲天天久久| 日韩电影免费一区| 国产综合色产在线精品| 国产成人啪免费观看软件| 99久久国产综合色|国产精品| 9久草视频在线视频精品| 欧美一区二区在线观看| 最新高清无码专区| 91精品国产福利| 国产酒店精品激情| 亚洲女爱视频在线| 国产精品美女久久久久aⅴ国产馆| 精品欧美久久久| 午夜影院久久久| 欧洲国产伦久久久久久久| 久久先锋影音av鲁色资源| 国产丝袜美腿一区二区三区| 国产精品沙发午睡系列990531| 国产精品狼人久久影院观看方式| 亚洲日本一区二区| 五月开心婷婷久久| 狠狠色综合播放一区二区| 风间由美中文字幕在线看视频国产欧美| 91碰在线视频| 在线视频欧美精品| 欧美大片一区二区| 综合久久久久久久| 性感美女极品91精品| 精品一区二区三区在线视频| 成人视屏免费看| 精品污污网站免费看| 精品日韩一区二区| 亚洲精品免费看| 国内精品视频666| 99视频国产精品| 91精品一区二区三区久久久久久 | 欧美精品日韩一本| 精品国产91久久久久久久妲己 | 麻豆免费精品视频| 成人白浆超碰人人人人| 在线成人av网站| 国产女主播一区| 三级成人在线视频| 国产不卡高清在线观看视频| 欧美高清视频不卡网| 国产精品久久久99| 久久精品久久综合| 色综合一个色综合亚洲| 26uuu另类欧美亚洲曰本| 一区二区三区久久| 国产精品影音先锋| 欧美嫩在线观看| 中文字幕日韩一区| 国产主播一区二区| 欧美精品在欧美一区二区少妇| 中文字幕欧美日韩一区| 美女视频一区二区| 欧美日韩国产a| 亚洲天堂中文字幕| 国产69精品一区二区亚洲孕妇| 欧美老人xxxx18| 尤物av一区二区| 99在线精品免费| 久久夜色精品国产欧美乱极品| 午夜精彩视频在线观看不卡| 91一区二区三区在线播放| 久久久九九九九| 另类中文字幕网| 91精品麻豆日日躁夜夜躁| 亚洲激情中文1区| 91麻豆国产香蕉久久精品| 国产视频一区二区在线| 九九热在线视频观看这里只有精品| 欧美性视频一区二区三区| 亚洲色图另类专区| 成人国产在线观看| 国产女人18水真多18精品一级做| 激情五月婷婷综合| 欧美一级欧美三级| 舔着乳尖日韩一区| 欧美精品日韩综合在线| 亚洲成人综合视频| 欧美日韩国产一级片| 婷婷综合另类小说色区| 欧美日韩专区在线| 日韩有码一区二区三区| 欧美日本乱大交xxxxx| 亚洲成a人v欧美综合天堂下载| 在线免费一区三区| 一区二区三区日韩欧美精品| 日本精品一区二区三区四区的功能| 国产精品国产自产拍高清av| 一本色道久久综合亚洲aⅴ蜜桃| 亚洲欧洲美洲综合色网| 91免费观看在线| 亚洲精品免费视频| 欧美性大战xxxxx久久久| 亚洲宅男天堂在线观看无病毒| 亚洲美女偷拍久久| 欧美一级片在线看| eeuss鲁一区二区三区| 日韩成人精品在线| 亚洲私人黄色宅男| 精品国产乱码91久久久久久网站| 成人性色生活片免费看爆迷你毛片| 亚洲同性同志一二三专区| 精品日产卡一卡二卡麻豆| 欧美日本在线看| 不卡一区二区在线| 国产九色sp调教91| 天天影视网天天综合色在线播放| 国产欧美一区二区精品性色超碰| 欧美疯狂做受xxxx富婆| 91毛片在线观看| 国产成人亚洲综合a∨猫咪| 日韩精品欧美成人高清一区二区| 国产精品入口麻豆原神| 国产精品美女久久久久久2018| 制服丝袜av成人在线看| 精品一区二区三区免费观看 | 国产一区二区精品久久91| eeuss鲁片一区二区三区在线看| 久久久蜜桃精品| 亚洲成人av福利| 色综合久久中文综合久久牛| 日韩国产成人精品| 亚洲国产精品激情在线观看| 欧美午夜精品久久久| 激情文学综合丁香| 一区二区视频在线| 日韩精品专区在线| 99免费精品在线| 青青草原综合久久大伊人精品 | 亚洲欧美日本韩国| 日韩精品一区二区三区中文不卡 | 国产成人av电影在线播放| 亚洲男同1069视频| 日韩欧美国产小视频| 99re在线视频这里只有精品| 偷拍与自拍一区| 中文久久乱码一区二区| 欧美男女性生活在线直播观看| 国产精品亚洲第一区在线暖暖韩国| 亚洲精品视频在线看| 久久久夜色精品亚洲| 欧美视频精品在线| 岛国一区二区在线观看| 免费在线一区观看| 亚洲靠逼com| 国产偷v国产偷v亚洲高清| 制服丝袜亚洲网站| 日本韩国精品一区二区在线观看| 韩国三级在线一区| 天堂va蜜桃一区二区三区| 樱桃视频在线观看一区| 欧美国产禁国产网站cc|