SysIni.cpp
上传用户:latoyin
上传日期:2017-10-19
资源大小:2882k
文件大小:4k
源码类别:

数据库系统

开发平台:

Visual C++

  1. // SysIni.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "Equipment.h"
  5. #include "SysIni.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CSysIni dialog
  13. extern CEquipmentApp theApp;
  14. CSysIni::CSysIni(CWnd* pParent /*=NULL*/)
  15. : CDialog(CSysIni::IDD, pParent)
  16. {
  17. m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINTITLE);
  18. }
  19. void CSysIni::DoDataExchange(CDataExchange* pDX)
  20. {
  21. CDialog::DoDataExchange(pDX);
  22. //{{AFX_DATA_MAP(CSysIni)
  23. // NOTE: the ClassWizard will add DDX and DDV calls here
  24. //}}AFX_DATA_MAP
  25. }
  26. BEGIN_MESSAGE_MAP(CSysIni, CDialog)
  27. //{{AFX_MSG_MAP(CSysIni)
  28. ON_COMMAND(ID_BUTTONREFRESH, OnButtonrefresh)
  29. ON_COMMAND(ID_BUTTONCLOSE, OnButtonclose)
  30. //}}AFX_MSG_MAP
  31. END_MESSAGE_MAP()
  32. /////////////////////////////////////////////////////////////////////////////
  33. // CSysIni message handlers
  34. void CSysIni::OnOK() 
  35. {
  36. // TODO: Add extra validation here
  37. }
  38. void CSysIni::OnCancel() 
  39. {
  40. // TODO: Add extra cleanup here
  41. CDialog::OnCancel();
  42. }
  43. BOOL CSysIni::OnInitDialog() 
  44. {
  45. CDialog::OnInitDialog();
  46. SetIcon(m_hIcon,true);
  47. toolbar.Create(TBSTYLE_FLAT|CCS_TOP|WS_CHILD|WS_VISIBLE|WS_BORDER|CCS_ADJUSTABLE|TBSTYLE_WRAPABLE,CRect(0,0,0,0),this,IDR_TOOLBAR2);
  48. toolbar.SetBitmapSize(CSize(32,32));
  49. imagelist.Create(32,32,ILC_COLOR32|ILC_MASK,0,0);
  50. for (int n =0;n<5;n++)
  51. {
  52. imagelist.Add(theApp.LoadIcon(n+IDI_ICON1));
  53. }
  54. toolbar.SetImageList(&imagelist);
  55. TBBUTTON  buttons[3];
  56. for (int i =0; i<3;i++)
  57. {
  58. CString str;
  59. int strlength;
  60. CCHAR *temp;
  61. if (i<1)
  62. buttons[i].fsStyle =TBSTYLE_SEP;
  63. else
  64. {
  65. buttons[i].fsStyle =TBSTYLE_BUTTON;
  66. }
  67. buttons[i].fsState =TBSTATE_ENABLED;
  68. buttons[i].dwData =0;
  69. if (i == 1) 
  70. {
  71. buttons[i].idCommand = ID_BUTTONADD+3; //对应于刷新
  72. buttons[i].iBitmap = 3;
  73. str.LoadString(IDS_Sysini);
  74. }
  75. else
  76. {
  77. buttons[i].idCommand = ID_BUTTONADD+4;//退出
  78. buttons[i].iBitmap = 4;
  79. str.LoadString(ID_BUTTONADD+4);
  80. }
  81. strlength = str.GetLength()+1;
  82. temp = str.GetBufferSetLength(strlength);
  83. temp[strlength]= '';
  84. temp[strlength-1]= '';
  85. buttons[i].iString = toolbar.AddStrings(temp);
  86. str.ReleaseBuffer();
  87. }
  88. toolbar.AutoSize();
  89. toolbar.AddButtons(3,buttons);
  90. toolbar.ShowWindow(SW_SHOW);
  91. return TRUE;  
  92. }
  93. void CSysIni::OnButtonrefresh() 
  94. {
  95. TCHAR  temp[MAX_PATH];
  96. GetModuleFileName(NULL,temp,MAX_PATH);//获得可执行文件的完整路径
  97. CString dir;
  98. dir.Format("%s.exe",theApp.m_pszAppName);
  99. dir = GetFileRoot(temp,dir);//去除文件名
  100. if (!FindFile(dir,"equipmentmanage.sql"))
  101. {
  102. MessageBox("数据库脚本文件不存在.","提示",64);
  103. return;
  104. }
  105. if (MessageBox("确实要进行系统初始化吗?","提示",MB_YESNO|MB_ICONINFORMATION )==IDYES)
  106. {
  107. CString exestr;
  108. exestr.Format("isqlw -S . -d equipmentmanage -E -i %s -o c:out.txt",dir+"\equipmentmanage.sql");
  109. try
  110. {
  111. WinExec(exestr,SW_SHOW);
  112. MessageBox("操作成功.","提示",64|MB_ICONINFORMATION);
  113. }
  114. catch(...)
  115. {
  116. MessageBox("操作失败.","提示",64|MB_ICONINFORMATION);
  117. }
  118. }
  119. }
  120. bool CSysIni::FindFile(LPCTSTR FilePath,LPCTSTR FileName)
  121. {
  122. WIN32_FIND_DATA* filestruct;
  123. HANDLE filehandle;
  124. CString temp;
  125. char arrays[200];
  126. sprintf(arrays,"%s\*.*",FilePath);
  127. filestruct =new WIN32_FIND_DATA();
  128. filehandle = FindFirstFile(arrays,filestruct);
  129. temp = filestruct->cFileName;
  130. if (temp == FileName)
  131. return true;
  132. BOOL finded =false;
  133. finded= FindNextFile(filehandle,filestruct);
  134. while(finded ==true)
  135. {
  136. temp = filestruct->cFileName;
  137. if (temp == FileName)
  138. return true;
  139. finded= FindNextFile(filehandle,filestruct);
  140. }
  141. return false;
  142. }
  143. CString CSysIni::GetFileRoot(CString fullfilename,CString filename)
  144. {
  145. int pos;
  146. pos = fullfilename.Find(filename,0);
  147. if (pos!=-1)
  148. return fullfilename.Left(pos-1);
  149. else
  150. return "";
  151. }
  152. void CSysIni::OnButtonclose() 
  153. {
  154. EndDialog(0);
  155. }