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

📄 main.~pas

📁 文件包含程序源原文件
💻 ~PAS
📖 第 1 页 / 共 3 页
字号:
  begin
    frmParams.Show;
  end;
end;

//////////////////////////////////////////////////////////////////////////
procedure TfrmMain.btnIOSettingClick(Sender: TObject);
var
  frmIOID: TfrmIOID;
begin
  frmIOID := TfrmIOID.Create(self);
  with frmIOID do
  begin
    frmIOID.Show;
  end;
end;

//////////////////////////////////////////////////////////////////////////
procedure TfrmMain.InitlizeIniData;
var
  MultiCapFile, MultiMsgFile: string;
  LangType: Byte;
  IniFile: TINIFILE;
begin
  IniFile := TIniFile.Create(ChangeFileExt(ExePath, '.ini'));

  with IniFile do
  begin
    IniData.AliasName := IniFile.ReadString('LOGIN', 'ALIAS', 'POP');
    IniData.UserName  := IniFile.ReadString('LOGIN', 'UI', 'DP40');
    IniData.PassWord  := IniFile.ReadString('LOGIN', 'PA', '4640');
    IniData.OutPrice     := IniFile.ReadString('UNITPRICE', 'OUTPRICE','0');
    IniData.InPrice      := IniFile.ReadString('UNITPRICE', 'INPRICE','0');
    IniData.isExcelPrint := (IniFile.ReadString('ExcelPrint','PRINT','0')='0');
    IniData.PaperNo      := IniFile.ReadString('ExcelPrint','PAPERNO','20');
    IniData.isCheckQty   := (IniFile.ReadString('CheckStatus', 'checkQty', '0') = '0');
    IniData.isTuneQty    := (IniFile.ReadString('CheckStatus', 'tuneQty', '0') = '0');
    IniData.is_bomcheck  := (IniFile.ReadString('CheckStatus', 'bomcheck', '0') = '0');
    IniData.matstkid     := IniFile.ReadString('CheckStatus', 'matstkid','A');
    IniData.otherstkid   := IniFile.ReadString('CheckStatus', 'otherstkid','B');
    IniData.listdate[0]  := ReadString('List', 'StartDate', '');
    IniData.listdate[1]  := ReadString('List', 'EndDate', '');
    IniData.warningdays  := IniFile.ReadInteger('CheckStatus', 'warningdays',0);

    LangType         := IniFile.ReadInteger('LANGUAGE', 'LANG_TYPE', 0);
    MultiCapFile     := ExtractFilePath(ExePath) + 'caption.csv';
    MultiMsgFile     := ExtractFilePath(ExePath) + 'message.csv';

    if FileExists(MultiCapFile) then
      ReadMultiLingualFile(LangType, MultiCapFile);
    if FileExists(MultiMsgFile) then
      ReadMultiLingualFile(LangType, MultiMsgFile);
    Free;
  end;
end;

//////////////////////////////////////////////////////////////////////////
procedure TfrmMain.FinalWriteIniData;
begin
  with TIniFile.Create(ChangeFileExt(ExePath, '.ini')) do begin
    WriteString('UNITPRICE', 'OutPrice',    IniData.OutPrice);
    WriteString('UNITPRICE', 'InPrice',     IniData.InPrice);
    if IniData.isExcelPrint then WriteString('ExcelPrint', 'Print', '0')
    else WriteString('ExcelPrint', 'Print', '1');
    WriteString('ExcelPrint','PAPERNO',IniData.PAPERNO);
    if IniData.isCheckQty then WriteString('CheckStatus', 'checkQty', '0')
    else WriteString('CheckStatus', 'checkQty', '1');
    if IniData.isTuneQty then WriteString('CheckStatus', 'tuneQty', '0')
    else WriteString('CheckStatus', 'tuneQty', '1');
    if IniData.is_bomcheck then WriteString('CheckStatus', 'bomcheck', '0')
    else WriteString('CheckStatus', 'bomcheck', '1');
    
    WriteString('List', 'StartDate',    IniData.ListDate[0]);
    WriteString('List', 'EndDate',      IniData.ListDate[1]);
    WriteInteger('CheckStatus', 'warningdays', IniData.warningdays);
    Free;
  end;
end;


//////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////



procedure TfrmMain.BtnExitClick(Sender: TObject);
begin
  Close;
end;

procedure TfrmMain.btnGuageInfoClick(Sender: TObject);
var
  frmMatGuageInfo: TfrmMatGuageInfo;
begin
  Screen.Cursor := crSqlWait;
  frmMatGuageInfo := TfrmMatGuageInfo.Create(self);
  with frmMatGuageInfo do
  begin
    frmMatGuageInfo.Show;
  end;
  Screen.Cursor := crDefault;
end;

procedure TfrmMain.btnPaperParamsDefClick(Sender: TObject);
var
  frmPaperParamsDef: TfrmPaperParamsDef;
begin
  frmPaperParamsDef := TfrmPaperParamsDef.Create(self);
  with frmPaperParamsDef do
  begin
    frmPaperParamsDef.Show;
  end;
end;



/////////////////////////////////////////////////////
/////////////////////////////////////////////////////
procedure TfrmMain.PrintProc(frmName: string);
var V: OleVariant;
    frmID: Integer;
    RecCnt, ColCnt: Integer;
    i: Integer;
    S: string;
begin
  try
    V := CreateOleObject('Excel.Application');
  except
    MessageDlg('Excel Application is Created Error!', mtError, [mbOk], 0);
    Exit;
  end;
  V.Visible := True;
  V.WorkBooks.Add;
  V.WorkBooks[1].Activate;
  V.WorkSheets[1].Activate;
  frmID := 0; RecCnt := 0; ColCnt := 0;
  if frmName = 'frmMatIN'            then frmID := 1         //--
  else if frmName = 'frmMatOUT'      then frmID := 2
  else if frmName = 'frmOtherMatOut' then frmID := 3
  else if frmName = 'frmBalance'     then frmID := 4   //--
  else if frmName = 'frmInvHistory'  then frmID := 5  //--
  else if frmName = 'frmReport'      then frmID := 6
  else if frmName = 'frmInvoiceList' then frmID := 7;


  //case frmID of
    //1: ClipBoard.asText := frmMatIN.CopyToClipBoard(RecCnt, ColCnt);
    {
    2: ClipBoard.asText := frmBalance.CopyToClipBoard(RecCnt, ColCnt);
    3: ClipBoard.asText := frmInvList.CopyToClipBoard(RecCnt, ColCnt);
    4: ClipBoard.asText := frmReport.CopyToClipBoard(RecCnt, ColCnt);
    5: ClipBoard.asText := frmAccountList.CopyToClipBoard(RecCnt, ColCnt);}
  //end;
  V.ActiveSheet.PageSetUp.Orientation := xlLandscape;       //--
  V.ActiveSheet.PageSetUp.PrintTitleRows := '$1:$3';        //--
  V.ActiveSheet.PageSetUp.RightHeader :=                    //--
                '&9 '+FormatDateTime('yyyy/mm/dd hh:nn', Now) + ' ' + '时间';
  V.ActiveSheet.PageSetUp.CenterFooter := '&9&P/&N 页次';  //--
  V.ActiveSheet.PageSetUp.Order := xlOverThenDown;          //--

  //--
  V.ActiveSheet.PageSetUp.LeftMargin   := V.InchesToPoints(15/25.4); // 15mm
  V.ActiveSheet.PageSetUp.RightMargin  := V.InchesToPoints(15/25.4); // 15mm
  V.ActiveSheet.PageSetUp.TopMargin    := V.InchesToPoints(15/25.4); // 15mm
  V.ActiveSheet.PageSetUp.BottomMargin := V.InchesToPoints(15/25.4); // 15mm
  V.ActiveSheet.PageSetUp.HeaderMargin := V.InchesToPoints(10/25.4); // 10mm
  V.ActiveSheet.PageSetUp.FooterMargin := V.InchesToPoints(10/25.4); // 10mm
  //--
  V.ActiveSheet.Cells.Font.Size := 9;
  V.ActiveSheet.Cells[1, 1].HorizontalAlignment := xlLeft;
  V.ActiveSheet.Cells[1, 1].Font.Size := 20;
  V.ActiveSheet.Cells[1, 1].Font.Bold := True;
  V.ActiveSheet.Cells[1, 1].Font.Italic := True;
  V.ActiveSheet.Rows[3].HorizontalAlignment := xlCenter;
  V.ActiveSheet.Rows[3].Font.Size := 11;
  V.ActiveSheet.Rows[3].Font.Bold := True;
  //--
  case frmID of
    1: begin
      V.ActiveSheet.Columns[3].NumberFormatLocal := '#,##0.0000';  //--
    end;
    2: begin
      V.ActiveSheet.Columns[3].NumberFormatLocal := '#,##0.00';  //--
      V.ActiveSheet.Columns[4].NumberFormatLocal := '#,##0.00';  //--
      V.ActiveSheet.Columns[5].NumberFormatLocal := '#,##0.00';     //--
    end;
    3: begin
      V.ActiveSheet.Columns[1].HorizontalAlignment := xlCenter;   //--
      V.ActiveSheet.Cells[1,1].HorizontalAlignment := xlLeft;
      V.ActiveSheet.Columns[2].NumberFormatLocal := 'yyyy/mm/dd'; //--
      V.ActiveSheet.Columns[5].NumberFormatLocal := '#,##0.00';   //--
      V.ActiveSheet.Columns[6].NumberFormatLocal := '#,##0.00';   //--
      V.ActiveSheet.Columns[7].NumberFormatLocal := '#,##0.00';      //--
    end;
  end;
  //--
  S := 'A3:'+Chr(Ord('A')+(ColCnt-1))+IntToStr(RecCnt+3);
  V.ActiveSheet.Range[S].Borders[xlDiagonalDown].LineStyle := xlNone;
  V.ActiveSheet.Range[S].Borders[xlDiagonalUp].LineStyle   := xlNone;
  V.ActiveSheet.Range[S].Borders[xlEdgeLeft].LineStyle  := xlContinuous;
  V.ActiveSheet.Range[S].Borders[xlEdgeLeft].Weight     := xlThin;
  V.ActiveSheet.Range[S].Borders[xlEdgeLeft].ColorIndex := xlAutomatic;
  V.ActiveSheet.Range[S].Borders[xlEdgeTop].LineStyle  := xlContinuous;
  V.ActiveSheet.Range[S].Borders[xlEdgeTop].Weight     := xlThin;
  V.ActiveSheet.Range[S].Borders[xlEdgeTop].ColorIndex := xlAutomatic;
  V.ActiveSheet.Range[S].Borders[xlEdgeBottom].LineStyle  := xlContinuous;
  V.ActiveSheet.Range[S].Borders[xlEdgeBottom].Weight     := xlThin;
  V.ActiveSheet.Range[S].Borders[xlEdgeBottom].ColorIndex := xlAutomatic;
  V.ActiveSheet.Range[S].Borders[xlEdgeRight].LineStyle  := xlContinuous;
  V.ActiveSheet.Range[S].Borders[xlEdgeRight].Weight     := xlThin;
  V.ActiveSheet.Range[S].Borders[xlEdgeRight].ColorIndex := xlAutomatic;
  V.ActiveSheet.Range[S].Borders[xlInsideVertical].LineStyle  := xlDot;
  V.ActiveSheet.Range[S].Borders[xlInsideVertical].Weight     := xlThin;
  V.ActiveSheet.Range[S].Borders[xlInsideVertical].ColorIndex := xlAutomatic;
  V.ActiveSheet.Range[S].Borders[xlInsideHorizontal].LineStyle  := xlDot;
  V.ActiveSheet.Range[S].Borders[xlInsideHorizontal].Weight     := xlThin;
  V.ActiveSheet.Range[S].Borders[xlInsideHorizontal].ColorIndex := xlAutomatic;
  S := 'A3:'+Chr(Ord('A')+(ColCnt-1))+'3';
  V.ActiveSheet.Range[S].Borders[xlDiagonalDown].LineStyle := xlNone;
  V.ActiveSheet.Range[S].Borders[xlDiagonalUp].LineStyle   := xlNone;
  V.ActiveSheet.Range[S].Borders[xlEdgeLeft].LineStyle  := xlContinuous;
  V.ActiveSheet.Range[S].Borders[xlEdgeLeft].Weight     := xlThin;
  V.ActiveSheet.Range[S].Borders[xlEdgeLeft].ColorIndex := xlAutomatic;
  V.ActiveSheet.Range[S].Borders[xlEdgeTop].LineStyle  := xlContinuous;
  V.ActiveSheet.Range[S].Borders[xlEdgeTop].Weight     := xlThin;
  V.ActiveSheet.Range[S].Borders[xlEdgeTop].ColorIndex := xlAutomatic;
  V.ActiveSheet.Range[S].Borders[xlEdgeBottom].LineStyle  := xlContinuous;
  V.ActiveSheet.Range[S].Borders[xlEdgeBottom].Weight     := xlThin;
  V.ActiveSheet.Range[S].Borders[xlEdgeBottom].ColorIndex := xlAutomatic;
  V.ActiveSheet.Range[S].Borders[xlEdgeRight].LineStyle  := xlContinuous;
  V.ActiveSheet.Range[S].Borders[xlEdgeRight].Weight     := xlThin;
  V.ActiveSheet.Range[S].Borders[xlEdgeRight].ColorIndex := xlAutomatic;
  //--
  V.ActiveSheet.Cells[3, 1].PasteSpecial;
  V.ActiveSheet.Cells[3, 1].Select;
  //--
  V.ActiveSheet.Columns['A:'+Chr(Ord('A')+(ColCnt-1))].EntireColumn.AutoFit;
  for i:=1 to ColCnt do
    V.ActiveSheet.Columns[i].ColumnWidth :=
      V.ActiveSheet.Columns[i].ColumnWidth + 2;
  //--
  case frmID of
    1: V.ActiveSheet.Cells[1, 1].Value := '  ' + '当日入库历史一览';
    2: V.ActiveSheet.Cells[1, 1].Value := '  ' + '当日原材料出库历史';
    3: V.ActiveSheet.Cells[1, 1].Value := '  ' + '当日其他出库历史';
    4: V.ActiveSheet.Cells[1, 1].Value := '  ' + '剩余库存信息';
    5: V.ActiveSheet.Cells[1, 1].Value := '  ' + '进出历史一览';
    6: V.ActiveSheet.Cells[1, 1].Value := '  ' + '管理报表';
    7: V.ActiveSheet.Cells[1, 1].Value := '  ' + '发票结算一览';
  end;
  if IniData.isExcelPrint then V.Print;
end;





procedure TfrmMain.SpeedButton2Click(Sender: TObject);
var frmInvMoldExp: TfrmInvMoldExp;
begin
  frmInvMoldExp := TfrmInvMoldExp.Create(self);
  with frmInvMoldExp do
  begin
    frmInvMoldExp.Show;
  end;
end;

procedure TfrmMain.btnRefreshClick(Sender: TObject);
begin
  Screen.Cursor := crSqlWait;
  dm_inventory.Read_empInfo;
  dm_inventory.Read_MatGuageInfo(FGuageList);
  dm_inventory.Read_IOIDInfo(-1, FInOutIDList);
  dm_inventory.ReadShigen;
  dm_inventory.ReadDepartment;
  dm_inventory.ReadSeihin;
  dm_inventory.ReadShiZai_Kubun;
  dm_inventory.ReadShizai(FShiZaiList);
  Screen.Cursor := crDefault;
end;

procedure TfrmMain.btnUnFinishDeliveryClick(Sender: TObject);
var
  frmUnDelivery: TfrmUnDelivery;
begin
  Screen.Cursor := crSqlWait;
  frmUnDelivery := TfrmUnDelivery.Create(Self);
  with frmUnDelivery do
  begin
    frmUnDelivery.Show;
  end;
  Screen.Cursor := crDefault;
end;

procedure TfrmMain.btnDataExportClick(Sender: TObject);
var frmDataExpImp: TfrmDataExpImp;
begin
  if not(IniData.isCheckQty) then begin
    frmDataExpImp := TfrmDataExpImp.Create(Self);
    with frmDataExpImp do
    begin
      frmDataExpImp.Show;
    end;
  end
  else begin
    MessageDlg('目前正在盘点/不能进行入库作业!',mtError,[mbOK],0);
    Exit;
  end;
end;

procedure TfrmMain.btnHisReportClick(Sender: TObject);
var
  frmHisReport: TfrmHisReport;
begin
  Screen.Cursor := crSqlWait;
  frmHisReport := TfrmHisReport.Create(Self);
  with frmHisReport do
  begin
    frmHisReport.Show;
  end;
  Screen.Cursor := crDefault;
end;

procedure TfrmMain.SetMultilingual;
begin
  self.Caption                := GetMultiLingalMsg(90000,'Inventory System');

  PageCtrlInventory.Pages[0].Caption := GetMultiLingalMsg(90002,'Daily Manager');
  PageCtrlInventory.Pages[1].Caption := GetMultiLingalMsg(90003,'Params Setting');

  btnBOMCheck.Caption         := GetMultiLingalMsg(90004,'BOM Check');
  btnStockQuery.Caption       := GetMultiLingalMsg(90005,'Stock Query');
  btnMatIN.Caption            := GetMultiLingalMsg(90006,'Stock In');
  btnMatOUT.Caption           := GetMultiLingalMsg(90007,'Material Out');
  btnOtherIN.Caption          := GetMultiLingalMsg(90238,'Other In');
  btnOthMatOUT.Caption        := GetMultiLingalMsg(90008,'Other Out');
  btnIOHistory.Caption        := GetMultiLingalMsg(90009,'In/Out History List');
  btnReport.Caption           := GetMultiLingalMsg(90010,'Report List');
  btnInvoice.Caption          := GetMultiLingalMsg(90011,'Invoice List');
  btnUnFinishDelivery.Caption := GetMultiLingalMsg(90012,'Un-Finished Delivery List');
  btnQCCheck.Caption          := GetMultiLingalMsg(90282,'QC Check List');
  btnRefresh.Caption          := GetMultiLingalMsg(90013,'Refresh Information');
  BtnExit.Caption             := GetMultiLingalMsg(90014,'Exit System');

  btnParams.Caption           := GetMultiLingalMsg(90015,'Params Setting');
  btnIOSetting.Caption        := GetMultiLingalMsg(90016,'I/O Setting');
  btnPaperParamsDef.Caption   := GetMultiLingalMsg(90017,'Auto Paper Params');
  btnGuageInfo.Caption        := GetMultiLingalMsg(90018,'Material Guage Info');
  btnDataExport.Caption       := GetMultiLingalMsg(90019,'Year~Export Data');
  btnHisReport.Caption        := GetMultiLingalMsg(90020,'History Report List');
end;





procedure TfrmMain.btnMonthCloseClick(Sender: TObject);
var
  frmInvAccount: TfrmInvAccount;
begin
  Screen.Cursor := crSqlWait;
  frmInvAccount := TfrmInvAccount.Create(self);
  with frmInvAccount do
  begin
    frmInvAccount.ShowModal;
  end;
  Screen.Cursor := crDefault;
end;

procedure TfrmMain.btnYearAnalyzerClick(Sender: TObject);
var
  frmAccountAge: TfrmAccountAge;
begin
  Screen.Cursor := crSqlWait;
  frmAccountAge := TfrmAccountAge.Create(self);
  with frmAccountAge do
  begin
    frmAccountAge.ShowModal;
  end;
  Screen.Cursor := crDefault;
end;

procedure TfrmMain.btnUserClick(Sender: TObject);
var frmUser: TfrmUser;
begin
  Screen.Cursor := crSqlWait;
  frmUser := TfrmUser.Create(Self);
  with frmUser do
  begin
    frmUser.Show;
  end;
  Screen.Cursor := crDefault;
end;


procedure TfrmMain.settingUserFunction;
begin
{
  if frmPassword.FUserPrivilege.bom_func=1 then btnBOMCheck.Enabled := true
  else btnBOMCheck.Enabled := false;
 }
  if frmPassword.FUserPrivilege.stk_func=1 then btnStockQuery.Enabled := true
  else btnStockQuery.Enabled := false;

  if frmPassword.FUserPrivilege.matin_func=1 then btnMatIN.Enabled := true

⌨️ 快捷键说明

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