Main.~cpp
上传用户:tangpei45
上传日期:2013-07-14
资源大小:9104k
文件大小:5k
源码类别:

百货/超市行业

开发平台:

C++ Builder

  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4. #include "Main.h"
  5. #include "login.h"
  6. #include "GoodManage.h"
  7. #include "SupplyManage.h"
  8. #include "CustomManage.h"
  9. #include "PurchaseManage.h"
  10. #include "SaleManage.h"
  11. #include "StoreQuery.h"
  12. #include "Right.h"
  13. //---------------------------------------------------------------------------
  14. #pragma package(smart_init)
  15. #pragma resource "*.dfm"
  16. TfmMain *fmMain;
  17. //---------------------------------------------------------------------------
  18. __fastcall TfmMain::TfmMain(TComponent* Owner)
  19.     : TForm(Owner)
  20. {
  21. }
  22. //---------------------------------------------------------------------------
  23. void __fastcall TfmMain::FormCreate(TObject *Sender)
  24. {
  25.     TfmLogin *pForm = new TfmLogin(Application);
  26.     pForm->ShowModal();
  27.     if(pForm->m_szUserCode.IsEmpty())
  28.     // 取消了,退出程序
  29.     {
  30.         Application->Terminate();
  31.     }
  32.     else
  33.     {
  34.         m_szUserCode = pForm->m_szUserCode;
  35.         m_szUserName = pForm->m_szUserName;
  36.         StatusBar1->Panels->Items[1]->Text = m_szUserName;
  37.     }
  38.     delete pForm;
  39.     // 设置功能菜单的状态,屏蔽用户不可操作的功能
  40.     // 如果是系统管理员登录,则不设置
  41.     if(m_szUserCode = "1") return;
  42.     TQuery* pQuery = new TQuery(NULL);
  43.     pQuery->DatabaseName = "db";
  44.     pQuery->SQL->Add("select 权限名称 from 权限清单 where 用户编号='" + m_szUserCode + "'");
  45.     pQuery->Open();
  46.     TStringList* plst = new TStringList();
  47.     while(!pQuery->Eof)
  48.     {
  49.         plst->Add(pQuery->FieldByName("权限名称")->AsString);
  50.         pQuery->Next();
  51.     }
  52.     // 判断是否可操作,不在plst列表中表示不可操作,菜单变灰色
  53.     for(int j=0; j<MainMenu1->Items->Count; j++)
  54.     {
  55.         TMenuItem* pItem = MainMenu1->Items->Items[j];
  56.         for(int i=0; i<pItem->Count; i++)
  57.         {
  58.             TMenuItem* pSubItem = pItem->Items[i];
  59.             if(pSubItem->Count == 0 && plst->IndexOf(pSubItem->Caption)<=0)
  60.                 pSubItem->Enabled = false;
  61.         }
  62.     }
  63.     delete pQuery;
  64.     delete plst;
  65. }
  66. //---------------------------------------------------------------------------
  67. TForm* TfmMain::FormExist(AnsiString szCaption)
  68. {
  69.     for(int i=0; i<this->MDIChildCount; i++)
  70.     {
  71.         TForm *pForm = this->MDIChildren[i];
  72.         if(pForm->Caption == szCaption)
  73.             return pForm;   // 已存在窗体,返回该窗体
  74.     }
  75.     return NULL;    // 不存在窗体,返回空值
  76. }
  77. //---------------------------------------------------------------------------
  78. void __fastcall TfmMain::mnuGoodManageClick(TObject *Sender)
  79. {
  80.     // 显示商品信息维护窗体
  81.     TForm *pForm = FormExist("商品信息维护");
  82.     // 如果已存在则激活,否则新建一个窗体
  83.     if(pForm)
  84.         pForm->SetFocus();
  85.     else
  86.         pForm = new TfmGoodManage(Application);
  87.     pForm->Show();
  88. }
  89. //---------------------------------------------------------------------------
  90. void __fastcall TfmMain::mnuSupplyManageClick(TObject *Sender)
  91. {
  92.     // 显示供货商信息维护窗体
  93.     TForm *pForm = FormExist("供货商信息维护");
  94.     // 如果已存在则激活,否则新建一个窗体
  95.     if(pForm)
  96.         pForm->SetFocus();
  97.     else
  98.         pForm = new TfmSupplyManage(Application);
  99.     pForm->Show();
  100. }
  101. //---------------------------------------------------------------------------
  102. void __fastcall TfmMain::mnuCustomManageClick(TObject *Sender)
  103. {
  104.     // 显示客户信息维护窗体
  105.     TForm *pForm = FormExist("客户信息维护");
  106.     // 如果已存在则激活,否则新建一个窗体
  107.     if(pForm)
  108.         pForm->SetFocus();
  109.     else
  110.         pForm = new TfmCustomManage(Application);
  111.     pForm->Show();
  112. }
  113. //---------------------------------------------------------------------------
  114. void __fastcall TfmMain::mnuPurchaseManageClick(TObject *Sender)
  115. {
  116.     // 显示进货单窗体
  117.     TForm *pForm = FormExist("进货单");
  118.     // 如果已存在则激活,否则新建一个窗体
  119.     if(pForm)
  120.         pForm->SetFocus();
  121.     else
  122.         pForm = new TfmPurchaseManage(Application);
  123.     pForm->Show();
  124. }
  125. //---------------------------------------------------------------------------
  126. void __fastcall TfmMain::mnuSaleManageClick(TObject *Sender)
  127. {
  128.     // 显示销售单窗体
  129.     TForm *pForm = FormExist("销售单");
  130.     // 如果已存在则激活,否则新建一个窗体
  131.     if(pForm)
  132.         pForm->SetFocus();
  133.     else
  134.         pForm = new TfmSaleManage(Application);
  135.     pForm->Show();
  136. }
  137. //---------------------------------------------------------------------------
  138. void __fastcall TfmMain::mnuStockQueryClick(TObject *Sender)
  139. {
  140.     // 显示库存查询窗体
  141.     TForm *pForm = FormExist("库存查询");
  142.     // 如果已存在则激活,否则新建一个窗体
  143.     if(pForm)
  144.         pForm->SetFocus();
  145.     else
  146.         pForm = new TfmStoreQuery(Application);
  147.     pForm->Show();
  148. }
  149. //---------------------------------------------------------------------------
  150. void __fastcall TfmMain::mnuRightManageClick(TObject *Sender)
  151. {
  152.     // 显示权限管理窗体
  153.     TForm *pForm = FormExist("权限管理");
  154.     // 如果已存在则激活,否则新建一个窗体
  155.     if(pForm)
  156.         pForm->SetFocus();
  157.     else
  158.         pForm = new TfmRightManage(Application);
  159.     pForm->Show();
  160. }
  161. //---------------------------------------------------------------------------