리크 테스트 gui
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

880 lines
26 KiB

// 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<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 function to obtain the cursor to display while the user drags
// the minimized window.
HCURSOR CUtil7200Dlg::OnQueryDragIcon()
{
return static_cast<HCURSOR>(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") );
}
}