📄 syssetup.cpp
字号:
cbSize = 100;
QuerySet = sValue.GetBufferSetLength(cbSize + 1);
QueryKey(sName, REG_SZ, (BYTE *)QuerySet, cbSize);
sValue = QuerySet;
if (sValue.IsEmpty())
return 0;
CloseKey();
return ::atoi(sValue);
}
void CSysSetUp::SetStringItem(const CString &sItem, const CString &sKey, const CString &sName)
{
OpenKey(HKEY_LOCAL_MACHINE, sKey);
SetKey(sName, REG_SZ, (LPCTSTR)sItem, sItem.GetLength());
CloseKey();
}
CString CSysSetUp::GetStringItem(const CString &sKey, const CString &sName)
{
CString sValue = _T("");
LPSTR QuerySet = NULL;
DWORD cbSize;
OpenKey(HKEY_LOCAL_MACHINE, sKey);
cbSize = 100;
QuerySet = sValue.GetBufferSetLength(cbSize + 1);
QueryKey(sName, REG_SZ, (BYTE *)QuerySet, cbSize);
sValue = QuerySet;
return sValue;
}
//设置和保存标志位
void CSysSetUp::SetFlag(int nFlag)
{
SetItem(nFlag, _T("SOFTWARE\\IPCount"), _T("nFlag"));
}
int CSysSetUp::GetFlag()
{
return GetItem(_T("SOFTWARE\\IPCount"), _T("nFlag"));
}
//设置和保存退出扎帐标志位
void CSysSetUp::SetQuitFlag(int nQuitFlag)
{
SetItem(nQuitFlag, _T("SOFTWARE\\IPCount"), _T("nQuitFlag"));
}
int CSysSetUp::GetQuitFlag()
{
return GetItem(_T("SOFTWARE\\IPCount"), _T("nQuitFlag"));
}
//设置和保存立即打印标志位
void CSysSetUp::SetPrintFlag(int nPrintFlag)
{
SetItem(nPrintFlag, _T("SOFTWARE\\IPCount"), _T("nPrintFlag"));
}
int CSysSetUp::GetPrintFlag()
{
return GetItem(_T("SOFTWARE\\IPCount"), _T("nPrintFlag"));
}
//设置和保存时段优惠标志位
void CSysSetUp::SetSaleCutFlag(int nSaleCutFlag)
{
SetItem(nSaleCutFlag, _T("SOFTWARE\\IPCount"), _T("nSaleCutFlag"));
}
int CSysSetUp::GetSaleCutFlag()
{
return GetItem(_T("SOFTWARE\\IPCount"), _T("nSaleCutFlag"));
}
//设置和保存单联打印标志位
void CSysSetUp::SetPrintOneFlag(int nPrintOneFlag)
{
SetItem(nPrintOneFlag, _T("SOFTWARE\\IPCount"), _T("nPrintOneFlag"));
}
int CSysSetUp::GetPrintOneFlag()
{
return GetItem(_T("SOFTWARE\\IPCount"), _T("nPrintOneFlag"));
}
//设置和保存是否配置ODBC
void CSysSetUp::SetODBCFlag(int nODBCFlag)
{
SetItem(nODBCFlag, _T("SOFTWARE\\IPCount"), _T("nODBCFlag"));
}
int CSysSetUp::GetODBCFlag()
{
return GetItem(_T("SOFTWARE\\IPCount"), _T("nODBCFlag"));
}
//设置ODBC配置
void CSysSetUp::SetODBCDataSources(const CString &strTitle)
{
SetStringItem(strTitle, _T("SOFTWARE\\ODBC\\ODBC.INI\\ODBC Data Sources"), _T("IPCount"));
}
void CSysSetUp::SetODBCDBQ(const CString &strTitle)
{
SetStringItem(strTitle, _T("SOFTWARE\\ODBC\\ODBC.INI\\IPCount"), _T("DBQ"));
}
void CSysSetUp::SetODBCDriver(const CString &strTitle)
{
SetStringItem(strTitle, _T("SOFTWARE\\ODBC\\ODBC.INI\\IPCount"), _T("Driver"));
}
/*写字符串类型值
void CSysSetUp::SetODBCDriverId(const CString &strTitle)
{
SetStringItem(strTitle, _T("SOFTWARE\\ODBC\\ODBC.INI\\IPCount"), _T("DriverId"));
}
*/
//写DWORD类型值
void CSysSetUp::SetODBCDriverId(DWORD dwVal)
{
OpenKey(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\ODBC\\ODBC.INI\\IPCount"));
if(::RegSetValueEx(m_hKey,
_T("DriverId"),
0,
REG_DWORD,
(CONST BYTE*) &dwVal, sizeof(DWORD)) != ERROR_SUCCESS)
{;}
CloseKey();
}
void CSysSetUp::SetODBCJet(const CString &strTitle)
{
SetStringItem(strTitle, _T("SOFTWARE\\ODBC\\ODBC.INI\\IPCount\\Engines\\Jet"), _T("UserCommitSync"));
}
void CSysSetUp::OnRadioDown()
{
// TODO: Add your control notification handler code here
SetRadio(1);
}
void CSysSetUp::OnRadioNodown()
{
// TODO: Add your control notification handler code here
SetRadio(2);
}
//设置和保存选择的radio 号
void CSysSetUp::SetRadio(int nRadioNum)
{
SetItem(nRadioNum, _T("SOFTWARE\\IPCount"), _T("nRadioNum"));
}
int CSysSetUp::GetRadio()
{
return GetItem(_T("SOFTWARE\\IPCount"), _T("nRadioNum"));
}
//设置是否允许追加押金
void CSysSetUp::SetAddMoneyFlag(int nAddFlag)
{
SetItem(nAddFlag, _T("SOFTWARE\\IPCount"), _T("nAddFlag"));
}
int CSysSetUp::GetAddMoneyFlag()
{
return GetItem(_T("SOFTWARE\\IPCount"), _T("nAddFlag"));
}
//设置是否是无押金模式
void CSysSetUp::SetNoPreMoney(int nNoPreMoney)
{
SetItem(nNoPreMoney, _T("SOFTWARE\\IPCount"), _T("nNoPreMoney"));
}
int CSysSetUp::GetNoPreMoney()
{
return GetItem(_T("SOFTWARE\\IPCount"), _T("nNoPreMoney"));
}
//设置流水号
void CSysSetUp::SetTelIndex(const CString &sTelIndex)
{
SetStringItem(sTelIndex, _T("SOFTWARE\\IPCount"), _T("TelIndex"));
}
CString CSysSetUp::GetTelIndex()
{
CString sTelIndex = GetStringItem(_T("SOFTWARE\\IPCount"), _T("TelIndex"));
if (sTelIndex.IsEmpty())
sTelIndex = _T("00000");
return sTelIndex;
}
//设置流水号
void CSysSetUp::SetUpSpace(const CString &sUpSpace)
{
SetStringItem(sUpSpace, _T("SOFTWARE\\IPCount"), _T("UpSpace"));
}
CString CSysSetUp::GetUpSpace()
{
CString sUpSpace = GetStringItem(_T("SOFTWARE\\IPCount"), _T("UpSpace"));
if (sUpSpace.IsEmpty())
sUpSpace = _T("");
return sUpSpace;
}
//设置程序启动时的日期
void CSysSetUp::SetCurDay(const CString &sCurDay)
{
SetStringItem(sCurDay, _T("SOFTWARE\\IPCount"), _T("CurDay"));
}
CString CSysSetUp::GetCurDay()
{
CString sCurDay = GetStringItem(_T("SOFTWARE\\IPCount"), _T("CurDay"));
return sCurDay;
}
//为每一线设置押金
void CSysSetUp::SetMoneyLine(const CString &strMoney,const CString &strLine)
{
SetStringItem(strMoney, _T("SOFTWARE\\IPCount"), strLine);
}
CString CSysSetUp::GetMoneyLine(const CString &strLine)
{
CString strMoney=GetStringItem(_T("SOFTWARE\\IPCount"), strLine);
if(strMoney.IsEmpty())
strMoney=_T("100");
return strMoney;
}
void CSysSetUp::OnCancel()
{
// TODO: Add extra cleanup here
CIPCountDlg *cdlg;
cdlg=(CIPCountDlg *)GetParent();
if(cdlg==NULL)
return;
//保存串口设置信息
UpdateData(TRUE);
CString sIniFile = cdlg->GetCurrentPath("IPCount.ini");
int nGw1Com = atoi(m_strComboGw1);
int nGw2Com = atoi(m_strComboGw2);
if (strcmp(m_strComboGw1, m_strComboGw2) == 0)
{
AfxMessageBox("请选择不同的端口!");
return;
}
WritePrivateProfileString( "IPCount::Common", "Lines", m_strComboLine/*NULL表示删除*/, sIniFile);
WritePrivateProfileString( "IPCount::Common", "GW1", m_strComboGw1/*NULL表示删除*/, sIniFile);
WritePrivateProfileString( "IPCount::Common", "GW2", m_strComboGw2/*NULL表示删除*/, sIniFile);
cdlg->nOperateLines = atoi(m_strComboLine);
cdlg->nGwCom[0] = atoi(m_strComboGw1);
if (!m_strComboGw2.IsEmpty())
cdlg->nGwCom[1] = atoi(m_strComboGw2);
for (int i=0; i<nMaxPort; i++)
{
if (cdlg->nGwCom[i]<100)
{
cdlg->bOpenCom[i] = cdlg->InitCom(i+1, cdlg->nGwCom[i]);
if (cdlg->bOpenCom[i])
cdlg->SendData("0d", cdlg->nGwCom[i]);
//else
// return;
}
}
cdlg->bSystem=FALSE;
CDialog::OnCancel();
DestroyWindow();
}
void CSysSetUp::OnSysSetup()
{
// TODO: Add your control notification handler code here
CPreMoneySetup pdlg;
pdlg.DoModal();
}
void CSysSetUp::ResetGrid(int nValue)
{
for(int nGridCount=1;nGridCount<nValue+1;nGridCount++)
{
m_UserGrid.SetTextMatrix(nGridCount,0,"");
m_UserGrid.SetTextMatrix(nGridCount,1,"");
m_UserGrid.SetTextMatrix(nGridCount,2,"");
}
}
void CSysSetUp::OnCheckQuit()
{
// TODO: Add your control notification handler code here
m_bCheckQuit=!m_bCheckQuit;
if(m_bCheckQuit)
{
SetQuitFlag(1);
}
else
{
SetQuitFlag(0);
}
}
void CSysSetUp::OnCheckPrint()
{
// TODO: Add your control notification handler code here
m_bCheckPrint=!m_bCheckPrint;
if(m_bCheckPrint)
{
SetPrintFlag(1);
}
else
{
SetPrintFlag(0);
}
}
void CSysSetUp::OnButtonPrint()
{
// TODO: Add your control notification handler code here
pdlg->DoModal();
}
void CSysSetUp::ReadFromFile()
{
SQLHENV henv = NULL;
SQLHDBC hdbc = NULL;
BOOL bIsConnected = FALSE;
SQLHSTMT hstmt = NULL;
SQLRETURN rc;
SWORD sMsgNum = 0;
SDWORD pfNative=0;
for (int k=0;k<10;k++)
strLanWidth[k]="";
if (SQL_SUCCESS == (rc =::SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv)))
{
if (SQL_SUCCESS == (rc = ::SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION, (SQLPOINTER) SQL_OV_ODBC3,SQL_IS_INTEGER)))
{
if (SQL_SUCCESS == (rc =::SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc)))
{
rc = ::SQLConnect(hdbc,(SQLCHAR*)"IPCount",SQL_NTS,(SQLCHAR*)"", SQL_NTS, (SQLCHAR*)"", SQL_NTS);
if ((SQL_SUCCESS == rc)|| (SQL_SUCCESS_WITH_INFO == rc))
{
bIsConnected = TRUE;
if (SQL_SUCCESS == (rc =::SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt)))
{
CString strChar='\'';
CString strSQL="";
strSQL="select * from PrintTb";
LPCSTR szSQL =strSQL;
if (SQL_SUCCESS == (rc = ::SQLPrepare(hstmt,(unsigned char*)szSQL, SQL_NTS)))
{
if (SQL_SUCCESS == (rc = ::SQLExecute(hstmt)))
{
SDWORD cb;
char sz1[10]="";
char sz2[10]="";
char sz3[10]="";
char sz4[10]="";
char sz5[10]="";
char sz6[10]="";
char sz7[10]="";
char sz8[10]="";
char sz9[10]="";
char sz10[10]="";
//SQLBindCol(hstmt,1,SQL_C_CHAR,sz1,10,&cb);
SQLBindCol(hstmt,2,SQL_C_CHAR,sz2,10,&cb);
SQLBindCol(hstmt,3,SQL_C_CHAR,sz3,10,&cb);
SQLBindCol(hstmt,4,SQL_C_CHAR,sz4,10,&cb);
SQLBindCol(hstmt,5,SQL_C_CHAR,sz5,10,&cb);
SQLBindCol(hstmt,6,SQL_C_CHAR,sz6,10,&cb);
SQLBindCol(hstmt,7,SQL_C_CHAR,sz7,10,&cb);
SQLBindCol(hstmt,8,SQL_C_CHAR,sz8,10,&cb);
SQLBindCol(hstmt,9,SQL_C_CHAR,sz9,10,&cb);
SQLBindCol(hstmt,10,SQL_C_CHAR,sz10,10,&cb);
rc = SQLFetch(hstmt);
nPrintGridCount=0;
while (SQL_SUCCESS == rc)
{
nPrintGridCount++;
//重新初始化每一个变量
if(nPrintGridCount==1)
{
strLanWidth[0]=sz2;
strLanWidth[1]=sz3;
strLanWidth[2]=sz4;
strLanWidth[3]=sz5;
strLanWidth[4]=sz6;
strLanWidth[5]=sz7;
strLanWidth[6]=sz8;
strLanWidth[7]=sz9;
strLanWidth[8]=sz10;
}
pdlg->m_PrintGrid.SetTextMatrix(nPrintGridCount,1,sz2);
pdlg->m_PrintGrid.SetTextMatrix(nPrintGridCount,2,sz3);
pdlg->m_PrintGrid.SetTextMatrix(nPrintGridCount,3,sz4);
pdlg->m_PrintGrid.SetTextMatrix(nPrintGridCount,4,sz5);
pdlg->m_PrintGrid.SetTextMatrix(nPrintGridCount,5,sz6);
pdlg->m_PrintGrid.SetTextMatrix(nPrintGridCount,6,sz7);
pdlg->m_PrintGrid.SetTextMatrix(nPrintGridCount,7,sz8);
pdlg->m_PrintGrid.SetTextMatrix(nPrintGridCount,8,sz9);
pdlg->m_PrintGrid.SetTextMatrix(nPrintGridCount,9,sz10);
strcpy((char *)sz1,LPCTSTR(""));
strcpy((char *)sz2,LPCTSTR(""));
strcpy((char *)sz3,LPCTSTR(""));
strcpy((char *)sz4,LPCTSTR(""));
strcpy((char *)sz5,LPCTSTR(""));
strcpy((char *)sz6,LPCTSTR(""));
strcpy((char *)sz7,LPCTSTR(""));
strcpy((char *)sz8,LPCTSTR(""));
strcpy((char *)sz9,LPCTSTR(""));
strcpy((char *)sz10,LPCTSTR(""));
rc = SQLFetch(hstmt);
}
}
}
}
}
}
}
}
if (henv)
{
if (hdbc)
{
if (bIsConnected)
{
if (hstmt)
{
::SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
}
::SQLDisconnect(hdbc);
bIsConnected = FALSE;
}
::SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
hdbc = NULL;
}
::SQLFreeHandle(SQL_HANDLE_ENV, henv);
henv = NULL;
}
}
//点击启用优惠时段的check box
void CSysSetUp::OnCheckSalecut()
{
// TODO: Add your control notification handler code here
m_bCheckSaleCut=!m_bCheckSaleCut;
if(m_bCheckSaleCut)
{
SetSaleCutFlag(1);
}
else
{
SetSaleCutFlag(0);
}
}
BEGIN_EVENTSINK_MAP(CSysSetUp, CDialog)
//{{AFX_EVENTSINK_MAP(CSysSetUp)
ON_EVENT(CSysSetUp, IDC_MSFLEXGRID_USER, -600 /* Click */, OnClickMsflexgridUser, VTS_NONE)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
void CSysSetUp::OnClickMsflexgridUser()
{
// TODO: Add your control notification handler code here
m_strOName=m_UserGrid.GetTextMatrix(m_UserGrid.GetRow(),0);
m_strOPswd1=m_strOPswd2=m_UserGrid.GetTextMatrix(m_UserGrid.GetRow(),1);
m_strLevel=m_UserGrid.GetTextMatrix(m_UserGrid.GetRow(),2);
UpdateData(FALSE);
}
void CSysSetUp::OnSelchangeComboLine()
{
// TODO: Add your control notification handler code here
int nTempLine = m_eComboLine.GetCurSel();
if (nTempLine >= 1)
m_eComboGw2.EnableWindow(TRUE);
else
m_eComboGw2.EnableWindow(FALSE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -