// Util7200Dlg.cpp : implementation file // #include "stdafx.h" #include "Util7200.h" #include "Util7200Dlg.h" #ifdef _DEBUG #define new DEBUG_NEW #endif // CAboutDlg dialog used for App About class CAboutDlg : public CDialog { public: CAboutDlg(); // Dialog Data enum { IDD = IDD_ABOUTBOX }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support // Implementation protected: DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) { } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) END_MESSAGE_MAP() // CUtil7200Dlg dialog CUtil7200Dlg::CUtil7200Dlg(I16 hCard, CWnd* pParent /*=NULL*/) : CDialog(CUtil7200Dlg::IDD, pParent) , m_bOTrig(false) { m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); m_hCard = hCard; m_nTimer = -1; m_bOTrig = 0; } void CUtil7200Dlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_STATIC_DI31, m_DI31); DDX_Control(pDX, IDC_STATIC_DI30, m_DI30); DDX_Control(pDX, IDC_STATIC_DI29, m_DI29); DDX_Control(pDX, IDC_STATIC_DI28, m_DI28); DDX_Control(pDX, IDC_STATIC_DI27, m_DI27); DDX_Control(pDX, IDC_STATIC_DI26, m_DI26); DDX_Control(pDX, IDC_STATIC_DI25, m_DI25); DDX_Control(pDX, IDC_STATIC_DI24, m_DI24); DDX_Control(pDX, IDC_STATIC_DI23, m_DI23); DDX_Control(pDX, IDC_STATIC_DI22, m_DI22); DDX_Control(pDX, IDC_STATIC_DI21, m_DI21); DDX_Control(pDX, IDC_STATIC_DI20, m_DI20); DDX_Control(pDX, IDC_STATIC_DI19, m_DI19); DDX_Control(pDX, IDC_STATIC_DI18, m_DI18); DDX_Control(pDX, IDC_STATIC_DI17, m_DI17); DDX_Control(pDX, IDC_STATIC_DI16, m_DI16); DDX_Control(pDX, IDC_STATIC_DI15, m_DI15); DDX_Control(pDX, IDC_STATIC_DI14, m_DI14); DDX_Control(pDX, IDC_STATIC_DI13, m_DI13); DDX_Control(pDX, IDC_STATIC_DI12, m_DI12); DDX_Control(pDX, IDC_STATIC_DI11, m_DI11); DDX_Control(pDX, IDC_STATIC_DI10, m_DI10); DDX_Control(pDX, IDC_STATIC_DI09, m_DI09); DDX_Control(pDX, IDC_STATIC_DI08, m_DI08); DDX_Control(pDX, IDC_STATIC_DI07, m_DI07); DDX_Control(pDX, IDC_STATIC_DI06, m_DI06); DDX_Control(pDX, IDC_STATIC_DI05, m_DI05); DDX_Control(pDX, IDC_STATIC_DI04, m_DI04); DDX_Control(pDX, IDC_STATIC_DI03, m_DI03); DDX_Control(pDX, IDC_STATIC_DI02, m_DI02); DDX_Control(pDX, IDC_STATIC_DI01, m_DI01); DDX_Control(pDX, IDC_STATIC_DI00, m_DI00); DDX_Check(pDX, IDC_CHECK_DO00, m_DO00); DDX_Check(pDX, IDC_CHECK_DO01, m_DO01); DDX_Check(pDX, IDC_CHECK_DO02, m_DO02); DDX_Check(pDX, IDC_CHECK_DO03, m_DO03); DDX_Check(pDX, IDC_CHECK_DO04, m_DO04); DDX_Check(pDX, IDC_CHECK_DO05, m_DO05); DDX_Check(pDX, IDC_CHECK_DO06, m_DO06); DDX_Check(pDX, IDC_CHECK_DO07, m_DO07); DDX_Check(pDX, IDC_CHECK_DO08, m_DO08); DDX_Check(pDX, IDC_CHECK_DO09, m_DO09); DDX_Check(pDX, IDC_CHECK_DO10, m_DO10); DDX_Check(pDX, IDC_CHECK_DO11, m_DO11); DDX_Check(pDX, IDC_CHECK_DO12, m_DO12); DDX_Check(pDX, IDC_CHECK_DO13, m_DO13); DDX_Check(pDX, IDC_CHECK_DO14, m_DO14); DDX_Check(pDX, IDC_CHECK_DO15, m_DO15); DDX_Check(pDX, IDC_CHECK_DO16, m_DO16); DDX_Check(pDX, IDC_CHECK_DO17, m_DO17); DDX_Check(pDX, IDC_CHECK_DO18, m_DO18); DDX_Check(pDX, IDC_CHECK_DO19, m_DO19); DDX_Check(pDX, IDC_CHECK_DO20, m_DO20); DDX_Check(pDX, IDC_CHECK_DO21, m_DO21); DDX_Check(pDX, IDC_CHECK_DO22, m_DO22); DDX_Check(pDX, IDC_CHECK_DO23, m_DO23); DDX_Check(pDX, IDC_CHECK_DO24, m_DO24); DDX_Check(pDX, IDC_CHECK_DO25, m_DO25); DDX_Check(pDX, IDC_CHECK_DO26, m_DO26); DDX_Check(pDX, IDC_CHECK_DO27, m_DO27); DDX_Check(pDX, IDC_CHECK_DO28, m_DO28); DDX_Check(pDX, IDC_CHECK_DO29, m_DO29); DDX_Check(pDX, IDC_CHECK_DO30, m_DO30); DDX_Check(pDX, IDC_CHECK_DO31, m_DO31); DDX_Check(pDX, IDC_CHECK_LINE, m_LineEnable); } BEGIN_MESSAGE_MAP(CUtil7200Dlg, CDialog) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() //}}AFX_MSG_MAP ON_WM_DESTROY() ON_WM_TIMER() ON_BN_CLICKED(IDC_BUTTON1, &CUtil7200Dlg::OnOutput) ON_BN_CLICKED(IDC_CHECK_LINE, &CUtil7200Dlg::OnLineCheck) ON_BN_CLICKED(IDC_CHECK_DO00, &CUtil7200Dlg::OnOutputDo00) ON_BN_CLICKED(IDC_CHECK_DO04, &CUtil7200Dlg::OnOutputDo04) ON_BN_CLICKED(IDC_CHECK_DO08, &CUtil7200Dlg::OnOutputDo08) ON_BN_CLICKED(IDC_CHECK_DO12, &CUtil7200Dlg::OnOutputDo12) ON_BN_CLICKED(IDC_CHECK_DO15, &CUtil7200Dlg::OnOutputDo15) ON_BN_CLICKED(IDC_CHECK_DO16, &CUtil7200Dlg::OnOutputDo16) ON_BN_CLICKED(IDC_CHECK_DO20, &CUtil7200Dlg::OnOutputDo20) ON_BN_CLICKED(IDC_CHECK_DO24, &CUtil7200Dlg::OnOutputDo24) ON_BN_CLICKED(IDC_CHECK_DO28, &CUtil7200Dlg::OnOutputDo28) ON_BN_CLICKED(IDC_CHECK_DO31, &CUtil7200Dlg::OnOutputDo31) ON_BN_CLICKED(IDC_BT_O_TRG, &CUtil7200Dlg::OnOTrg) END_MESSAGE_MAP() // CUtil7200Dlg message handlers BOOL CUtil7200Dlg::OnInitDialog() { CDialog::OnInitDialog(); // Add "About..." menu item to system menu. // IDM_ABOUTBOX must be in the system command range. ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { BOOL bNameValid; CString strAboutMenu; bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX); ASSERT(bNameValid); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } // 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 DO_WritePort( m_hCard, 0, 0x00000000 ); m_nTimer = SetTimer( 1, 100, NULL ); return TRUE; // return TRUE unless you set the focus to a control } void CUtil7200Dlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else { CDialog::OnSysCommand(nID, lParam); } } // 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 CUtil7200Dlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, reinterpret_cast(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 function to obtain the cursor to display while the user drags // the minimized window. HCURSOR CUtil7200Dlg::OnQueryDragIcon() { return static_cast(m_hIcon); } void CUtil7200Dlg::OnDestroy() { CDialog::OnDestroy(); // TODO: Add your message handler code here if( m_nTimer != -1 ) KillTimer( m_nTimer ); } void CUtil7200Dlg::OnTimer(UINT_PTR nIDEvent) { // TODO: Add your message handler code here and/or call default I16 err; U32 dwDIStatus; U16 wValue; if( m_LineEnable == TRUE ) { err = DI_ReadLine( m_hCard, 0, 0, &wValue ); if( err == NoError ) { if( wValue != 0) m_DI00.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI00.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); } err = DI_ReadLine( m_hCard, 0, 4, &wValue ); if( err == NoError ) { if( wValue != 0) m_DI04.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI04.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); } err = DI_ReadLine( m_hCard, 0, 8, &wValue ); if( err == NoError ) { if( wValue != 0) m_DI08.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI08.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); } err = DI_ReadLine( m_hCard, 0, 12, &wValue ); if( err == NoError ) { if( wValue != 0) m_DI12.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI12.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); } err = DI_ReadLine( m_hCard, 0, 15, &wValue ); if( err == NoError ) { if( wValue != 0) m_DI15.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI15.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); } err = DI_ReadLine( m_hCard, 0, 16, &wValue ); if( err == NoError ) { if( wValue != 0) m_DI16.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI16.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); } err = DI_ReadLine( m_hCard, 0, 20, &wValue ); if( err == NoError ) { if( wValue != 0) m_DI20.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI20.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); } err = DI_ReadLine( m_hCard, 0, 24, &wValue ); if( err == NoError ) { if( wValue != 0) m_DI24.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI24.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); } err = DI_ReadLine( m_hCard, 0, 28, &wValue ); if( err == NoError ) { if( wValue != 0) m_DI28.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI28.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); } err = DI_ReadLine( m_hCard, 0, 31, &wValue ); if( err == NoError ) { if( wValue != 0) m_DI31.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI31.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); } } else { err = DI_ReadPort( m_hCard, 0, &dwDIStatus ); if( err == NoError ) { if( (dwDIStatus & 0x00000001) != 0) m_DI00.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI00.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x00000002) != 0) m_DI01.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI01.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x00000004) != 0) m_DI02.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI02.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x00000008) != 0) m_DI03.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI03.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x00000010) != 0) m_DI04.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI04.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x00000020) != 0) m_DI05.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI05.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x00000040) != 0) m_DI06.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI06.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x000000080) != 0) m_DI07.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI07.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x00000100) != 0) m_DI08.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI08.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x00000200) != 0) m_DI09.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI09.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x00000400) != 0) m_DI10.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI10.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x00000800) != 0) m_DI11.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI11.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x00001000) != 0) m_DI12.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI12.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x00002000) != 0) m_DI13.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI13.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x00004000) != 0) m_DI14.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI14.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x00008000) != 0) m_DI15.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI15.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x00010000) != 0) m_DI16.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI16.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x00020000) != 0) m_DI17.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI17.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x00040000) != 0) m_DI18.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI18.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x00080000) != 0) m_DI19.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI19.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x00100000) != 0) m_DI20.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI20.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x00200000) != 0) m_DI21.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI21.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x00400000) != 0) m_DI22.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI22.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x00800000) != 0) m_DI23.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI23.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x01000000) != 0) m_DI24.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI24.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x02000000) != 0) m_DI25.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI25.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x04000000) != 0) m_DI26.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI26.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x08000000) != 0) m_DI27.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI27.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x10000000) != 0) m_DI28.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI28.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x20000000) != 0) m_DI29.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI29.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x40000000) != 0) m_DI30.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI30.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); if( (dwDIStatus & 0x80000000) != 0) m_DI31.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED)); else m_DI31.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLACK)); } } CDialog::OnTimer(nIDEvent); } void CUtil7200Dlg::OnLineCheck() { // TODO: Add your control notification handler code here if( ( (CButton*)GetDlgItem(IDC_CHECK_LINE) )->GetCheck() == BST_CHECKED ) { m_LineEnable = TRUE; GetDlgItem( IDC_CHECK_DO01 )->EnableWindow( FALSE ); GetDlgItem( IDC_CHECK_DO02 )->EnableWindow( FALSE ); GetDlgItem( IDC_CHECK_DO03 )->EnableWindow( FALSE ); GetDlgItem( IDC_CHECK_DO05 )->EnableWindow( FALSE ); GetDlgItem( IDC_CHECK_DO06 )->EnableWindow( FALSE ); GetDlgItem( IDC_CHECK_DO07 )->EnableWindow( FALSE ); GetDlgItem( IDC_CHECK_DO09 )->EnableWindow( FALSE ); GetDlgItem( IDC_CHECK_DO10 )->EnableWindow( FALSE ); GetDlgItem( IDC_CHECK_DO11 )->EnableWindow( FALSE ); GetDlgItem( IDC_CHECK_DO13 )->EnableWindow( FALSE ); GetDlgItem( IDC_CHECK_DO14 )->EnableWindow( FALSE ); GetDlgItem( IDC_CHECK_DO17 )->EnableWindow( FALSE ); GetDlgItem( IDC_CHECK_DO18 )->EnableWindow( FALSE ); GetDlgItem( IDC_CHECK_DO19 )->EnableWindow( FALSE ); GetDlgItem( IDC_CHECK_DO21 )->EnableWindow( FALSE ); GetDlgItem( IDC_CHECK_DO22 )->EnableWindow( FALSE ); GetDlgItem( IDC_CHECK_DO23 )->EnableWindow( FALSE ); GetDlgItem( IDC_CHECK_DO25 )->EnableWindow( FALSE ); GetDlgItem( IDC_CHECK_DO26 )->EnableWindow( FALSE ); GetDlgItem( IDC_CHECK_DO27 )->EnableWindow( FALSE ); GetDlgItem( IDC_CHECK_DO29 )->EnableWindow( FALSE ); GetDlgItem( IDC_CHECK_DO30 )->EnableWindow( FALSE ); GetDlgItem( IDC_STATIC_DI01 )->ShowWindow( SW_HIDE ); GetDlgItem( IDC_STATIC_DI02 )->ShowWindow( SW_HIDE ); GetDlgItem( IDC_STATIC_DI03 )->ShowWindow( SW_HIDE ); GetDlgItem( IDC_STATIC_DI05 )->ShowWindow( SW_HIDE ); GetDlgItem( IDC_STATIC_DI06 )->ShowWindow( SW_HIDE ); GetDlgItem( IDC_STATIC_DI07 )->ShowWindow( SW_HIDE ); GetDlgItem( IDC_STATIC_DI09 )->ShowWindow( SW_HIDE ); GetDlgItem( IDC_STATIC_DI10 )->ShowWindow( SW_HIDE ); GetDlgItem( IDC_STATIC_DI11 )->ShowWindow( SW_HIDE ); GetDlgItem( IDC_STATIC_DI13 )->ShowWindow( SW_HIDE ); GetDlgItem( IDC_STATIC_DI14 )->ShowWindow( SW_HIDE ); GetDlgItem( IDC_STATIC_DI17 )->ShowWindow( SW_HIDE ); GetDlgItem( IDC_STATIC_DI18 )->ShowWindow( SW_HIDE ); GetDlgItem( IDC_STATIC_DI19 )->ShowWindow( SW_HIDE ); GetDlgItem( IDC_STATIC_DI21 )->ShowWindow( SW_HIDE ); GetDlgItem( IDC_STATIC_DI22 )->ShowWindow( SW_HIDE ); GetDlgItem( IDC_STATIC_DI23 )->ShowWindow( SW_HIDE ); GetDlgItem( IDC_STATIC_DI25 )->ShowWindow( SW_HIDE ); GetDlgItem( IDC_STATIC_DI26 )->ShowWindow( SW_HIDE ); GetDlgItem( IDC_STATIC_DI27 )->ShowWindow( SW_HIDE ); GetDlgItem( IDC_STATIC_DI29 )->ShowWindow( SW_HIDE ); GetDlgItem( IDC_STATIC_DI30 )->ShowWindow( SW_HIDE ); GetDlgItem( IDC_BUTTON1 )->EnableWindow( FALSE ); } else if( ( (CButton*)GetDlgItem(IDC_CHECK_LINE) )->GetCheck() == BST_UNCHECKED ) { m_LineEnable = FALSE; GetDlgItem( IDC_CHECK_DO01 )->EnableWindow( TRUE ); GetDlgItem( IDC_CHECK_DO02 )->EnableWindow( TRUE ); GetDlgItem( IDC_CHECK_DO03 )->EnableWindow( TRUE ); GetDlgItem( IDC_CHECK_DO05 )->EnableWindow( TRUE ); GetDlgItem( IDC_CHECK_DO06 )->EnableWindow( TRUE ); GetDlgItem( IDC_CHECK_DO07 )->EnableWindow( TRUE ); GetDlgItem( IDC_CHECK_DO09 )->EnableWindow( TRUE ); GetDlgItem( IDC_CHECK_DO10 )->EnableWindow( TRUE ); GetDlgItem( IDC_CHECK_DO11 )->EnableWindow( TRUE ); GetDlgItem( IDC_CHECK_DO13 )->EnableWindow( TRUE ); GetDlgItem( IDC_CHECK_DO14 )->EnableWindow( TRUE ); GetDlgItem( IDC_CHECK_DO17 )->EnableWindow( TRUE ); GetDlgItem( IDC_CHECK_DO18 )->EnableWindow( TRUE ); GetDlgItem( IDC_CHECK_DO19 )->EnableWindow( TRUE ); GetDlgItem( IDC_CHECK_DO21 )->EnableWindow( TRUE ); GetDlgItem( IDC_CHECK_DO22 )->EnableWindow( TRUE ); GetDlgItem( IDC_CHECK_DO23 )->EnableWindow( TRUE ); GetDlgItem( IDC_CHECK_DO25 )->EnableWindow( TRUE ); GetDlgItem( IDC_CHECK_DO26 )->EnableWindow( TRUE ); GetDlgItem( IDC_CHECK_DO27 )->EnableWindow( TRUE ); GetDlgItem( IDC_CHECK_DO29 )->EnableWindow( TRUE ); GetDlgItem( IDC_CHECK_DO30 )->EnableWindow( TRUE ); GetDlgItem( IDC_STATIC_DI01 )->ShowWindow( SW_SHOW ); GetDlgItem( IDC_STATIC_DI02 )->ShowWindow( SW_SHOW ); GetDlgItem( IDC_STATIC_DI03 )->ShowWindow( SW_SHOW ); GetDlgItem( IDC_STATIC_DI05 )->ShowWindow( SW_SHOW ); GetDlgItem( IDC_STATIC_DI06 )->ShowWindow( SW_SHOW ); GetDlgItem( IDC_STATIC_DI07 )->ShowWindow( SW_SHOW ); GetDlgItem( IDC_STATIC_DI09 )->ShowWindow( SW_SHOW ); GetDlgItem( IDC_STATIC_DI10 )->ShowWindow( SW_SHOW ); GetDlgItem( IDC_STATIC_DI11 )->ShowWindow( SW_SHOW ); GetDlgItem( IDC_STATIC_DI13 )->ShowWindow( SW_SHOW ); GetDlgItem( IDC_STATIC_DI14 )->ShowWindow( SW_SHOW ); GetDlgItem( IDC_STATIC_DI17 )->ShowWindow( SW_SHOW ); GetDlgItem( IDC_STATIC_DI18 )->ShowWindow( SW_SHOW ); GetDlgItem( IDC_STATIC_DI19 )->ShowWindow( SW_SHOW ); GetDlgItem( IDC_STATIC_DI21 )->ShowWindow( SW_SHOW ); GetDlgItem( IDC_STATIC_DI22 )->ShowWindow( SW_SHOW ); GetDlgItem( IDC_STATIC_DI23 )->ShowWindow( SW_SHOW ); GetDlgItem( IDC_STATIC_DI25 )->ShowWindow( SW_SHOW ); GetDlgItem( IDC_STATIC_DI26 )->ShowWindow( SW_SHOW ); GetDlgItem( IDC_STATIC_DI27 )->ShowWindow( SW_SHOW ); GetDlgItem( IDC_STATIC_DI29 )->ShowWindow( SW_SHOW ); GetDlgItem( IDC_STATIC_DI30 )->ShowWindow( SW_SHOW ); GetDlgItem( IDC_BUTTON1 )->EnableWindow( TRUE ); } } void CUtil7200Dlg::OnOutput() { // TODO: Add your control notification handler code here I16 err; CString strErrMsg; U32 dwDOData; UpdateData( TRUE ); if( m_DO31 == TRUE ) dwDOData = 0x80000000; else dwDOData = 0x00; if( m_DO30 == TRUE ) dwDOData = (dwDOData | 0x40000000); if( m_DO29 == TRUE ) dwDOData = (dwDOData | 0x20000000); if( m_DO28 == TRUE ) dwDOData = (dwDOData | 0x10000000); if( m_DO27 == TRUE ) dwDOData = (dwDOData | 0x08000000); if( m_DO26 == TRUE ) dwDOData = (dwDOData | 0x04000000); if( m_DO25 == TRUE ) dwDOData = (dwDOData | 0x02000000); if( m_DO24 == TRUE ) dwDOData = (dwDOData | 0x01000000); if( m_DO23 == TRUE ) dwDOData = (dwDOData | 0x00800000); if( m_DO22 == TRUE ) dwDOData = (dwDOData | 0x00400000); if( m_DO21 == TRUE ) dwDOData = (dwDOData | 0x00200000); if( m_DO20 == TRUE ) dwDOData = (dwDOData | 0x00100000); if( m_DO19 == TRUE ) dwDOData = (dwDOData | 0x00080000); if( m_DO18 == TRUE ) dwDOData = (dwDOData | 0x00040000); if( m_DO17 == TRUE ) dwDOData = (dwDOData | 0x00020000); if( m_DO16 == TRUE ) dwDOData = (dwDOData | 0x00010000); if( m_DO15 == TRUE ) dwDOData = (dwDOData | 0x00008000); if( m_DO14 == TRUE ) dwDOData = (dwDOData | 0x00004000); if( m_DO13 == TRUE ) dwDOData = (dwDOData | 0x00002000); if( m_DO12 == TRUE ) dwDOData = (dwDOData | 0x00001000); if( m_DO11 == TRUE ) dwDOData = (dwDOData | 0x00000800); if( m_DO10 == TRUE ) dwDOData = (dwDOData | 0x00000400); if( m_DO09 == TRUE ) dwDOData = (dwDOData | 0x00000200); if( m_DO08 == TRUE ) dwDOData = (dwDOData | 0x00000100); if( m_DO07 == TRUE ) dwDOData = (dwDOData | 0x00000080); if( m_DO06 == TRUE ) dwDOData = (dwDOData | 0x00000040); if( m_DO05 == TRUE ) dwDOData = (dwDOData | 0x00000020); if( m_DO04 == TRUE ) dwDOData = (dwDOData | 0x00000010); if( m_DO03 == TRUE ) dwDOData = (dwDOData | 0x00000008); if( m_DO02 == TRUE ) dwDOData = (dwDOData | 0x00000004); if( m_DO01 == TRUE ) dwDOData = (dwDOData | 0x00000002); if( m_DO00 == TRUE ) dwDOData = (dwDOData | 0x00000001); if( (err = DO_WritePort( m_hCard, 0, dwDOData ) ) != NoError ) { strErrMsg.Format( TEXT("DO_WritePort() falied with error code : %d"), err ); AfxMessageBox( strErrMsg ); } } void CUtil7200Dlg::OnOutputDo00() { // TODO: Add your control notification handler code here I16 err; U16 wChecked; if( m_LineEnable == TRUE ) { if( ( (CButton*)GetDlgItem(IDC_CHECK_DO00) )->GetCheck() == BST_CHECKED ) wChecked = 0x01; else if( ( (CButton*)GetDlgItem(IDC_CHECK_DO00) )->GetCheck() == BST_UNCHECKED ) wChecked = 0x00; err = DO_WriteLine( m_hCard, 0, 0, wChecked ); } } void CUtil7200Dlg::OnOutputDo04() { // TODO: Add your control notification handler code here I16 err; U16 wChecked; if( m_LineEnable == TRUE ) { if( ( (CButton*)GetDlgItem(IDC_CHECK_DO04) )->GetCheck() == BST_CHECKED ) wChecked = 0x01; else if( ( (CButton*)GetDlgItem(IDC_CHECK_DO04) )->GetCheck() == BST_UNCHECKED ) wChecked = 0x00; err = DO_WriteLine( m_hCard, 0, 4, wChecked ); } } void CUtil7200Dlg::OnOutputDo08() { // TODO: Add your control notification handler code here I16 err; U16 wChecked; if( m_LineEnable == TRUE ) { if( ( (CButton*)GetDlgItem(IDC_CHECK_DO08) )->GetCheck() == BST_CHECKED ) wChecked = 0x01; else if( ( (CButton*)GetDlgItem(IDC_CHECK_DO08) )->GetCheck() == BST_UNCHECKED ) wChecked = 0x00; err = DO_WriteLine( m_hCard, 0, 8, wChecked ); } } void CUtil7200Dlg::OnOutputDo12() { // TODO: Add your control notification handler code here I16 err; U16 wChecked; if( m_LineEnable == TRUE ) { if( ( (CButton*)GetDlgItem(IDC_CHECK_DO12) )->GetCheck() == BST_CHECKED ) wChecked = 0x01; else if( ( (CButton*)GetDlgItem(IDC_CHECK_DO12) )->GetCheck() == BST_UNCHECKED ) wChecked = 0x00; err = DO_WriteLine( m_hCard, 0, 12, wChecked ); } } void CUtil7200Dlg::OnOutputDo15() { // TODO: Add your control notification handler code here I16 err; U16 wChecked; if( m_LineEnable == TRUE ) { if( ( (CButton*)GetDlgItem(IDC_CHECK_DO15) )->GetCheck() == BST_CHECKED ) wChecked = 0x01; else if( ( (CButton*)GetDlgItem(IDC_CHECK_DO15) )->GetCheck() == BST_UNCHECKED ) wChecked = 0x00; err = DO_WriteLine( m_hCard, 0, 15, wChecked ); } } void CUtil7200Dlg::OnOutputDo16() { // TODO: Add your control notification handler code here I16 err; U16 wChecked; if( m_LineEnable == TRUE ) { if( ( (CButton*)GetDlgItem(IDC_CHECK_DO16) )->GetCheck() == BST_CHECKED ) wChecked = 0x01; else if( ( (CButton*)GetDlgItem(IDC_CHECK_DO16) )->GetCheck() == BST_UNCHECKED ) wChecked = 0x00; err = DO_WriteLine( m_hCard, 0, 16, wChecked ); } } void CUtil7200Dlg::OnOutputDo20() { // TODO: Add your control notification handler code here I16 err; U16 wChecked; if( m_LineEnable == TRUE ) { if( ( (CButton*)GetDlgItem(IDC_CHECK_DO20) )->GetCheck() == BST_CHECKED ) wChecked = 0x01; else if( ( (CButton*)GetDlgItem(IDC_CHECK_DO20) )->GetCheck() == BST_UNCHECKED ) wChecked = 0x00; err = DO_WriteLine( m_hCard, 0, 20, wChecked ); } } void CUtil7200Dlg::OnOutputDo24() { // TODO: Add your control notification handler code here I16 err; U16 wChecked; if( m_LineEnable == TRUE ) { if( ( (CButton*)GetDlgItem(IDC_CHECK_DO24) )->GetCheck() == BST_CHECKED ) wChecked = 0x01; else if( ( (CButton*)GetDlgItem(IDC_CHECK_DO24) )->GetCheck() == BST_UNCHECKED ) wChecked = 0x00; err = DO_WriteLine( m_hCard, 0, 24, wChecked ); } } void CUtil7200Dlg::OnOutputDo28() { // TODO: Add your control notification handler code here I16 err; U16 wChecked; if( m_LineEnable == TRUE ) { if( ( (CButton*)GetDlgItem(IDC_CHECK_DO28) )->GetCheck() == BST_CHECKED ) wChecked = 0x01; else if( ( (CButton*)GetDlgItem(IDC_CHECK_DO28) )->GetCheck() == BST_UNCHECKED ) wChecked = 0x00; err = DO_WriteLine( m_hCard, 0, 28, wChecked ); } } void CUtil7200Dlg::OnOutputDo31() { // TODO: Add your control notification handler code here I16 err; U16 wChecked; if( m_LineEnable == TRUE ) { if( ( (CButton*)GetDlgItem(IDC_CHECK_DO31) )->GetCheck() == BST_CHECKED ) wChecked = 0x01; else if( ( (CButton*)GetDlgItem(IDC_CHECK_DO31) )->GetCheck() == BST_UNCHECKED ) wChecked = 0x00; err = DO_WriteLine( m_hCard, 0, 31, wChecked ); } } void CUtil7200Dlg::OnOTrg() { // TODO: Add your control notification handler code here if( m_bOTrig == 0 ) { m_bOTrig = 1; DO_WriteExtTrigLine (m_hCard, 1); SetDlgItemText( IDC_BT_O_TRG, TEXT("O-TRG OFF") ); } else { m_bOTrig = 0; DO_WriteExtTrigLine (m_hCard, 0); SetDlgItemText( IDC_BT_O_TRG, TEXT("O-TRG ON") ); } }