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

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

?? lock.cpp

?? 酒店電子鎖管理
?? CPP
字號:
// lock.cpp : Defines the class behaviors for the application.
//

#include "stdafx.h"
#include "lock.h"

#include "MainFrm.h"
#include "lockDoc.h"
#include "lockView.h"

#include "UserAddView.h"
#include "UserRevView.h"
#include "UserDelView.h"

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

/////////////////////////////////////////////////////////////////////////////
// CLockApp

BEGIN_MESSAGE_MAP(CLockApp, CWinApp)
	//{{AFX_MSG_MAP(CLockApp)
	ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
	ON_COMMAND(ID_USER_ADD, OnUserAdd)
	ON_UPDATE_COMMAND_UI(ID_USER_ADD, OnUpdateUserAdd)
	ON_COMMAND(ID_USER_REV, OnUserRev)
	ON_UPDATE_COMMAND_UI(ID_USER_REV, OnUpdateUserRev)
	ON_COMMAND(ID_USER_DEL, OnUserDel)
	ON_UPDATE_COMMAND_UI(ID_USER_DEL, OnUpdateUserDel)
	//}}AFX_MSG_MAP
	// Standard file based document commands
	ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
	ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
	// Standard print setup command
	ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CLockApp construction

CLockApp::CLockApp()
{
	// TODO: add construction code here,
	// Place all significant initialization in InitInstance
}

/////////////////////////////////////////////////////////////////////////////
// The one and only CLockApp object

CLockApp theApp;

/////////////////////////////////////////////////////////////////////////////
// CLockApp initialization

BOOL CLockApp::InitInstance()
{
	AfxEnableControlContainer();

	//Initial OLE DLLs
	if (!AfxOleInit())
	{
		AfxMessageBox("初始化OLE DLL失敗");
		return FALSE;
	}


	// Standard initialization
	// If you are not using these features and wish to reduce the size
	//  of your final executable, you should remove from the following
	//  the specific initialization routines you do not need.

#ifdef _AFXDLL
	Enable3dControls();			// Call this when using MFC in a shared DLL
#else
	Enable3dControlsStatic();	// Call this when linking to MFC statically
#endif

	// Change the registry key under which our settings are stored.
	// TODO: You should modify this string to be something appropriate
	// such as the name of your company or organization.
	SetRegistryKey(_T("Local AppWizard-Generated Applications"));

	LoadStdProfileSettings();  // Load standard INI file options (including MRU)

	// Register the application's document templates.  Document templates
	//  serve as the connection between documents, frame windows and views.

	CSingleDocTemplate* pDocTemplate;
	pDocTemplate = new CSingleDocTemplate(
		IDR_MAINFRAME,
		RUNTIME_CLASS(CLockDoc),
		RUNTIME_CLASS(CMainFrame),       // main SDI frame window
		RUNTIME_CLASS(CLockView));
	AddDocTemplate(pDocTemplate);

	// Parse command line for standard shell commands, DDE, file open
	CCommandLineInfo cmdInfo;
	ParseCommandLine(cmdInfo);

	// Dispatch commands specified on the command line
	if (!ProcessShellCommand(cmdInfo))
		return FALSE;

/*** Begin modification of default InitInstance ***/

	// DB Connection
	if(!ConnectionDB())
	{
		AfxMessageBox("DataBase Connection Failure ");
		return FALSE;
	}
	
	// Save current view ID
	m_nCurView = 0; // The CLockView with nothing

	// Keep array of views as member of WinApp
	CView * pActiveView = ((CFrameWnd*)m_pMainWnd)->GetActiveView();
	m_pViews[0] = pActiveView;
	m_pViews[1] = (CView*) new UserAddView;
	m_pViews[2] = (CView*) new UserRevView;
	m_pViews[3] = (CView*) new UserDelView;
	// Get the current document
	CDocument * pCurrentDoc = ((CFrameWnd*)m_pMainWnd)->GetActiveDocument();

    // Initialize a CCreateContext to point to the active document.
    // With this context, the new view is added to the document
    // when the view is created in CView::OnCreate().
    CCreateContext newContext;
    newContext.m_pNewViewClass = NULL;
    newContext.m_pNewDocTemplate = NULL;
    newContext.m_pLastView = NULL;
    newContext.m_pCurrentFrame = NULL;
    newContext.m_pCurrentDoc = pCurrentDoc;
	
    // The ID of the initial active view is AFX_IDW_PANE_FIRST.
    // Incrementing this value by one for additional views works
    // in the standard document/view case but the technique cannot
    // be extended for the CSplitterWnd case.
    UINT viewID[4];
    viewID[1] = AFX_IDW_PANE_FIRST + 1;
    viewID[2] = AFX_IDW_PANE_FIRST + 2; 
	viewID[3] = AFX_IDW_PANE_FIRST + 3; 
    CRect rect(0, 0, 0, 0); // gets resized later	

	// Need to cast pointers to have correct Create functions called
	// CForm2 is CFormView::Create
	for ( int nView=1; nView<NUMVIEWS; nView++ )
    {
        // Create the new view. In this example, the view persists for
        // the life of the application. The application automatically
        // deletes the view when the application is closed.
        m_pViews[nView]->Create(NULL, NULL,
				(AFX_WS_DEFAULT_VIEW & ~WS_VISIBLE),
			// views are created with the style of AFX_WS_DEFAULT_VIEW
			// In MFC 4.0, this is (WS_BORDER | WS_VISIBLE | WS_CHILD)
		                rect, m_pMainWnd,
				viewID[nView], &newContext);
    }
	
    // When a document template creates a view, the WM_INITIALUPDATE
    // message is sent automatically. However, this code must
    // explicitly send the message, as follows.
    ((UserAddView*)m_pViews[1])->OnInitialUpdate();
    ((UserRevView*)m_pViews[2])->OnInitialUpdate();
	((UserDelView*)m_pViews[3])->OnInitialUpdate();

	// The one and only window has been initialized, so show and update it.
	//m_pMainWnd->ShowWindow(SW_SHOW);
	//m_pMainWnd->UpdateWindow();

/*** End modification of default InitInstance ***/

	return TRUE;
}


/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
		// No message handlers
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

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

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

// App command to run the dialog
void CLockApp::OnAppAbout()
{
	CAboutDlg aboutDlg;
	aboutDlg.DoModal();
}

/////////////////////////////////////////////////////////////////////////////
// CLockApp message handlers


void CLockApp::OnUserAdd() 
{
	// TODO: Add your command handler code here
	
//	CString name = "李崇國";
//	UserAddView * pView = (UserAddView *)m_pViews[1];
//	pView->m_username = name;
//	pView->GetDlgItem(IDC_USID_A)->SetWindowText(name);
//	pView->GetDlgItem(IDC_COMBO_SEX_A)->SetWindowText("男");

	SwitchView(1);
}


void CLockApp::OnUpdateUserAdd(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	pCmdUI->Enable( m_nCurView != 1 );
}

void CLockApp::OnUserRev() 
{
	// TODO: Add your command handler code here
	SwitchView(2);
}

void CLockApp::OnUpdateUserRev(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	pCmdUI->Enable( m_nCurView != 2 );	
}


void CLockApp::OnUserDel() 
{
	// TODO: Add your command handler code here
	SwitchView(3);
}

void CLockApp::OnUpdateUserDel(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	pCmdUI->Enable( m_nCurView != 3 );	
}




CView * CLockApp::SwitchView(UINT nIndex)
{

	ASSERT( nIndex >=0 && nIndex < NUMVIEWS );
    
    CView* pNewView = m_pViews[nIndex];
    
    CView* pActiveView = ((CFrameWnd*) m_pMainWnd)->GetActiveView();
    
    if ( !pActiveView )    // No currently active view
        return NULL;
    
    if ( pNewView == pActiveView )    // Already there
        return pActiveView;

	m_nCurView = nIndex;    // Store the new current view's index
    
    // exchange view window ID's so RecalcLayout() works
    UINT temp = ::GetWindowLong(pActiveView->m_hWnd, GWL_ID);
    ::SetWindowLong(pActiveView->m_hWnd, GWL_ID,
          ::GetWindowLong(pNewView->m_hWnd, GWL_ID));
    ::SetWindowLong(pNewView->m_hWnd, GWL_ID, temp);

    // Display and update the new current view - hide the old one    
    pActiveView->ShowWindow(SW_HIDE);
    pNewView->ShowWindow(SW_SHOW);
    ((CFrameWnd*) m_pMainWnd)->SetActiveView(pNewView);
    ((CFrameWnd*) m_pMainWnd)->RecalcLayout();
    pNewView->Invalidate();
    return pActiveView;
}


BOOL CLockApp::ConnectionDB()
{
	// Create ADO connection
	m_pConnection.CreateInstance(__uuidof(Connection));

	CString strSQL;
	strSQL = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=lockinfo.mdb";
	//strSQL = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=lock.mdb";
	try
	{
		//m_pConnection->Open((_bstr_t)strSQL,"","",adModeUnknown);
		m_pConnection->Open((_bstr_t)strSQL,"","",adModeUnknown);
	}
	catch (_com_error e)
	{
		CString strError;
		strError.Format("Warning:Open Connetcion Error: %s",e.ErrorMessage());
		AfxMessageBox(strError);
		return FALSE;		
	}

	return TRUE;

}


CString CLockApp::VariantToCString(const _variant_t &var)
{
	CString strValue;	
	switch (var.vt)
	{
	case VT_BSTR://字符串
	case VT_LPSTR:
	case VT_LPWSTR:
		strValue = (LPCTSTR)(_bstr_t)var;
		break;
	case VT_I1://無符號字符
	case VT_UI1:
		strValue.Format("%d", var.bVal);
		break;
	case VT_I2://短整型
		strValue.Format("%d", var.iVal);
		break;
	case VT_UI2://無符號短整型
		strValue.Format("%d", var.uiVal);
		break;
	case VT_INT://整型
		strValue.Format("%d", var.intVal);
		break;
	case VT_I4: //整型
	case VT_I8: //長整型
		 strValue.Format("%d", var.lVal);
		break;
	case VT_UINT://無符號整型
		strValue.Format("%d", var.uintVal);
		break;
	case VT_UI4: //無符號整型
	case VT_UI8: //無符號長整型
		 strValue.Format("%d", var.ulVal);
		 break;
	case VT_VOID:
		strValue.Format("%8x", var.byref);
		break;
	case VT_R4://浮點型
		strValue.Format("%.4f", var.fltVal);
		break;
	case VT_R8://雙精度型
		strValue.Format("%.8f", var.dblVal);
		break;
	case VT_DECIMAL: //小數
		strValue.Format("%.8f", (double)var);
		break;
	case VT_CY:
		{
			COleCurrency cy = var.cyVal;
			strValue = cy.Format();
		}
		break;
	case VT_BLOB:
	case VT_BLOB_OBJECT:
	case 0x2011:
		strValue = "[BLOB]";
		break;
	case VT_BOOL://布爾型		
		strValue = var.boolVal ? "TRUE" : "FALSE";
		break;
	case VT_DATE: //日期型
		{
			DATE dt = var.date;
			COleDateTime da = COleDateTime(dt); 
			strValue = da.Format("%Y-%m-%d");
		}
		break;
	case VT_NULL://NULL值
	case VT_EMPTY://空
		 strValue = "";
		 break;
	case VT_UNKNOWN://未知類型
	default:
		strValue = "UN_KNOW";
		break;
	}
	return strValue;

}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人夜色视频网站在线观看| 欧美精品免费视频| 91麻豆精品一区二区三区| 91精品国产乱码久久蜜臀| 亚洲欧洲成人自拍| 激情都市一区二区| 欧美挠脚心视频网站| 亚洲精品国产高清久久伦理二区| 精品一区二区三区久久| 欧美日韩免费电影| 一区二区三区资源| 99久久精品免费| 久久久99久久精品欧美| 天堂av在线一区| 欧美日韩aaaaa| 亚洲国产精品一区二区尤物区| 成人黄页在线观看| 欧美国产一区二区| 国内久久精品视频| 日韩精品一区二区三区在线 | 日本在线播放一区二区三区| 色系网站成人免费| 自拍av一区二区三区| 国产精品一区二区三区乱码| 欧美一区二区久久| 91麻豆国产香蕉久久精品| 精品粉嫩超白一线天av| 久久精品国产亚洲一区二区三区| 欧美日韩国产高清一区二区三区| 亚洲精品免费电影| 92精品国产成人观看免费| 国产精品久久一级| 91亚洲国产成人精品一区二三 | aaa欧美色吧激情视频| 国产亚洲欧洲997久久综合| 国产一区二区三区免费| 久久综合色综合88| 国产成人午夜99999| 国产欧美日韩另类一区| 成人免费av资源| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产成人精品aa毛片| 日本一区二区三区国色天香| 不卡的av在线| 亚洲综合视频在线| 91精品国产全国免费观看| 捆绑调教一区二区三区| 国产日韩精品一区二区三区| 不卡av在线免费观看| 亚洲精品日韩综合观看成人91| 91在线小视频| 丝袜美腿亚洲一区| 精品奇米国产一区二区三区| 国产精品影音先锋| 亚洲精品伦理在线| 日韩欧美黄色影院| 大尺度一区二区| 一区二区成人在线视频| 欧美精品1区2区3区| 国产一区二区在线观看视频| 国产精品久久久久精k8| 欧美日韩精品欧美日韩精品| 国产中文字幕精品| 亚洲精品你懂的| 欧美videos中文字幕| 波多野结衣中文字幕一区二区三区| 亚洲免费毛片网站| 日韩欧美国产精品| 色综合久久中文综合久久97| 视频在线观看一区二区三区| 亚洲免费成人av| 日韩一卡二卡三卡四卡| 国产+成+人+亚洲欧洲自线| 在线区一区二视频| 亚洲一区二区三区四区在线| 亚洲一区二区综合| 久久综合久色欧美综合狠狠| 91丨porny丨在线| 精品夜夜嗨av一区二区三区| 综合激情成人伊人| 精品国产乱码久久久久久夜甘婷婷 | 欧美久久婷婷综合色| 国产一区二区精品久久91| 亚洲成人一区在线| 国产精品久久毛片a| 日韩欧美国产精品一区| 欧洲国内综合视频| 成人动漫av在线| 精品一区二区在线观看| 亚洲综合丝袜美腿| 国产精品久久久久三级| 日韩一级高清毛片| 欧美影院精品一区| 色综合久久久久久久久| 国产激情91久久精品导航| 午夜精品免费在线观看| 国产麻豆视频一区二区| 日本一区中文字幕| 亚洲图片自拍偷拍| 一卡二卡欧美日韩| 亚洲色图视频网站| 亚洲国产精品v| 久久久久久久国产精品影院| 欧美一区二区三区四区五区| 欧美日韩亚洲综合一区| 欧美伊人久久久久久午夜久久久久| 成人99免费视频| 99久久婷婷国产综合精品| 国产91精品久久久久久久网曝门| 激情成人午夜视频| 国模无码大尺度一区二区三区| 日本va欧美va精品| 日本不卡一区二区| 蜜桃视频在线观看一区| 蜜芽一区二区三区| 久久精品国产精品亚洲综合| 另类人妖一区二区av| 久久综合综合久久综合| 精品一区二区三区免费视频| 激情欧美日韩一区二区| 国产乱对白刺激视频不卡| 成人小视频在线| 成人黄色一级视频| 91福利在线播放| 欧美区在线观看| 精品国产电影一区二区| 国产日韩欧美a| 亚洲日本va午夜在线电影| 亚洲综合丝袜美腿| 日本怡春院一区二区| 国产一区二区三区最好精华液| 激情综合色丁香一区二区| 国产米奇在线777精品观看| 成人国产精品免费观看| 欧美最猛性xxxxx直播| 欧美一二三四在线| 国产三级精品三级| 亚洲免费在线观看| 美女一区二区在线观看| 成人性色生活片免费看爆迷你毛片| 91色综合久久久久婷婷| 制服丝袜中文字幕亚洲| 亚洲精品一区二区三区精华液| 欧美国产一区二区在线观看| 一区二区三区鲁丝不卡| 久久国内精品自在自线400部| 国产成人日日夜夜| 欧美偷拍一区二区| 国产三区在线成人av| 一区二区三区精品| 国内精品写真在线观看| 91麻豆精品视频| 久久日韩粉嫩一区二区三区| 一区二区三区国产| 国产经典欧美精品| 欧美日韩一本到| 国产精品久久久久久久浪潮网站 | 欧美日韩在线一区二区| 久久久精品中文字幕麻豆发布| 亚洲免费观看高清在线观看| 久久99国产精品久久99| 91蜜桃在线免费视频| 精品福利一区二区三区免费视频| 综合色天天鬼久久鬼色| 国产一区二区精品久久| 91精品国产丝袜白色高跟鞋| 亚洲国产精品t66y| 免费黄网站欧美| 欧美性色aⅴ视频一区日韩精品| 久久亚洲一级片| 日韩激情av在线| 91成人国产精品| 国产精品久久久久7777按摩 | 无吗不卡中文字幕| 91蜜桃网址入口| 国产日韩欧美激情| 卡一卡二国产精品| 884aa四虎影成人精品一区| 亚洲欧美国产高清| 国产91精品入口| 国产亚洲欧美在线| 麻豆成人av在线| 91精品婷婷国产综合久久性色| 亚洲综合视频在线| 91黄色小视频| 亚洲婷婷国产精品电影人久久| 国产二区国产一区在线观看| 欧美va亚洲va国产综合| 日韩在线观看一区二区| 欧美日免费三级在线| 一二三区精品视频| 在线欧美日韩精品| 亚洲综合网站在线观看| 色94色欧美sute亚洲线路二| 国产精品短视频| 色综合久久久久| 欧美成人激情免费网| 国产一区二区91| 国产欧美日韩综合| 成人晚上爱看视频|