⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainfrm.cpp

📁 使用vc开发的个人信息管理系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
{
	// TODO: Add your command handler code here
	_RecordsetPtr MySet;
	CString str;
	int iCount;
	_variant_t Holder;
	MySet.CreateInstance(__uuidof(Recordset));
	DlgAddFiles dlg;
begin://如果目录名重复,跳转到开始位置重新输入
	iCount=0;
	if(dlg.DoModal()==IDOK){
		str=m_wndTree.GetItemText(m_wndTree.hItem);
		if(str==""){
			AfxMessageBox("你没有选择目录,请选择");
			return ;
		}
		if(dlg.m_strFilesName.IsEmpty()){
			AfxMessageBox("你没有输入要添加的文章名称,请重新输入");
			goto begin;
		}
		if(m_wndTree.SelectNode.GetfolderType()=="1"){
			AfxMessageBox("你选择的不是目录,不能添加文章");
			return ;
		}
		//////////////////////////判断是否有重复目录名////////////////////
		for(int i=0;i<MyNodes.size();i++){
			if(MyNodes[i].GetfolderParentId()==m_wndTree.SelectNode.GetfolderId() && dlg.m_strFilesName==MyNodes[i].GetfolderName()){
				iCount++;
			}
		}
		if(iCount>0) {
			AfxMessageBox("你输入的文章名称在  \""+m_wndTree.SelectNode.GetfolderName()+"\"  目录下已经存在,请更名");
			goto begin;
		}
		int pos=AfxMessageBox("你确定添加此文章到  \""+m_wndTree.SelectNode.GetfolderName()+"\"  选定位置吗?",MB_OKCANCEL);
		if(pos==1){
			MyNodes.clear();
			CString strData,PN_Name,strNodetye="1";
			strData=MySetDate();
			PN_Name.Format("%d",p_Checkout.StringToInt(m_wndTree.SelectNode.GetfolderTurn())+1);
			_variant_t strSQLInsert("INSERT INTO TTree (Title,ParentId,Type,CreateTime,Turn) VALUES('"+dlg.m_strFilesName+"','"+m_wndTree.SelectNode.GetfolderId()+"','"+strNodetye+"','"+strData+"','"+PN_Name+"')");
			if(!theApp.ADOExecute(MySet,strSQLInsert)) return ;
			m_wndTree.DeleteAllItems();
			hti = m_wndTree.InsertItem(_T("我的资料管理目录"));
			InitNodeFile(hti,"0");
			m_wndTree.Expand(hti, TVE_EXPAND);
			//AncestorNodeFile(hti);
		}else{
			goto begin;
		}
	}else{
		
	}
	if(adStateOpen==MySet->State)	MySet->Close();
	MySet.Release();
}

void CMainFrame::OnUpdateAddfiles(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	pCmdUI->Enable(theApp.m_AddNode);
}

void CMainFrame::OnDeletenode() 
{
	// TODO: Add your command handler code here
	CString str=m_wndTree.GetItemText(m_wndTree.hItem);
	if(str==""){
		AfxMessageBox("你没有选择目录,请选择");
		return ;
	}
	//////////////////////////判断录入首目录////////////////////////////////
	int pos=AfxMessageBox("你确定要删除  \""+m_wndTree.SelectNode.GetfolderName()+"\"项吗?如果删除其下所有子项将全部删除",MB_OKCANCEL);
	if(pos==1){
		DeleteNodes(m_wndTree.SelectNode);	
		MyNodes.clear();
	}
	m_wndTree.DeleteAllItems();
	hti = m_wndTree.InsertItem(_T("我的资料管理目录"));
	InitNodeFile(hti,"0");
	m_wndTree.Expand(hti, TVE_EXPAND);
}

void CMainFrame::OnUpdateDeletenode(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	pCmdUI->Enable(theApp.m_AddNode);
}

void CMainFrame::OnUpdatenode() 
{
	// TODO: Add your command handler code here
	_RecordsetPtr MyUpdateSet;
	CString str;
	_variant_t Holder;
	MyUpdateSet.CreateInstance(__uuidof(Recordset));
	str=m_wndTree.GetItemText(m_wndTree.hItem);
	if(str==""){
		AfxMessageBox("你没有选择目录,请选择");
		return ;
	}else if(str=="我的资料管理目录"){
		AfxMessageBox("我的资料管理目录不能修改");
		return ;
	}
	DlgUpdateNode dlg;
begin://如果目录名重复,跳转到开始位置重新输入
	dlg.m_strDlgName=m_wndTree.SelectNode.GetfolderName();
	if(dlg.DoModal()==IDOK){
		if(dlg.m_strFilesName.IsEmpty()){
			AfxMessageBox("你没有输入要修改的目录/文章名称,请重新输入");
			goto begin;
		}
		int pos=AfxMessageBox("你确定把名字  \""+m_wndTree.SelectNode.GetfolderName()+"\"  修改为  \""+dlg.m_strFilesName+"\"  吗?",MB_OKCANCEL);
		if(pos==1){
		/////////////////////////////////////修改文章节点///////////////////////////////
			_variant_t _strSQL("SELECT * FROM TTree WHERE NodeId="+m_wndTree.SelectNode.GetfolderId());
			if(!theApp.ADOExecute(MyUpdateSet,_strSQL)) return ;
			MyNodes.clear();
			while(!MyUpdateSet->adoEOF){
				MyUpdateSet->PutCollect("Title",_variant_t(dlg.m_strFilesName));
				MyUpdateSet->Update();
				MyUpdateSet->MoveNext();
			}
			m_wndTree.DeleteAllItems();
			hti = m_wndTree.InsertItem(_T("我的资料管理目录"));
			InitNodeFile(hti,"0");
			m_wndTree.Expand(hti, TVE_EXPAND);
		}else{
			goto begin;
		}
	}else{

	}
	if(adStateOpen==MyUpdateSet->State)	MyUpdateSet->Close();
	MyUpdateSet.Release();
}

void CMainFrame::OnUpdateUpdatenode(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	pCmdUI->Enable(theApp.m_AddNode);
}

int CMainFrame::CreateMyEditToolBar()
{
	#define EDIT_BOX_WIDTH	200
	int index=0;
	CRect rect;

	while(m_wndToolBar.GetItemID(index)!=ID_BEDIT) index++;
	m_wndToolBar.SetButtonInfo(index,ID_BEDIT,TBBS_SEPARATOR,EDIT_BOX_WIDTH);//TBBS_SEPARATOR/TBBS_BUTTON
	m_wndToolBar.GetItemRect(index, &rect);
	rect.bottom=30;
	rect.top=5;
	if(!m_wndToolBar.m_Edit.Create(
		WS_CHILD|WS_VISIBLE | CBS_DROPDOWNLIST | CBS_HASSTRINGS|WS_BORDER,
		rect, &m_wndToolBar,IDC_SELECT_EDIT))
	{
		MessageBox("Failed to create Edit");
		return FALSE;
	}
	m_wndToolBar.m_Edit.ShowWindow(SW_SHOW);
	return TRUE;
}

CString CMainFrame::MySetDate()
{
	CTime tm = CTime::GetCurrentTime();
	CString strData,strNodetye="1";
	strData.Format("%d-%d-%d",tm.GetYear(), tm.GetMonth(), tm.GetDay());
	CString SelectAt;
	SelectAt.Empty();
	SelectAt="yyyy-mm-dd";
	int j=0,UpdateDay=0;
	if(strData.GetLength()==10) return strData;
	if(tm.GetMonth()<10){
		for(int i=0;i<strData.GetLength();i++){
			if(tm.GetMonth()<10 && i==5){
				SelectAt.SetAt(j,'0');
				j++;
			}
			SelectAt.SetAt(j,strData.GetAt(i));
			j++;
		}
		strData=SelectAt;
		UpdateDay+=1;
	}
	if(tm.GetDay()<10){
		SelectAt="yyyy-mm-dd";
		j=0;
		UpdateDay+=1;
		if(UpdateDay==1){
			for(int i=0;i<strData.GetLength();i++){
				if(tm.GetDay()<10 && i==8){
					SelectAt.SetAt(j,'0');
					j++;
				}
				SelectAt.SetAt(j,strData.GetAt(i));
				j++;
			}
		}else if(UpdateDay==2){
			for(int i=0;i<strData.GetLength()-1;i++){
				if(tm.GetDay()<10 && i==8){
					SelectAt.SetAt(j,'0');
					j++;
				}
				SelectAt.SetAt(j,strData.GetAt(i));
				j++;
			}
		}
	}
	return SelectAt;
}

void CMainFrame::DeleteNodes(CMyFolder strNodeId)
{
	int j=0;
	_RecordsetPtr DelSet,DelFileSet,DelAttachmentSet;
	DelSet.CreateInstance(__uuidof(Recordset));
	DelFileSet.CreateInstance(__uuidof(Recordset));
	DelAttachmentSet.CreateInstance(__uuidof(Recordset));
	//AfxMessageBox(strNodeId.GetfolderName());
	if(strNodeId.GetfolderName()=="我的资料管理目录"){
		j=1;
	}
	for(int i=j;i<MyNodes.size();i++){
		if(MyNodes[i].GetfolderParentId()==strNodeId.GetfolderId()){
			DeleteNodes(MyNodes[i]);
		}
	}
	
		if(strNodeId.GetfolderType()=="1"){
			_variant_t _strSQLFile("DELETE FROM TContent WHERE NodeId='"+strNodeId.GetfolderId()+"'");
			if(!theApp.ADOExecute(DelFileSet,_strSQLFile)) return ;
			if(strNodeId.GetfolderAttachment()=="1"){
				_variant_t _strSQLAttachment("DELETE FROM TAttachment WHERE NodeId='"+strNodeId.GetfolderId()+"'");
				if(!theApp.ADOExecute(DelAttachmentSet,_strSQLAttachment)) return ;
			}
		}
		_variant_t _strSQL("DELETE FROM TTree WHERE NodeId="+strNodeId.GetfolderId());
		if(!theApp.ADOExecute(DelSet,_strSQL)) return ;

	if(adStateOpen==DelSet->State)	DelSet->Close();
	DelSet.Release();
	if(adStateOpen==DelFileSet->State)	DelFileSet->Close();
	DelFileSet.Release();
	if(adStateOpen==DelAttachmentSet->State)	DelAttachmentSet->Close();
	DelAttachmentSet.Release();
}

void CMainFrame::OnClose() 
{
	// TODO: Add your message handler code here and/or call default
	if(theApp.m_SaveFiles){
		int pos=AfxMessageBox("该文章已经修改,是否保存?",MB_OKCANCEL);
		if(pos==1){
			CDotNETView* p = (CDotNETView*)(((CMainFrame*)AfxGetMainWnd())->GetActiveView());
			//CDotNETApp *pApp=(CDotNETApp *)AfxGetApp();
			p->FilesSave();
		}
	}

	CAutoHideFrame::OnClose();
}

void CMainFrame::OnAddbookmark()
{
	// TODO: 在此添加命令处理程序代码
	if(m_wndTree.SelectNode.GetfolderType()!="1"){
		MessageBox("你在目录中选择的不是文章,不能添加书签,请重新选择。");
		return ;
	}
	CDlgAddBookMark dlg;
	dlg.m_strNodeId=m_wndTree.SelectNode.GetfolderId();
	dlg.m_strBookMarkName=m_wndTree.SelectNode.GetfolderName();
	dlg.DoModal();
}

void CMainFrame::OnUpdateAddbookmark(CCmdUI *pCmdUI)
{
	// TODO: 在此添加命令更新用户界面处理程序代码

}

void CMainFrame::OnBookmanage()
{
	// TODO: 在此添加命令处理程序代码
	CDlgBookMarkManage dlg;
	
	dlg.DoModal();
}

void CMainFrame::OnUpdateBookmanage(CCmdUI *pCmdUI)
{
	// TODO: 在此添加命令更新用户界面处理程序代码
}

// 显示书签
void CMainFrame::ShowBookMark(void)
{
	CString strFileName,strTAttachmentID;
	_RecordsetPtr MySet;
	_variant_t Holder;
	int i=0;
	MySet.CreateInstance(__uuidof(Recordset));
	_variant_t _strSQL("SELECT * FROM BookMark");
	if(!theApp.ADOExecute(MySet,_strSQL)) return ;
	m_ListCtrl.DeleteAllItems();
	while(!MySet->adoEOF){
		Holder=MySet->GetCollect("NodeId");
		strTAttachmentID = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
		Holder=MySet->GetCollect("BookMark");
		strFileName = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
		m_ListCtrl.InsertItem(i,strTAttachmentID);//NodeName
		m_ListCtrl.SetItemText(i,1,strFileName);
		i++;
		MySet->MoveNext();
	}
	if(adStateOpen==MySet->State)	MySet->Close();
	MySet.Release();
}

void CMainFrame::OnConnction()
{
	// TODO: 在此添加命令处理程序代码
	CString strPath;
	static char BASED_CODE szFilter[] =
			"TAttachment Files (*.mdb)|*.mdb|";

	CFileDialog dlg(TRUE,NULL,NULL,NULL,szFilter);

	if(dlg.DoModal() == IDOK)
	{
		strPath = dlg.GetPathName();
		theApp.ADOConniction(strPath);
		MyNodes.clear();
		m_wndTree.DeleteAllItems();
		hti = m_wndTree.InsertItem(_T("我的资料管理目录"));
		InitNodeFile(hti,"0");
		m_wndTree.Expand(hti, TVE_EXPAND);
		//m_strFileName=dlg.GetFileName();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -