DataSrcDlg.cpp
上传用户:zhanglf88
上传日期:2013-11-19
资源大小:6036k
文件大小:4k
源码类别:

金融证券系统

开发平台:

Visual C++

  1. // DataSrcDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "DataSrcDlg.h"
  5. #ifdef _DEBUG
  6. #define new DEBUG_NEW
  7. #undef THIS_FILE
  8. static char THIS_FILE[] = __FILE__;
  9. #endif
  10. /////////////////////////////////////////////////////////////////////////////
  11. // CDataSrcDlg dialog
  12. CDataSrcDlg::CDataSrcDlg(CWnd* pParent /*=NULL*/)
  13. : CDialog(CDataSrcDlg::IDD, pParent)
  14. {
  15. //{{AFX_DATA_INIT(CDataSrcDlg)
  16. m_strQLPath = _T("");
  17. //}}AFX_DATA_INIT
  18. }
  19. void CDataSrcDlg::DoDataExchange(CDataExchange* pDX)
  20. {
  21. CDialog::DoDataExchange(pDX);
  22. //{{AFX_DATA_MAP(CDataSrcDlg)
  23. DDX_Control(pDX, IDCANCEL, m_btnCancel);
  24. DDX_Control(pDX, IDOK, m_btnOK);
  25. DDX_Control(pDX, IDC_QLTEST, m_btnQLTest);
  26. DDX_Control(pDX, IDC_QLEXPLORER, m_btnQLExplorer);
  27. DDX_Control(pDX, IDC_EDIT_QLPATH, m_editQLPath);
  28. DDX_Control(pDX, IDC_CHECK_QIANLONG, m_btnCheckQianlong);
  29. DDX_Text(pDX, IDC_EDIT_QLPATH, m_strQLPath);
  30. //}}AFX_DATA_MAP
  31. }
  32. BEGIN_MESSAGE_MAP(CDataSrcDlg, CDialog)
  33. //{{AFX_MSG_MAP(CDataSrcDlg)
  34. ON_BN_CLICKED(IDC_CHECK_QIANLONG, OnCheckQianlong)
  35. ON_BN_CLICKED(IDC_QLEXPLORER, OnQlexplorer)
  36. ON_BN_CLICKED(IDC_QLTEST, OnQltest)
  37. //}}AFX_MSG_MAP
  38. END_MESSAGE_MAP()
  39. /////////////////////////////////////////////////////////////////////////////
  40. // CDataSrcDlg message handlers
  41. BOOL CDataSrcDlg::OnInitDialog() 
  42. {
  43. CDialog::OnInitDialog();
  44. // TODO: Add extra initialization here
  45. CString strOldQLPath = AfxGetProfile().GetQianlongPath();
  46. if( strOldQLPath.GetLength() > 0 )
  47. {
  48. m_btnCheckQianlong.SetCheck( 1 );
  49. m_editQLPath.SetWindowText( strOldQLPath );
  50. }
  51. else
  52. {
  53. m_editQLPath.EnableWindow( FALSE );
  54. m_btnQLExplorer.EnableWindow( FALSE );
  55. m_btnQLTest.EnableWindow( FALSE );
  56. }
  57. return TRUE;  // return TRUE unless you set the focus to a control
  58.               // EXCEPTION: OCX Property Pages should return FALSE
  59. }
  60. void CDataSrcDlg::OnCheckQianlong() 
  61. {
  62. // TODO: Add your control notification handler code here
  63. int nCheck = m_btnCheckQianlong.GetCheck();
  64. m_editQLPath.EnableWindow( nCheck );
  65. m_btnQLExplorer.EnableWindow( nCheck );
  66. m_btnQLTest.EnableWindow( nCheck );
  67. }
  68. void CDataSrcDlg::OnQlexplorer() 
  69. {
  70. // TODO: Add your control notification handler code here
  71. UpdateData( TRUE );
  72. if( AfxDoSelectDirectory( m_strQLPath ) )
  73. {
  74. UpdateData( FALSE );
  75. CNetDatabase testdb;
  76. if( !testdb.SetRootPath( m_strQLPath, IStStore::dbtypeQianlong ) )
  77. {
  78. AfxMessageBox( IDS_ERROR_QIANLONGPATH, MB_OK | MB_ICONINFORMATION );
  79. }
  80. }
  81. }
  82. void CDataSrcDlg::OnQltest() 
  83. {
  84. // TODO: Add your control notification handler code here
  85. UpdateData( );
  86. CNetDatabase testdb;
  87. if( !testdb.SetRootPath( m_strQLPath, IStStore::dbtypeQianlong ) )
  88. {
  89. AfxMessageBox( IDS_ERROR_QIANLONGPATH, MB_OK | MB_ICONINFORMATION );
  90. }
  91. else
  92. {
  93. AfxMessageBox( IDS_TESTOK_QIANLONGPATH, MB_OK | MB_ICONINFORMATION );
  94. }
  95. }
  96. void CDataSrcDlg::OnOK() 
  97. {
  98. // TODO: Add extra validation here
  99. UpdateData( );
  100. int nCheck = m_btnCheckQianlong.GetCheck();
  101. if( !nCheck )
  102. m_strQLPath = "";
  103. if( !m_strQLPath.IsEmpty() )
  104. {
  105. CNetDatabase testdb;
  106. if( !testdb.SetRootPath( m_strQLPath, IStStore::dbtypeQianlong )
  107. && IDNO == AfxMessageBox( IDS_CONFIRM_ERRORQIANLONGPATH, MB_YESNO ) )
  108. {
  109. m_editQLPath.SetFocus();
  110. return;
  111. }
  112. }
  113. CString strOldQLPath = AfxGetProfile().GetQianlongPath();
  114. AfxGetProfile().SetQianlongPath( m_strQLPath );
  115. if( AfxReleaseDB( ) && AfxInitializeDB( NULL, 0 ) )
  116. {
  117. AfxMessageBox( IDS_SUCCESS_QIANLONGPATH, MB_OK | MB_ICONINFORMATION );
  118. CDialog::OnOK();
  119. }
  120. else
  121. {
  122. AfxMessageBox( IDS_ERROR_QIANLONGPATH, MB_OK | MB_ICONINFORMATION );
  123. AfxGetProfile().SetQianlongPath( strOldQLPath );
  124. AfxReleaseDB( );
  125. char szErr[1024];
  126. if( !AfxInitializeDB( szErr, sizeof(szErr) ) ) AfxMessageBox( szErr, MB_OK|MB_ICONINFORMATION );
  127. m_editQLPath.SetFocus();
  128. return;
  129. }
  130. }