123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- YLGL.exe客户端权限添加步骤:
- 1、数据库[user]表,需要在字段[rights]最后的位置n后面,加1位数表示该权限。
- 2、在客户端界面操作的函数中,添加判断,如下:
- void CxxDlg::OnxxxBtnClick()
- {
- if ( !IsHasRights2new(n-1) )
- {
- AfxMessageBox(_T("您未具有该操作权限!"),MB_ICONINFORMATION);
- return;
- }
- }
- 3、在类Account类中再进行处理以下几个函数:
- /////////////////////////////////////////////////////////////////////////////////////////////////////////
- // 注意:这个类里面的Check按钮,必须是按顺序生成的,如IDC_CHECK1~IDC_CHECKn 的值都是连续,且与[user].[rights]字段对应;
- // 所以,在添加新权限时,必须添加对应的IDC_CHECKn, 如果中间有几个没用到,也是要添加,只要设置不可见即可!
- /////////////////////////////////////////////////////////////////////////////////////////////////////////
- void Account::ClearCtrl()
- {
- m_account = _T("");
- m_psw = _T("");
- m_psw2 = _T("");
- m_comboname.SetCurSel(-1);
- UpdateData(false);
- // 根据在[user].[rights]字段中有效位数n来替换63这个数字;
- for (int i = 0; i < 63; i++)
- ((CButton*)GetDlgItem(IDC_CHECK1 + i))->SetCheck(0);
- }
- CString Account::GetRights()
- {
- CString ret, temp;
- // 根据在[user].[rights]字段中有效位数n来替换63这个数字;
- for (int i = 0; i < 63; i++)
- {
- temp.Format(_T("%d"), ((CButton*)GetDlgItem(IDC_CHECK1 + i))->GetCheck());
- ret += temp;
- }
-
- return ret;
- }
- void Account::SetRights(CString rights)
- {
- for (int i = 0; i < rights.GetLength(); i++)
- {
- // 根据在[user].[rights]字段中有效位数n来替换63这个数字;
- if (i >= 63)
- break;
- ((CButton*)GetDlgItem(IDC_CHECK1 + i))->SetCheck(rights.GetAt(i) == _T('1'));
- }
- // 根据在[user].[rights]字段中有效位数n来替换63这个数字;
- for (i = rights.GetLength(); i < 63; i++)
- {
- ((CButton*)GetDlgItem(IDC_CHECK1 + i))->SetCheck(0);
- }
- }
- void Account::OnBUTbm6()
- {
- POSITION pos;
- pos = m_List1.GetFirstSelectedItemPosition();
- if (pos)
- {
- int iItem = m_List1.GetNextSelectedItem(pos);
- CString account = m_List1.GetItemText(iItem, 0);
- if (account == _T("admin"))
- {
- // 根据在[user].[rights]字段中有效位数n来重置这串字符;
- SetRights(_T("
- 0000000000\
- 0000000000\
- 0000000000\
- 0000000000\
- 0000000001\
- 0000000000\
- 000"));
- return;
- }
- }
- // 根据在[user].[rights]字段中有效位数n来重置这串字符;
- SetRights(_T("\
- 0000000000\
- 0000000000\
- 0000000000\
- 0000000000\
- 0000000000\
- 0000000000\
- 000"));
- }
- void Account::OnBUTbm5()
- {
- // 根据在[user].[rights]字段中有效位数n来重置这串字符;
- SetRights(_T("\
- 1111111111\
- 1111111111\
- 1111111111\
- 1111111111\
- 1111111111\
- 1111111111\
- 111"));
- BOOL bCheck = ((CButton*)GetDlgItem(IDC_CHECK50))->GetCheck();
- ((CButton*)GetDlgItem(IDC_CHECK50))->SetCheck(!bCheck);
- }
- 4.至此,全部完毕。
|