⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 midesigner.cpp

📁 某公司资料管理系统
💻 CPP
📖 第 1 页 / 共 3 页
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include <sys\stat.h>
#include <stdio.h>
#include <time.h>

#include "MIDesigner.h"
#include "MainHead.h"
#include "DataModule.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TMIDesignerForm *MIDesignerForm;
//---------------------------------------------------------------------------
__fastcall TMIDesignerForm::TMIDesignerForm(TComponent* Owner)
        : TForm(Owner)
{
}
//--------------------------------------------------------------
void TMIDesignerForm::UpdateBitBtnState(TObject *Sender)
{
      BitBtnInsert->Enabled =MastData->MIBaseSource->State == dsBrowse;
      BitBtnDelete->Enabled = MastData->MIBaseSource->State == dsBrowse;
      BitBtnPost->Enabled = MastData->MIBaseSource->State == dsEdit ||
                            MastData->MIBaseSource->State == dsInsert;

      BitBtnCancel->Enabled = BitBtnPost->Enabled;
     // BitBtnNext->Enabled=!BitBtnPost->Enabled;
     // BitBtnPrior->Enabled=!BitBtnPost->Enabled;
      BitBtnClose->Enabled=!BitBtnPost->Enabled;
      BitBtnSearch->Enabled=!BitBtnPost->Enabled;
     // MainMenuForm->UpdateMenu();
}
//----------------------------------------------------------------------
void __fastcall TMIDesignerForm::MIBaseStateChange(TObject *Sender)
{
    if(Trim(MastData->MIBasePPEAPP->Value)!=""||Trim(MastData->MIBaseQACheck->Value)!=""||Trim(MastData->MIBaseQAAPP->Value)!="")
    {
       GroupBox1->Enabled=false;
       //PanelCAD->ReadOnly=true;
       DBImage1->ReadOnly=true;
       DBGrid1->ReadOnly=true;
       DBGrid2->ReadOnly=true;
       DBGridDrill->ReadOnly=true;
       MastData->MIRouteRouteName->ReadOnly=true;
       PopupMenu1->AutoPopup=false;
       PopupMenu2->AutoPopup=false;
       PopupMenu3->AutoPopup=false;
    }
    else
    {
       GroupBox1->Enabled=true;
       //PanelCAD->Enabled=true;
       DBImage1->ReadOnly=false;
       DBGrid1->ReadOnly=false;
       DBGrid2->ReadOnly=false;
       DBGridDrill->ReadOnly=false;
       MastData->MIRouteRouteName->ReadOnly=false;
       PopupMenu1->AutoPopup=true;
       PopupMenu2->AutoPopup=true;
       PopupMenu3->AutoPopup=true;
    }

   UpdateBitBtnState(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::MIBaseDataChange(TObject *Sender,TField *Field)
{
    if(Trim(MastData->MIBasePPEAPP->Value)!=""||Trim(MastData->MIBaseQACheck->Value)!=""||Trim(MastData->MIBaseQAAPP->Value)!="")
    {
       GroupBox1->Enabled=false;

      // PanelCAD->Enabled=false;
       DBImage1->ReadOnly=true;
       DBGrid1->ReadOnly=true;
       DBGrid2->ReadOnly=true;
       
       if(DBGridDrill->Visible)
       {
           DBGridDrill->ReadOnly=true;
       }
       MastData->MIRouteRouteName->ReadOnly=true;
       PopupMenu1->AutoPopup=false;
       PopupMenu2->AutoPopup=false;
       PopupMenu3->AutoPopup=false;
    }
    else
    {
       GroupBox1->Enabled=true;
      // PanelCAD->Enabled=true;
       DBImage1->ReadOnly=false;
       DBGrid1->ReadOnly=false;
       DBGrid2->ReadOnly=false;
       if(DBGridDrill->Visible)
       {
           DBGridDrill->ReadOnly=false;
       }
       MastData->MIRouteRouteName->ReadOnly=false;
       PopupMenu1->AutoPopup=true;
       PopupMenu2->AutoPopup=true;
       PopupMenu3->AutoPopup=true;
    }

   UpdateBitBtnState(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::MIRouteDataChange(TObject *Sender,TField *Field)
{
    if(MastData->MIRouteRouteCode->Value=="BCUT"||MastData->MIRouteRouteCode->Value=="PSBD"||MastData->MIRouteRouteCode->Value=="LGVC"||MastData->MIRouteRouteCode->Value=="SMVC")
    {
        PanelCAD->Visible=true;
    }
    else
    {
        PanelCAD->Visible=false;
    }

    DBGrid2->Visible=false;
    DBGridDrill->Visible=false;
    if(MastData->MIRouteRouteCode->Value=="FDRL")
    {
        //一次钻
        DBGridDrill->Visible=true;
        DBGridDrill->Columns->Items[8]->Visible=true;
        MastData->MIDrill->Filtered=true;
        MastData->MIDrill->Filter="DrillType='FDRL'";
    }
    else
    {
       if(MastData->MIRouteRouteCode->Value=="SDRL")
       {
         //二次钻
         DBGridDrill->Visible=true;
         DBGridDrill->Columns->Items[8]->Visible=false;
         MastData->MIDrill->Filtered=true;
         MastData->MIDrill->Filter="DrillType='SDRL'";
       }
    }
    DBGrid2->Visible=!DBGridDrill->Visible;
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::SpeedButton1Click(TObject *Sender)
{
   if(FindCustNoForm->ShowModal()==mrOk)
   {
       MastData->MIBase->Edit();
       MastData->MIBaseCustomerNo->Value=MastData->CustLookupCustomerNo->Value;
   }
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::SpeedButton2Click(TObject *Sender)
{
   if(FindBoardNoForm->ShowModal()==mrOk)
   {
       MastData->MIBase->Edit();
       MastData->MIBaseBoardNo->Value=MastData->BoardLookupBoardNo->Value;
  }
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::BitBtnSearchClick(TObject *Sender)
{
   if(FindPartNoForm->ShowModal()==mrOk)
   {
       // TVarRec q(MastData->PartNoLookupPartNo->Value);
        MastData->MIBase->CachedUpdates=false;
        MastData->MIBase->GotoCurrent(MastData->PartNoLookup);
        MastData->MIBase->CachedUpdates=true;
    }
   MastData->PartNoLookup->Close();
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::DBImage1DblClick(TObject *Sender)
{
      ShowCADForm->HorzScrollBar->Range = DBImage1->Picture->Width;
      ShowCADForm->VertScrollBar->Range = DBImage1->Picture->Height;
     // ShowCADForm->Caption = Caption;
      ShowCADForm->ShowModal();
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::Insert1Click(TObject *Sender)
{
    // MastData->InsertRoute=true;
    if(BitBtnPost->Enabled)
    {
         MessageBox(NULL,"请先将数据存盘再插入记录!...","提示",MB_OK);
    }
    else
    {
        MastData->MIRoute->Insert();
        MastData->MIRouteRouteNo->Value=MastData->RecordNo;
     }
  //   MastData->InsertRouteDetail();
  //   MastData->InsertRoute=false;
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::Delete1Click(TObject *Sender)
{
     if(MessageBox(NULL,"确认删除?...", "警告", MB_YESNO) == IDYES)
     {
          MastData->MIRoute->Delete();
          MastData->DeleteMIRouteDetail();
          BitBtnPostClick(Sender);
          MIBaseStateChange(Sender);
     }
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::Insert2Click(TObject *Sender)
{
     MastData->RouteDetail->Insert();
     MastData->RouteDetailItemNo->Value=MastData->RecordNo;
     MastData->RouteDetail->Post();
    
     MastData->RouteDetail->ApplyUpdates();
     MastData->Database->Commit();
     MastData->Database->StartTransaction();
     MastData->RouteDetail->CommitUpdates();
     MastData->RouteDetail->First();
     while(!MastData->RouteDetail->Eof&&MastData->RouteDetailItemNo->Value<MastData->RecordNo)
     {
        MastData->RouteDetail->Next();
     }
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::Delete2Click(TObject *Sender)
{
      MastData->RouteDetail->Delete();
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::CAD1Click(TObject *Sender)
{
    struct stat statbuf;
    FILE *fp;

    OpenPictureDialog1->Execute();
    fp=fopen(OpenPictureDialog1->FileName.c_str(),"r");
    fstat(fileno(fp),&statbuf);
    fclose(fp);
    if(statbuf.st_size>51200)                         //  IntToStr( )
    {
        MessageBox(NULL,"当前图片图片太大,请在bmp格式下存为单色模式!...","警告", MB_OK);
    }
    else
    {
       if(OpenPictureDialog1->FileName.Trim()!="")
       {
          MastData->MIRoute->Edit();
          DBImage1->Picture->LoadFromFile(OpenPictureDialog1->FileName);
          MastData->MIRoute->Post();
       }
    }
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::BitBtnInsertClick(TObject *Sender)
{
    MastData->MIBase->Insert();
    UpdateBitBtnState(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::BitBtnDeleteClick(TObject *Sender)
{
   if((Trim(MastData->MIBasePPEAPP->Value)!="")||(Trim(MastData->MIBaseQACheck->Value)!="")||(Trim(MastData->MIBaseQAAPP->Value)!=""))
   {
      MessageBox(NULL,"MI资料已被审核或QA检查或QA审批,不能被删除...", "警告", MB_OK);
   }
   else
   {
     if((MessageBox(NULL,"删除基本资料主单和所有分单?", "警告", MB_YESNO) == IDNO))
     {
        Abort();
     }
     else
     {
         try
         {
            MastData->MIRoute->First();
            MastData->DeletingItems=true;
            MastData->DeletingRouteDetail=true;
            while(!MastData->MIRoute->Eof)
            {
               MastData->RouteDetail->First();
               while(!MastData->RouteDetail->Eof)
               {
                   MastData->RouteDetail->Delete();
               }
               MastData->MIRoute->Delete();
            }
            MastData->MIBase->Delete();
            MastData->RouteDetail->ApplyUpdates();
            MastData->MIRoute->ApplyUpdates();
            MastData->MIBase->ApplyUpdates();
            MastData->Database->Commit();
            MastData->Database->StartTransaction();
            MastData->MIBase->CommitUpdates();
            MastData->MIRoute->CommitUpdates();
            MastData->RouteDetail->CommitUpdates();
         }
         catch(...)
         {
              MessageBox(NULL,"您没有增加修改或删除记录的权限..","提示",MB_OK);
              MastData->Database->Rollback();
              MastData->Database->StartTransaction();
              MastData->MIBase->CancelUpdates();
              MastData->MIRoute->CancelUpdates();
              MastData->RouteDetail->CancelUpdates();
          }
          MastData->DeletingItems=false;
          MastData->DeletingRouteDetail=false;
          MIBaseStateChange(Sender);
     }
   }
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::BitBtnPostClick(TObject *Sender)
{
   if(MastData->MIBaseSource->State!= dsEdit ||MastData->MIBaseSource->State != dsInsert)
   {
       MastData->MIBase->Edit();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -