📄 softdocch.cpp
字号:
{
// TODO: Add your control notification handler code here
UpdateData();
m_Number.TrimRight(" ");
if(m_Number.IsEmpty()){AfxMessageBox("没有可修改的信息!");return;}
int Geshi[6];
// TODO: Add your control notification handler code here
if(m_SoftName==""){AfxMessageBox("请输入软件名");return;}
if(m_Author==""){AfxMessageBox("请输入作者姓名");return;}
if(m_Xinghao=="")
{AfxMessageBox("请输入所属型号名称");return;}
if(m_Context==""){AfxMessageBox("请输入功能描述");return;}
if(m_SoftType==""){AfxMessageBox("清输入软件类型");return;}
m_Xitong.TrimRight(" ");
m_Author.TrimRight(" ");
m_SoftName.TrimRight (" ");
m_Xinghao.TrimRight(" ");
m_Context.TrimLeft (" ");
m_Context.TrimRight (" ");
//判断存档格式
if(((CButton*)GetDlgItem(IDC_CHECK1))->GetCheck())Geshi[1]=1;
if(((CButton*)GetDlgItem(IDC_CHECK2))->GetCheck())Geshi[2]=1;
if(((CButton*)GetDlgItem(IDC_CHECK3))->GetCheck())Geshi[3]=1;
if(((CButton*)GetDlgItem(IDC_CHECK4))->GetCheck())Geshi[4]=1;
if(((CButton*)GetDlgItem(IDC_CHECK5))->GetCheck())Geshi[5]=1;
//格式是否已经选择
int IsSelected,i;
CString g[6],mystr[6],str1;
IsSelected=0;
CTime tm=CTime::GetCurrentTime ();
str1.Format ("%d-%d-%d",tm.GetYear (),tm.GetMonth (),tm.GetDay ());
for(i=1;i<6;i++)
{if(Geshi[i]==1){IsSelected+=1;
g[i]="在家";
//mystr[i]=str1;
}
else
g[i]="无";
}
if(IsSelected==0 ){AfxMessageBox("请输入软件格式!");return;}
//输入软件数据
CString sql_;
GetDlgItem(IDC_BUTTON1)->EnableWindow(false);
sql_.GetBuffer(500);
sql_.Format("UPDATE SoftDocInfo SET 软件名称='%s',作者='%s',数量='%s',软件类型='%s',所属型号='%s',所属系统='%s',软盘1='%s',光盘='%s',硬盘='%s',文本='%s',其他='%s',软件功能描述='%s' WHERE 软件编号='%s'",m_SoftName,m_Author,m_SoftType,m_Xinghao,m_Xitong,g[1],g[2],g[3],g[4],g[5],m_Context,m_Number);
_bstr_t sql=sql_;
AfxMessageBox(sql_);
try{
m_DBCnt->Execute(sql,NULL,adCmdText);}
catch(_com_error &e){
AfxMessageBox(e.ErrorMessage());return;}
AfxMessageBox("你的信息已成功修改!");
if(m_Log.Setup (m_DBCnt))
m_Log.Addlog ("管理员","文档数据修改",m_SoftName);//操作日志
}
void CSoftDocCh::OnInput()
{
// TODO: Add your control notification handler code here
CDialog::OnCancel();
CMovieIn dlg;
dlg.DoModal ();
//if(m_Log.Setup (m_DBCnt))m_Log.Addlog ("访问者","登录","未知");//操作日志
}
void CSoftDocCh::OntheNext()
{
// TODO: Add your control notification handler code here
}
void CSoftDocCh::OnCancel()
{
// TODO: Add extra cleanup here
if(m_DBCnt->GetState ()==adStateOpen)
m_DBCnt->Close();
CDialog::OnCancel();
}
void CSoftDocCh::Initiate()
{//初始化列表旷
m_list.DeleteAllItems ();
m_list.InsertColumn (0,"软件名称");
m_list.InsertColumn (1,"作者");
m_list.InsertColumn (2,"软件类型");
m_list.InsertColumn (3,"所属型号");
m_list.InsertColumn (4,"所属系统");
m_list.InsertColumn (5,"软件编号");
m_list.InsertColumn(6,"软盘");
m_list.InsertColumn(7,"光盘");
m_list.InsertColumn(8,"硬盘");
m_list.InsertColumn(9,"文本");
m_list.InsertColumn(10,"其他");
m_list.InsertColumn (11,"软件功能描述");
RECT rect;
m_list.GetWindowRect(& rect);
int wid=(rect.right -rect.left )/7;
m_list.SetColumnWidth(0,wid);
m_list.SetColumnWidth(1,wid);
m_list.SetColumnWidth(2,wid);
m_list.SetColumnWidth(3,wid);
m_list.SetColumnWidth(4,wid);
m_list.SetColumnWidth(5,wid);
m_list.SetColumnWidth(6,wid/2);
m_list.SetExtendedStyle (LVS_EX_FULLROWSELECT);
//初始化型号名旷
CString sql_;
_variant_t Holder;
sql_.Format ("SELECT DISTINCT 型号名 FROM XingHao");
_RecordsetPtr Myset;
Myset.CreateInstance (__uuidof(Recordset));
_bstr_t source= m_strSource;
_bstr_t Mysql=sql_;
try{
Myset->Open (Mysql,source,adOpenDynamic,adLockOptimistic,adCmdText);
}
catch(_com_error &e){
AfxMessageBox(e.ErrorMessage());}
while(!Myset->adoEOF ){
Holder=Myset->GetCollect ("型号名");
if(Holder.vt!=VT_NULL)
m_XinghaoCtrl.AddString((char*)(_bstr_t)Holder);
Myset->MoveNext ();
}
Myset->Close();
//初始化所属系统旷
sql_.Format ("SELECT DISTINCT 系统名 FROM SystemName");
Myset.CreateInstance (__uuidof(Recordset));
_bstr_t Mysql2=sql_;
try{
Myset->Open (Mysql2,source,adOpenDynamic,adLockOptimistic,adCmdText);
}
catch(_com_error &e){
AfxMessageBox(e.ErrorMessage());}
while(!Myset->adoEOF ){
Holder=Myset->GetCollect ("系统名");
if(Holder.vt!=VT_NULL)
m_XitongCtrl.AddString((char*)(_bstr_t)Holder);
Myset->MoveNext ();
}
Myset->Close();
//初始化作者名
sql_.Format ("SELECT DISTINCT 作者名 FROM Author");
Myset.CreateInstance (__uuidof(Recordset));
_bstr_t Mysql3=sql_;
try{
Myset->Open (Mysql3,source,adOpenDynamic,adLockOptimistic,adCmdText);
}
catch(_com_error &e){
AfxMessageBox(e.ErrorMessage());return;}
while(!Myset->adoEOF ){
Holder=Myset->GetCollect ("作者名");
if(Holder.vt!=VT_NULL)
m_AuthorCtrl.AddString((char*)(_bstr_t)Holder);
Myset->MoveNext ();
}
Myset->Close();
}
void CSoftDocCh::OnChoose(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int i=m_list.GetSelectionMark();
CString mystr;
m_SoftName=m_list.GetItemText(i,0);
GetDlgItem(IDC_COMBO3)->SetWindowText(m_SoftName);
m_Author=m_list.GetItemText(i,1);
GetDlgItem(IDC_COMBO5)->SetWindowText(m_Author);
m_SoftType=m_list.GetItemText(i,2);
GetDlgItem(IDC_COMBO1)->SetWindowText(m_SoftType);
m_Xinghao=m_list.GetItemText(i,3);
GetDlgItem(IDC_COMBO4)->SetWindowText(m_Xinghao);
m_Xitong=m_list.GetItemText(i,4);
GetDlgItem(IDC_COMBO6)->SetWindowText(m_Xitong);
m_Number=m_list.GetItemText(i,5);
GetDlgItem(IDC_EDIT1)->SetWindowText(m_Number);
m_Context=m_list.GetItemText(i,11);
GetDlgItem(IDC_EDIT5)->SetWindowText(m_Context);
mystr=m_list.GetItemText(i,6);
if(!mystr.IsEmpty())
{((CButton*)GetDlgItem(IDC_CHECK1))->SetCheck(false);
((CButton*)GetDlgItem(IDC_CHECK2))->SetCheck(false);
((CButton*)GetDlgItem(IDC_CHECK3))->SetCheck(false);
((CButton*)GetDlgItem(IDC_CHECK4))->SetCheck(false);
((CButton*)GetDlgItem(IDC_CHECK5))->SetCheck(false);
GetDlgItem(IDC_CHECK1)->EnableWindow(true);
GetDlgItem(IDC_CHECK2)->EnableWindow(true);
GetDlgItem(IDC_CHECK3)->EnableWindow(true);
GetDlgItem(IDC_CHECK4)->EnableWindow(true);
GetDlgItem(IDC_CHECK5)->EnableWindow(true);
}
mystr.TrimRight (" ");
if(mystr=="在家")
((CButton*)GetDlgItem(IDC_CHECK1))->SetCheck(true);
if(mystr!="无")
GetDlgItem(IDC_CHECK1)->EnableWindow(false);
mystr=m_list.GetItemText(i,7);
mystr.TrimRight (" ");
if(mystr==_T("在家"))
((CButton*)GetDlgItem(IDC_CHECK2))->SetCheck(true);
if(mystr!="无")
GetDlgItem(IDC_CHECK2)->EnableWindow(false);
mystr=m_list.GetItemText(i,8);
mystr.TrimRight (" ");
if(mystr==_T("在家"))
((CButton*)GetDlgItem(IDC_CHECK3))->SetCheck(true);
else
if(mystr!="无")
GetDlgItem(IDC_CHECK3)->EnableWindow(false);
mystr=m_list.GetItemText(i,9);
mystr.TrimRight (" ");
if(mystr==_T("在家"))
((CButton*)GetDlgItem(IDC_CHECK4))->SetCheck(true);
if(mystr!="无")
GetDlgItem(IDC_CHECK4)->EnableWindow(false);
mystr=m_list.GetItemText(i,10);
mystr.TrimRight (" ");
if(mystr==_T("在家"))
((CButton*)GetDlgItem(IDC_CHECK5))->SetCheck(true);
if(mystr!="无")
GetDlgItem(IDC_CHECK5)->EnableWindow(false);
UpdateData(true);
*pResult = 0;
}
void CSoftDocCh::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult)
{
POSITION pos=m_list.GetFirstSelectedItemPosition();
if(pos==NULL)return;//判断是否选中记录
int i=m_list.GetSelectionMark ();
CString strColText[11];
CString strItemText[11];
CString OutPutStr="";
LVCOLUMN lvc;
char text[100];
lvc.mask = LVCF_TEXT|LVCF_SUBITEM;
lvc.pszText = text;
lvc.cchTextMax = 100;
int shumu=m_list.GetItemCount ();
for(int j=0;j<11;j++)
{
m_list.GetColumn(j, &lvc);
strColText[j] = lvc.pszText;
strItemText[j]=m_list.GetItemText(i,j);
OutPutStr=OutPutStr+strColText[j]+":"+strItemText[j]+_T("\n");
}
AfxMessageBox(OutPutStr);
*pResult = 0;
}
void CSoftDocCh::OnDestroy()
{
CDialog::OnDestroy();
if(m_DBCnt->GetState()==adStateOpen)
m_DBCnt->Close();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -