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

📄 rates.pas

📁 一个鞋塑企业的计件工资系统.开发目录为:D:PieceRate
💻 PAS
字号:
unit Rates;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ToolWin, dxExEdtr, DB, dxCntner, dxTL, dxDBCtrl,
  dxDBTL, ExtCtrls, jpeg, StdCtrls, dxEditor, dxEdLib, dxDBGrid,DBGrids,
  dxDBTLCl, dxGrClms, Mask;

type
  TfrmRates = class(TForm)
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ToolButton12: TToolButton;
    ToolButton10: TToolButton;
    ToolButton13: TToolButton;
    ToolButton11: TToolButton;
    ToolButton1: TToolButton;
    dsRates: TDataSource;
    Image1: TImage;
    Label3: TLabel;
    edtModelID: TdxEdit;
    Label1: TLabel;
    edtColor: TdxEdit;
    Label2: TLabel;
    edtShoeSize: TdxEdit;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    grdRatesList: TdxDBGrid;
    Label10: TLabel;
    Panel1: TPanel;
    grdRatesListModelID: TdxDBGridMaskColumn;
    grdRatesListColor: TdxDBGridMaskColumn;
    grdRatesListShoeSize: TdxDBGridMaskColumn;
    grdRatesListRateA: TdxDBGridCurrencyColumn;
    grdRatesListRateB: TdxDBGridCurrencyColumn;
    grdRatesListRateC: TdxDBGridCurrencyColumn;
    grdRatesListPicecARate: TdxDBGridCurrencyColumn;
    grdRatesListPicecBRate: TdxDBGridCurrencyColumn;
    grdRatesListcheckRate: TdxDBGridCurrencyColumn;
    edtRateA: TdxCurrencyEdit;
    edtRateB: TdxCurrencyEdit;
    edtRateC: TdxCurrencyEdit;
    edtPicecARate: TdxCurrencyEdit;
    edtPicecBRate: TdxCurrencyEdit;
    edtCheckRate: TdxCurrencyEdit;
    edtNotes: TdxEdit;
    SaveDialog: TSaveDialog;
    ToolButton6: TToolButton;
    procedure ToolButton11Click(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure TextSaveToRates();
    procedure RateFromToText();
    procedure FormShow(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton8Click(Sender: TObject);
    procedure ToolButton9Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure ToolButton10Click(Sender: TObject);
    procedure grdRatesListClick(Sender: TObject);
    procedure ToolButton12Click(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
    procedure edtRateAExit(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmRates: TfrmRates;

implementation

{$R *.dfm}

uses
  DataCenter,frmSearchRate;

procedure TfrmRates.ToolButton11Click(Sender: TObject);
begin
  close;
end;

procedure TfrmRates.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then { 判断是按执行键}
  if not (ActiveControl is TDbgrid) Then
  Begin { 不是在TDbgrid控件内}
    key:=#0;
    perform(WM_NEXTDLGCTL,0,0);{移动到下一个控件}
  end;
end;

procedure TfrmRates.TextSaveToRates();
begin
  with dmData do
  begin
    aquRates.FieldByName('ModelID').AsString:=edtModelID.Text;
    aquRates.FieldByName('Color').AsString:=edtColor.Text;
    aquRates.FieldByName('ShoeSize').AsString:=edtShoeSize.Text;
    aquRates.FieldByName('RateA').AsCurrency:=edtRateA.Value;
    aquRates.FieldByName('RateB').AsCurrency:=edtRateB.Value;
    aquRates.FieldByName('RateC').AsCurrency:=edtRateC.Value;
    aquRates.FieldByName('PicecARate').AsCurrency:=edtPicecARate.Value;
    aquRates.FieldByName('PicecBRate').AsCurrency:=edtPicecBRate.Value;
    aquRates.FieldByName('CheckRate').AsCurrency:=edtCheckRate.Value;
    aquRates.FieldByName('Notes').AsString:=edtNotes.Text;
  end;
end;

procedure TfrmRates.RateFromToText();
begin
  with dmData do
  begin
    edtModelID.Text:=aquRates.FieldByName('ModelID').AsString;
    edtColor.Text:=aquRates.FieldByName('Color').AsString;
    edtShoeSize.Text:=aquRates.FieldByName('ShoeSize').AsString;
    edtRateA.Text:=aquRates.FieldByName('RateA').AsString;
    edtRateB.Text:=aquRates.FieldByName('RateB').AsString;
    edtRateC.Text:=aquRates.FieldByName('RateC').AsString;
    edtPicecARate.Text:=aquRates.FieldByName('PicecARate').AsString;
    edtPicecBRate.Text:=aquRates.FieldByName('PicecBRate').AsString;
    edtCheckRate.Text:=aquRates.FieldByName('CheckRate').AsString;
    edtNotes.Text:=aquRates.FieldByName('Notes').AsString;
  end;
end;

procedure TfrmRates.FormShow(Sender: TObject);
begin
  dmData.aquRates.Close;
  dmData.aquRates.SQL.Clear;
  dmData.aquRates.SQL.Add('select * from Rates order by ModelId,Color,ShoeSize');
  dmData.aquRates.Open;
  RateFromToText();

end;

procedure TfrmRates.ToolButton2Click(Sender: TObject);
begin
  dmData.aquRates.First;
  RateFromToText();
end;

procedure TfrmRates.ToolButton3Click(Sender: TObject);
begin
  dmData.aquRates.Prior;
  RateFromToText();
end;

procedure TfrmRates.ToolButton4Click(Sender: TObject);
begin
  dmData.aquRates.Next;
  RateFromToText();
end;

procedure TfrmRates.ToolButton5Click(Sender: TObject);
begin
  dmData.aquRates.Last;
  RateFromToText();
end;

procedure TfrmRates.ToolButton8Click(Sender: TObject);
begin
  if grdRatesList.IsActive then edtModelID.SetFocus;
  dmData.aquRates.Append;
  RateFromToText();
  edtModelId.SetFocus;
end;

procedure TfrmRates.ToolButton9Click(Sender: TObject);
begin
  if grdRatesList.IsActive then edtModelID.SetFocus;
  if not (dmData.aquRates.State in [dsInsert,dsEdit]) then dmData.aquRates.Edit;
  TextSaveToRates();
  dmData.aquRates.UpdateBatch();
  MessageDlg('数据保存成功!',mtInformation,[mbOk],0);
end;

procedure TfrmRates.ToolButton1Click(Sender: TObject);
begin
  dmData.aquRates.CancelBatch();
end;

procedure TfrmRates.ToolButton10Click(Sender: TObject);
begin
  if MessageDlg('确定删除此工价资料吗?',mtConfirmation,[mbOk,mbCancel],0)=mrOk then
    dmData.aquRates.Delete;
  dmData.aquRates.UpdateBatch;
  RateFromToText();
end;

procedure TfrmRates.grdRatesListClick(Sender: TObject);
begin
  RateFromToText();
end;

procedure TfrmRates.ToolButton12Click(Sender: TObject);
begin
  if SaveDialog.Execute then
  begin
    if FileExists(SaveDialog.FileName) then
      if MessageDlg(Format('文件"'+SaveDialog.FileName+'"已经存在,是否替换原有文件?', [SaveDialog.FileName]),mtConfirmation, mbYesNoCancel, 0) <> idYes then Exit;
    grdRatesList.SaveToXLS(SaveDialog.FileName,true);
  end;
end;

procedure TfrmRates.ToolButton6Click(Sender: TObject);
var
  lcSearchStr1,lcSearchStr2,lcSearchStr3:String;
begin
  application.CreateForm(TSearchRateForm,SearchRateForm);
  grdRatesList.DataSource:=nil;
  if SearchRateForm.ShowModal=mrOk then
  begin
  grdRatesList.DataSource:=dsRates;
  with dmData.aquRates do
    begin
      lcSearchStr1:=SearchRateForm.dsRates.DataSet.FieldValues['ModelID'];
      lcSearchStr2:=SearchRateForm.dsRates.DataSet.FieldValues['Color'];
      lcSearchStr3:=SearchRateForm.dsRates.DataSet.FieldValues['Shoesize'];
      sql.Clear;
      sql.Text:='select * from Rates';
      open;
      locate('ModelID;Color;Shoesize',VarArrayOf([lcSearchStr1,lcSearchStr2,lcSearchStr3]),[loPartialKey]);
    end;
  end;
  SearchRateForm.Free;
end;

procedure TfrmRates.edtRateAExit(Sender: TObject);
begin
  edtRateB.Value:=edtRateA.Value*0.8;
end;

end.

⌨️ 快捷键说明

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