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

📄 te.cpp

📁 速达开源ERP系统
💻 CPP
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Te.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "RecBaseForm"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"

TfrmTe *frmTe;
AnsiString OldTeTeam;
//---------------------------------------------------------------------------
__fastcall TfrmTe::TfrmTe(TComponent* Owner)
    : TRecBaseForm(Owner,euSdTe,"")
{
}
//---------------------------------------------------------------------------

AnsiString __fastcall TfrmTe::GetFieldValue(int FieldIndex)
{
    return ReadFieldValue(comServer,FieldIndex);
}
//---------------------------------------------------------------------------

void __fastcall TfrmTe::SetFieldValue(int iFieldIndex,AnsiString sFieldValue)
{
    WriteFieldValue(comServer,iFieldIndex,sFieldValue);
}
//---------------------------------------------------------------------------

void __fastcall TfrmTe::ClearControl(bool BringToNext)
{
    if(!BringToNext)
    {
        scTeEmployee->Text     =  "";
        seTeEmployeeName->Text =  "";
        scTeEmployeeSex->Text  =  "";
        scTeEmployeeDept->Text =  "";
        scTeEmployeeShop->Text =  "";
        seTeEmployeeTow->Text  =  "";
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmTe::GetDataFromComObject()
{
    scTeEmployee->LocateKey(GetFieldValue(fiTeEmployee));
    //MoveFirst,MovePrority,MoveNext,MoveLast
    sgTe->LocateGrid(0,GetFieldValue(fiTeEmployee));
    seTeEmployeeName->Text= scTeEmployee->ItemData[cbItem3];
    if(!scTeEmployee->ItemData[cbItem4].IsEmpty())
       scTeEmployeeSex->ItemIndex = StrToInt(scTeEmployee->ItemData[cbItem4]);
    else
       scTeEmployeeSex->Text="";
    scTeEmployeeDept->LocateKey(scTeEmployee->ItemData[cbItem5]);
    scTeEmployeeShop->LocateKey(scTeEmployee->ItemData[cbItem6]);
    seTeEmployeeTow->Text  =  scTeEmployee->ItemData[cbItem7];
}
//---------------------------------------------------------------------------

void __fastcall TfrmTe::SendDataToComObject()
{
    SetFieldValue(fiTeTeam,scTeTeam->ItemData[1]);
    SetFieldValue(fiTeEmployee,scTeEmployee->ItemData[1]);
}
//---------------------------------------------------------------------------

void __fastcall TfrmTe::WaitUserInput()
{
    if(!scTeTeam->Text.IsEmpty())
       scTeEmployee->SetFocus();
    else
       scTeTeam->SetFocus();
}
//---------------------------------------------------------------------------

AnsiString __fastcall TfrmTe::GetDataToGrid()
{
    AnsiString  s;
    s = GetFieldValue(fiTeEmployee);
    scTeEmployee->LocateKey(s);
    s = s + "\t" + scTeEmployee->ItemData[cbItem3];
    return(s);
}
//---------------------------------------------------------------------------

void __fastcall TfrmTe::RefreshGridData(int mAction)
{
    AnsiString ItemStr;
    ItemStr = GetDataToGrid();
    if(mAction == 0)
    {
        sgTe->AddItem(ItemStr);
        sgTe->Row=sgTe->RowCount-1;
    }
    else if(mAction == 1)
    {
        sgTe->ChangeItem(ItemStr,sgTe->Row);
    }
    else if(mAction == 2)
    {
        sgTe->RemoveItem(sgTe->Row);
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmTe::FillGridWithData()
{
    AnsiString ItemStr;
    comServer->MoveFirst();
    sgTe->RowCount = 1;
    while (comServer->Eof == 0)
    {
        ItemStr = GetDataToGrid();
        sgTe->AddItem(ItemStr);
        comServer->MoveNext();
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmTe::InitEditControl()
{
    ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
    ClientGroup->AddComponent(2,true,true,false, scTeTeam,scTeTeam->Name);
    ClientGroup->AddComponent(2,true,true,false, sgTe,sgTe->Name);
    ClientGroup->AddComponent(2,true,true,true, Panel1,Panel1->Name);
    FillComboBox(scTeTeam,"SELECT TeamCode,TeamName=TeamCode+space(18-Len(TeamCode))+TeamName FROM sdTeam order by TeamCode","TeamName","TeamCode");
    FillComboBox(scTeEmployeeDept,"SELECT DeptCode,DeptName FROM sdDept order by DeptCode","DeptName","DeptCode");
    FillComboBox(scTeEmployeeShop,"SELECT ShopCode,ShopName FROM sdShop order by ShopCode","ShopName","ShopCode");
    FillComboBox(scTeEmployee,"select EmployeeCode,memo=EmployeeCode+space(1)+'('+EmployeeName+')',EmployeeName,EmployeeSex,EmployeeDept,EmployeeShop,EmployeeTow from sdEmployee order by EmployeeCode",
                 "memo","EmployeeCode","EmployeeName","EmployeeSex","EmployeeDept","EmployeeShop","EmployeeTow");
}
//---------------------------------------------------------------------------
void __fastcall TfrmTe::RefreshUpdateData(int MsgSrc,int MsgType)
{
    try
    {
       switch (MsgSrc)
       {
         case euSdTeam:
           if(ShowUpdateMessage(MsgSrc,MsgType)){
	           StartWaitForm("正在刷新引用数据!");
               FillComboBox(scTeTeam,"SELECT TeamCode,TeamName=TeamCode+space(18-Len(TeamCode))+TeamName FROM sdTeam order by TeamCode","TeamName","TeamCode");
	           EndWaitForm();
	           break;
           }
         case euSdDept:
           if(ShowUpdateMessage(MsgSrc,MsgType)){
	           StartWaitForm("正在刷新引用数据!");
	           FillComboBox(scTeEmployeeDept,"SELECT DeptCode,DeptName FROM sdDept order by DeptCode","DeptName","DeptCode");
	           EndWaitForm();
             break;
           }
         case euSdShop:
           if(ShowUpdateMessage(MsgSrc,MsgType)){
	           StartWaitForm("正在刷新引用数据!");
	           FillComboBox(scTeEmployeeShop,"SELECT ShopCode,ShopName FROM sdShop order by ShopCode","ShopName","ShopCode");
	           EndWaitForm();
	           break;
           }
         case euSdEmployee:
           if(ShowUpdateMessage(MsgSrc,MsgType)){
	           StartWaitForm("正在刷新引用数据!");
	           FillComboBox(scTeEmployee,"select EmployeeCode,memo=EmployeeCode+space(1)+'('+EmployeeName+')',EmployeeName,EmployeeSex,EmployeeDept,EmployeeShop,EmployeeTow from sdEmployee order by EmployeeCode",
	                        "memo","EmployeeCode","EmployeeName","EmployeeSex","EmployeeDept","EmployeeShop","EmployeeTow");
	           EndWaitForm();
	           break;
           }
         default:
           break;
       }
    }
    __finally
    {
        //AddCode;
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmTe::FormClose(TObject *Sender, TCloseAction &Action)
{
    TRecBaseForm::FormClose(Sender,Action);
/*
    AnsiString FormIniFile = "D:\test.ini";
    WriteGridWidth(Name,sgTe,FormIniFile);
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmTe::FormCreate(TObject *Sender)
{
/*
    AnsiString FormIniFile="D:\Test.Ini";
    SetGridWidth(Name,sgTe,FormIniFile);
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmTe::FormShow(TObject *Sender)
{
    ClearControl(false);
    scTeTeam->SetFocus();
    scTeTeamClick(this);
}
//---------------------------------------------------------------------------

void __fastcall TfrmTe::scTeTeamClick(TObject *Sender)
{
    AnsiString s;
    if(OldTeTeam==scTeTeam->ItemData[1])
      return;
    if(scTeTeam->ItemIndex==-1)
    {
       MessageDlg("班组代码不存在!",mtWarning,TMsgDlgButtons()<<mbOK,0);
       scTeTeam->LocateKey(OldTeTeam);
    }
    else
    {
      OldTeTeam=scTeTeam->ItemData[1];
      s=scTeTeam->ItemData[1];
      s = "TeTeam = '" + s + "'";
      comServer->FilterString = WideString(s);
      comServer->Query();
      FillGridWithData();
      comServer->MoveFirst();
      GetDataFromComObject();
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmTe::muAddDetailClick(TObject *Sender)
{
    AnsiString tempS;
    tempS=Trim(scTeTeam->ItemData[1]);
    if(tempS.IsEmpty())
    {
        ::MessageBox(Handle,"请先选择或输入一个班组代码,再点增加操作。","操作错误",MB_OK|MB_ICONSTOP);
        return;
    }
    TRecBaseForm::muAddDetailClick(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTe::scTeEmployeeClick(TObject *Sender)
{
    if(scTeEmployee->ItemIndex!=-1)
    {
        seTeEmployeeName->Text =  scTeEmployee->ItemData[cbItem3];
        scTeEmployeeSex->ItemIndex = StrToInt(scTeEmployee->ItemData[cbItem4]);
        scTeEmployeeDept->LocateKey(scTeEmployee->ItemData[cbItem5]);
        scTeEmployeeShop->LocateKey(scTeEmployee->ItemData[cbItem6]);
        seTeEmployeeTow->Text  =  scTeEmployee->ItemData[cbItem7];
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmTe::sgTeClick(TObject *Sender)
{
    int ARow;
    ARow=sgTe->Row;
    if(ARow > 0)
       comServer->LocateByKey(WideString(scTeTeam->ItemData[1]+sgTe->TextMatrix[ARow][0]));
    if(!comServer->Eof)
       GetDataFromComObject();
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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