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

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

?? fileexamdlg.cpp

?? 在embedded visual c++4.0 環境下編的 關于文件操作的程序
?? CPP
字號:
// FileExamDlg.cpp : implementation file
//

#include "stdafx.h"
#include "FileExam.h"
#include "FileExamDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CFileExamDlg dialog

CFileExamDlg::CFileExamDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CFileExamDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CFileExamDlg)
	m_bjmc = _T("");
	m_csrq = _T("");
	m_xsbh = _T("");
	m_xsxm = _T("");
	m_xsxb = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CFileExamDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CFileExamDlg)
	DDX_Text(pDX, IDC_EDTBJMC, m_bjmc);
	DDX_Text(pDX, IDC_EDTCSRQ, m_csrq);
	DDX_Text(pDX, IDC_EDTXSBH, m_xsbh);
	DDX_Text(pDX, IDC_EDTXSXM, m_xsxm);
	DDX_CBString(pDX, IDC_CMBXSXB, m_xsxb);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CFileExamDlg, CDialog)
	//{{AFX_MSG_MAP(CFileExamDlg)
	ON_BN_CLICKED(IDC_BTNFIRST, OnBtnfirst)
	ON_BN_CLICKED(IDC_BTNPRIOR, OnBtnprior)
	ON_BN_CLICKED(IDC_BTNNEXT, OnBtnnext)
	ON_BN_CLICKED(IDC_BTNLAST, OnBtnlast)
	ON_BN_CLICKED(IDC_BTNADD, OnBtnadd)
	ON_BN_CLICKED(IDC_BTNEDIT, OnBtnedit)
	ON_BN_CLICKED(IDC_BTNCANCEL, OnBtncancel)
	ON_BN_CLICKED(IDC_BTNSAVE, OnBtnsave)
	ON_BN_CLICKED(IDC_BTNDELETE, OnBtndelete)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CFileExamDlg message handlers

BOOL CFileExamDlg::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
	
	CenterWindow(GetDesktopWindow());	// center to the hpc screen

	// TODO: Add extra initialization here
	
	//裝載學生表到m_lstStudent隊列
	CFile stuFile;
	CStudentData studentData;
	DWORD dwRead;

	//如果數據文件存在,就讀取
	ZeroMemory(&studentData,sizeof(studentData));
	if (stuFile.Open(STUDENTFILEPATH,CFile::modeRead))
	{
		do
		{
			dwRead = stuFile.Read(&studentData,sizeof(studentData));
			if (dwRead != 0 )
			{
				m_lstStudent.AddTail(studentData);
			}
		}while(dwRead > 0);
		//關閉數據文件
		stuFile.Close();
	}
	else  //創建文件
	{
        if (!stuFile.Open(STUDENTFILEPATH,CFile::modeCreate|CFile::modeWrite))
		{
			AfxMessageBox(_T("創建數據庫失敗"));
			return FALSE;
		}
		stuFile.Close();
	}
	
	//初始化界面顯示
	if (m_lstStudent.GetCount() > 0)
	{
		studentData = m_lstStudent.GetHead();
		m_iCurPos = 0;
		//初始劃第一條顯示
		m_xsbh = studentData.xsbh;
		m_xsxm = studentData.xsxm;
		m_xsxb = studentData.xb;
		m_csrq = studentData.csrq;
		m_bjmc = studentData.bjmc;
		
		UpdateData(false);
	}
    SetControlEnable(FALSE);
	//設置指針移動按鈕有效性
	SetNavigatorButton(m_iCurPos);


	return TRUE;  // return TRUE  unless you set the focus to a control
}

/*
*函數介紹:設置控件有效性
*入口參數:aValue代表控件的有效性
*出口參數:(無)
*返回值:(無)
*/
void CFileExamDlg::SetControlEnable(bool aValue)
{
	/*設置輸入框的有效性*/
	((CEdit*)GetDlgItem(IDC_EDTXSBH))->EnableWindow(aValue);  
	((CEdit*)GetDlgItem(IDC_EDTXSXM))->EnableWindow(aValue);  
	((CEdit*)GetDlgItem(IDC_CMBXSXB))->EnableWindow(aValue);  
	((CEdit*)GetDlgItem(IDC_EDTCSRQ))->EnableWindow(aValue);  
	((CEdit*)GetDlgItem(IDC_EDTBJMC))->EnableWindow(aValue);  
    /*設置指針移動按鈕的有效性*/
	((CButton*)GetDlgItem(IDC_BTNFIRST))->EnableWindow(!aValue);    
	((CButton*)GetDlgItem(IDC_BTNPRIOR))->EnableWindow(!aValue); 
	((CButton*)GetDlgItem(IDC_BTNNEXT))->EnableWindow(!aValue); 
	((CButton*)GetDlgItem(IDC_BTNLAST))->EnableWindow(!aValue); 
	/*設置操作按鈕的有效性*/
	((CButton*)GetDlgItem(IDC_BTNADD))->EnableWindow(!aValue);
	((CButton*)GetDlgItem(IDC_BTNEDIT))->EnableWindow(!aValue);
	((CButton*)GetDlgItem(IDC_BTNCANCEL))->EnableWindow(aValue);
	((CButton*)GetDlgItem(IDC_BTNSAVE))->EnableWindow(aValue);
	((CButton*)GetDlgItem(IDC_BTNDELETE))->EnableWindow(!aValue);
}


/*
*函數介紹:設置指針移動按鈕的有效性
*入口參數:aValue代表當前記錄位置
*出口參數:(無)
*返回值:(無)
*/
void CFileExamDlg::SetNavigatorButton(int aValue)
{
	//如果學生隊列數據小于2
	if (m_lstStudent.GetCount() < 2)
	{
        ((CButton*)GetDlgItem(IDC_BTNFIRST))->EnableWindow(FALSE);
        ((CButton*)GetDlgItem(IDC_BTNPRIOR))->EnableWindow(FALSE);
        ((CButton*)GetDlgItem(IDC_BTNNEXT))->EnableWindow(FALSE);
        ((CButton*)GetDlgItem(IDC_BTNLAST))->EnableWindow(FALSE);
        return;		
	}
	//指針移到首部
	if (aValue == 0)
	{
        ((CButton*)GetDlgItem(IDC_BTNFIRST))->EnableWindow(FALSE);
        ((CButton*)GetDlgItem(IDC_BTNPRIOR))->EnableWindow(FALSE);
		if (m_lstStudent.GetCount() >=2)
		{
           ((CButton*)GetDlgItem(IDC_BTNNEXT))->EnableWindow(TRUE);
           ((CButton*)GetDlgItem(IDC_BTNLAST))->EnableWindow(TRUE);
		}
	}//如果指針移到末尾
    else if (aValue == m_lstStudent.GetCount() - 1)
	{
        ((CButton*)GetDlgItem(IDC_BTNNEXT))->EnableWindow(FALSE);
        ((CButton*)GetDlgItem(IDC_BTNLAST))->EnableWindow(FALSE);
		if (m_lstStudent.GetCount() >=2)
		{
           ((CButton*)GetDlgItem(IDC_BTNFIRST))->EnableWindow(TRUE);
           ((CButton*)GetDlgItem(IDC_BTNPRIOR))->EnableWindow(TRUE);
		}
	}
	else
	{
           ((CButton*)GetDlgItem(IDC_BTNFIRST))->EnableWindow(TRUE);
           ((CButton*)GetDlgItem(IDC_BTNPRIOR))->EnableWindow(TRUE);
           ((CButton*)GetDlgItem(IDC_BTNNEXT))->EnableWindow(TRUE);
           ((CButton*)GetDlgItem(IDC_BTNLAST))->EnableWindow(TRUE);
	}
}



/*
*函數介紹:將指針移到首部
*入口參數:(無)
*出口參數:(無)
*返回值:(無)
*/
void CFileExamDlg::OnBtnfirst() 
{
	CStudentData studentData = m_lstStudent.GetHead();
	m_iCurPos = 0;
	//更新顯示
	m_xsbh = studentData.xsbh;
	m_xsxm = studentData.xsxm;
	m_xsxb = studentData.xb;
	m_csrq = studentData.csrq;
	m_bjmc = studentData.bjmc;
	UpdateData(false);
    //設置指針移動按鈕有效性
	SetNavigatorButton(m_iCurPos);
}

/*
*函數介紹:將指針移向前移動
*入口參數:(無)
*出口參數:(無)
*返回值:(無)
*/
void CFileExamDlg::OnBtnprior() 
{
	m_iCurPos--;
	POSITION pos = m_lstStudent.FindIndex(m_iCurPos);
	CStudentData studentData = m_lstStudent.GetAt(pos);
	
	//更新顯示
	m_xsbh = studentData.xsbh;
	m_xsxm = studentData.xsxm;
	m_xsxb = studentData.xb;
	m_csrq = studentData.csrq;
	m_bjmc = studentData.bjmc;
	UpdateData(false);
    //設置指針移動按鈕有效性
	SetNavigatorButton(m_iCurPos);
}

/*
*函數介紹:將指針向后移動
*入口參數:(無)
*出口參數:(無)
*返回值:(無)
*/
void CFileExamDlg::OnBtnnext() 
{
	m_iCurPos++;
	POSITION pos = m_lstStudent.FindIndex(m_iCurPos);
	CStudentData studentData = m_lstStudent.GetAt(pos);
	//更新顯示
	m_xsbh = studentData.xsbh;
	m_xsxm = studentData.xsxm;
	m_xsxb = studentData.xb;
	m_csrq = studentData.csrq;
	m_bjmc = studentData.bjmc;
	UpdateData(false);
    //設置指針移動按鈕有效性
	SetNavigatorButton(m_iCurPos);
}

/*
*函數介紹:將指針移到尾部
*入口參數:(無)
*出口參數:(無)
*返回值:(無)
*/
void CFileExamDlg::OnBtnlast() 
{
	CStudentData studentData = m_lstStudent.GetTail();
	m_iCurPos = m_lstStudent.GetCount() - 1;
	//更新顯示
	m_xsbh = studentData.xsbh;
	m_xsxm = studentData.xsxm;
	m_xsxb = studentData.xb;
	m_csrq = studentData.csrq;
	m_bjmc = studentData.bjmc;
	UpdateData(false);
    //設置指針移動按鈕有效性
	SetNavigatorButton(m_iCurPos);
}

/*
*函數介紹:添加新記錄
*入口參數:(無)
*出口參數:(無)
*返回值:(無)
*/
void CFileExamDlg::OnBtnadd() 
{
	m_operID = 0 ; //表示添加操作
	m_xsbh = _T("");
	m_xsxm = _T("");
	m_xsxb = _T("");
	m_csrq = _T("");
	m_bjmc = _T("");
    UpdateData(FALSE);
	SetControlEnable(TRUE);
}

/*
*函數介紹:編輯舊記錄
*入口參數:(無)
*出口參數:(無)
*返回值:(無)
*/
void CFileExamDlg::OnBtnedit() 
{
    if (m_lstStudent.IsEmpty())
	{
		AfxMessageBox(_T("沒有可編輯的記錄"));
		return;
	}
	m_operID = 1 ; //表示編輯操作
	SetControlEnable(TRUE);
}

/*
*函數介紹:保存修改或添加
*入口參數:(無)
*出口參數:(無)
*返回值:(無)
*/
void CFileExamDlg::OnBtnsave() 
{
	CStudentData studentData;
	CFile stuFile;
	
	UpdateData(TRUE);
	switch (m_operID )
	{
	case 0 :  /*添加操作*/
		{
			/*將添加的東西寫入文件*/
			ZeroMemory(&studentData,sizeof(studentData));
			wcscpy(studentData.xsbh,m_xsbh);
			wcscpy(studentData.xsxm,m_xsxm);
			wcscpy(studentData.xb,m_xsxb);
			wcscpy(studentData.csrq,m_csrq);
			wcscpy(studentData.bjmc,m_bjmc);
			stuFile.Open(STUDENTFILEPATH,CFile::modeRead | CFile::modeWrite);
			stuFile.SeekToEnd();
			stuFile.Write(&studentData,sizeof(studentData));
			stuFile.Close();
			//更新內存隊列
			m_lstStudent.AddTail(studentData);

			SetControlEnable(FALSE);	
			//設置指針移動按鈕有效性
			m_iCurPos = m_lstStudent.GetCount()-1;
	        SetNavigatorButton(m_iCurPos);
			break;
		}
	case 1: /*編輯操作*/
		{
			/*將添加的東西寫入文件*/
			ZeroMemory(&studentData,sizeof(studentData));
			wcscpy(studentData.xsbh,m_xsbh);
			wcscpy(studentData.xsxm,m_xsxm);
			wcscpy(studentData.xb,m_xsxb);
			wcscpy(studentData.csrq,m_csrq);
			wcscpy(studentData.bjmc,m_bjmc);
			stuFile.Open(STUDENTFILEPATH,CFile::modeRead | CFile::modeWrite);
			stuFile.Seek(sizeof(studentData)*(m_iCurPos) ,CFile::begin);
			stuFile.Write(&studentData,sizeof(studentData));
			stuFile.Close();
			//更新內存隊列
			m_lstStudent.SetAt(m_lstStudent.FindIndex(m_iCurPos),studentData);	

		    SetControlEnable(FALSE);	
			//設置指針移動按鈕有效性
	        SetNavigatorButton(m_iCurPos);
			break;
		}
	}	
}

/*
*函數介紹:取消修改或添加
*入口參數:(無)
*出口參數:(無)
*返回值:(無)
*/
void CFileExamDlg::OnBtncancel() 
{
	POSITION pos = m_lstStudent.FindIndex(m_iCurPos);
	CStudentData studentData = m_lstStudent.GetAt(pos);
	
	//更新顯示
	m_xsbh = studentData.xsbh;
	m_xsxm = studentData.xsxm;
	m_xsxb = studentData.xb;
	m_csrq = studentData.csrq;
	m_bjmc = studentData.bjmc;
	UpdateData(false);
	SetControlEnable(FALSE);
    //設置指針移動按鈕有效性
	SetNavigatorButton(m_iCurPos);
}

/*
*函數介紹:刪除當前記錄
*入口參數:(無)
*出口參數:(無)
*返回值:(無)
*/
void CFileExamDlg::OnBtndelete() 
{
    if (m_lstStudent.IsEmpty())
	{
		AfxMessageBox(_T("沒有可刪除的記錄"));
		return;
	}

	//先從隊列中移除
	POSITION pos = m_lstStudent.FindIndex(m_iCurPos);
	m_lstStudent.RemoveAt(pos);
	if (m_iCurPos != 0)
	{
		m_iCurPos--;
	}
	//更新界面顯示
	if (!m_lstStudent.IsEmpty())
	{
		pos = m_lstStudent.FindIndex(m_iCurPos);
		CStudentData studentData = m_lstStudent.GetAt(pos);
		
		//更新顯示
		m_xsbh = studentData.xsbh;
		m_xsxm = studentData.xsxm;
		m_xsxb = studentData.xb;
		m_csrq = studentData.csrq;
		m_bjmc = studentData.bjmc;
		UpdateData(false);
	}
	else
	{
		//更新顯示
		m_xsbh = _T("");
		m_xsxm = _T("");
		m_xsxb = _T("");
		m_csrq = _T("");
		m_bjmc = _T("");
		UpdateData(false);
	}
	SetControlEnable(FALSE);
    //設置指針移動按鈕有效性
	SetNavigatorButton(m_iCurPos);
	//將文件重寫
    CStudentData studentData;
	CFile stuFile;
	stuFile.Open(STUDENTFILEPATH,CFile::modeCreate | CFile::modeWrite);
    
	pos = m_lstStudent.GetHeadPosition();
	for (int i=0;i<m_lstStudent.GetCount();i++)
	{
		ZeroMemory(&studentData,sizeof(studentData));
		studentData = m_lstStudent.GetNext(pos);
		stuFile.Write(&studentData,sizeof(studentData));
	}
	stuFile.Close();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品在线一区二区三区| 久久久久久亚洲综合| 欧美一二三区在线观看| 午夜伊人狠狠久久| 久久99九九99精品| 欧美午夜视频网站| 亚洲视频在线观看三级| 久久国产精品露脸对白| 91福利资源站| 国产精品久久免费看| 日本不卡一区二区三区 | 亚洲国产精品激情在线观看| 中文字幕欧美一| 国产精品一区二区免费不卡| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 精品国产一区二区三区忘忧草 | 国产成人av福利| 欧美一级日韩免费不卡| 一区二区三区国产| 99v久久综合狠狠综合久久| 精品对白一区国产伦| 日日夜夜免费精品视频| 在线视频一区二区三区| 亚洲欧美偷拍三级| av电影在线观看一区| 国产精品久久久久婷婷| 国产精品亚洲一区二区三区妖精| 91精品国产综合久久小美女 | 国产精品区一区二区三区| 黑人精品欧美一区二区蜜桃| 666欧美在线视频| 日韩电影一区二区三区| 欧美精品日韩一本| 奇米影视一区二区三区| 日韩欧美中文字幕精品| 美女视频网站久久| 欧美xxxx在线观看| 国产激情视频一区二区三区欧美| 亚洲国产中文字幕| 在线视频一区二区三区| 一区二区欧美视频| 欧美日本韩国一区| 日韩精品电影在线| 日韩欧美资源站| 国产精品亚洲人在线观看| 国产日产亚洲精品系列| 成人av网站在线观看免费| 亚洲日本在线观看| 欧美区一区二区三区| 美国欧美日韩国产在线播放| 精品理论电影在线观看 | 日韩精品最新网址| 国产高清无密码一区二区三区| 久久综合色之久久综合| 成人午夜视频网站| 一区二区高清视频在线观看| 欧美日韩免费高清一区色橹橹| 日韩在线观看一区二区| 久久久久久久网| 91蜜桃在线免费视频| 视频一区二区中文字幕| 2024国产精品视频| 91黄色免费看| 激情综合五月婷婷| 亚洲色图19p| 制服丝袜中文字幕亚洲| 成人永久免费视频| 亚洲大片精品永久免费| 久久久一区二区三区| 色天天综合久久久久综合片| 日韩电影在线一区二区三区| 国产日韩欧美电影| 精品视频一区二区三区免费| 国产精品自拍在线| 亚洲自拍与偷拍| 久久久久88色偷偷免费| 欧美在线视频日韩| 国产成人av在线影院| 亚洲第一搞黄网站| 欧美激情综合五月色丁香小说| 欧美日韩日日骚| 高清免费成人av| 日韩成人一区二区| 亚洲九九爱视频| 久久亚洲影视婷婷| 欧美国产日韩精品免费观看| 欧美日韩日日夜夜| 99久久99久久精品免费看蜜桃| 免费视频一区二区| 亚洲国产精品视频| 国产精品久久久久久亚洲伦| 日韩视频一区二区在线观看| 色欧美片视频在线观看| 国产91精品入口| 激情综合色综合久久综合| 亚洲成人av福利| 亚洲精品视频一区二区| 中文字幕欧美日韩一区| 26uuu国产日韩综合| 欧美挠脚心视频网站| 一本大道久久a久久综合婷婷| 国产成人高清视频| 国产老肥熟一区二区三区| 麻豆传媒一区二区三区| 午夜日韩在线电影| 亚洲一区在线播放| 亚洲狠狠丁香婷婷综合久久久| 国产精品视频在线看| 久久先锋影音av| 精品av久久707| 精品国产免费一区二区三区香蕉 | 亚洲3atv精品一区二区三区| 亚洲欧美一区二区三区孕妇| 国产精品久久久久影视| 国产精品护士白丝一区av| 国产精品久久三| 中文字幕在线观看一区| 国产精品萝li| 亚洲日本va午夜在线影院| 亚洲欧美在线另类| 亚洲美女视频在线| 一区二区久久久久久| 亚洲国产精品综合小说图片区| 亚洲午夜久久久| 午夜伦理一区二区| 成人免费高清在线| 懂色av噜噜一区二区三区av | 久久国产三级精品| 国精品**一区二区三区在线蜜桃| 精品在线一区二区三区| 国产精品一区在线观看你懂的| 国产成人精品一区二区三区四区 | 色综合激情五月| 在线观看免费一区| 在线播放亚洲一区| 欧美va亚洲va| 国产农村妇女毛片精品久久麻豆 | 国产一区二区三区美女| 国产成人一区二区精品非洲| 成人午夜又粗又硬又大| 91丨porny丨中文| 日韩一区二区电影网| 久久麻豆一区二区| 洋洋av久久久久久久一区| 日韩精品视频网站| 国产一区二区伦理片| 91网站最新网址| 欧美日韩电影一区| 国产亚洲精品aa午夜观看| 亚洲精品国产视频| 久久99国内精品| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美色图天堂网| 久久夜色精品国产欧美乱极品| 国产精品的网站| 看片的网站亚洲| 成人成人成人在线视频| 欧美精品亚洲二区| 中文字幕乱码一区二区免费| 午夜婷婷国产麻豆精品| 91精品国产欧美一区二区成人 | 国产在线视频不卡二| 色综合夜色一区| 精品卡一卡二卡三卡四在线| **网站欧美大片在线观看| 美女在线视频一区| 在线视频国产一区| 国产欧美一区二区精品久导航| 亚洲 欧美综合在线网络| 国产成人精品网址| 欧美不卡激情三级在线观看| 亚洲精品成人天堂一二三| 国产一区二区三区免费| 欧美美女网站色| 夜夜精品视频一区二区| 国产高清久久久久| 欧美va亚洲va国产综合| 亚洲国产美女搞黄色| av不卡免费电影| 久久久亚洲欧洲日产国码αv| 午夜伊人狠狠久久| 欧美影院一区二区三区| 国产精品国产三级国产普通话蜜臀 | 亚洲精品免费在线观看| 国产精品99久久久久久似苏梦涵| 欧美色涩在线第一页| 亚洲免费观看高清完整版在线观看熊| 激情综合色丁香一区二区| 欧美日本视频在线| 亚洲综合一区二区精品导航| 不卡的av在线| 国产精品素人一区二区| 高清不卡一区二区在线| 久久影院午夜论| 激情综合色丁香一区二区| 日韩一区二区三区观看| 免费成人在线影院| 日韩精品一区二区三区中文不卡| 亚洲bdsm女犯bdsm网站| 欧美日韩精品一区二区|