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

📄 selldailyfrm.~pas

📁 相关的销售服务管理行业的一个软件
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit SellDailyFrm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Grids, DBGridEh, Mask, DBCtrls, ExtCtrls, ComCtrls, Buttons,
  ToolWin, Db, ADODB, ActnList, EHGrids;

type
  TFormMode = (fmBrowse,fmInsert,fmEdit,fmDelete,fmAccept,fmCancel);
  TSellDailyForm = class(TForm)
    Panel2: TPanel;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    Rb3: TADOQuery;
    ActionList1: TActionList;
    AInsert: TAction;
    AEdit: TAction;
    ADelete: TAction;
    AAccept: TAction;
    ACancel: TAction;
    AExit: TAction;
    APrint: TAction;
    AAddRow: TAction;
    ADeleteRow: TAction;
    Rb5: TADOQuery;
    preview: TAction;
    Rb1: TADOQuery;
    Rb1DSDesigner: TWideStringField;
    Rb1DSDesigner2: TWideStringField;
    Rb1DSDesigner3: TDateTimeField;
    Rb1DSDesigner4: TFloatField;
    Rb1DSDesigner5: TFloatField;
    Rb1DSDesigner6: TWideStringField;
    Rb1Field: TStringField;
    Rb1DSDesigner7: TWideStringField;
    ADOQuery2: TADOQuery;
    ADOQuery2DSDesigner: TWideStringField;
    ADOQuery2DSDesigner2: TWideStringField;
    ADOQuery2DSDesigner3: TFloatField;
    ADOQuery2DSDesigner4: TFloatField;
    ADOQuery2StringField: TStringField;
    ADOQuery2Field: TStringField;
    ADOQuery2Field1: TStringField;
    ADOQuery4: TADOQuery;
    DBGridEh1: TDBGridEh;
    Panel4: TPanel;
    Label2: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    DBEdit1: TDBEdit;
    DBEdit5: TDBEdit;
    DBLookupComboBox2: TDBLookupComboBox;
    DBEdit2: TDBEdit;
    DateTimePicker1: TDateTimePicker;
    ToolBar1: TToolBar;
    BitBtn10: TBitBtn;
    BitBtn1: TBitBtn;
    ToolButton4: TToolButton;
    ToolButton3: TToolButton;
    BitBtn4: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn6: TBitBtn;
    BitBtn7: TBitBtn;
    BitBtn9: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn8: TBitBtn;
    ToolButton1: TToolButton;
    BtnFind: TBitBtn;
    ToolButton2: TToolButton;
    BitBtn5: TBitBtn;
    BitBtn11: TBitBtn;
    procedure FormActivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn1Click(Sender: TObject);
    procedure AInsertExecute(Sender: TObject);
    procedure AEditExecute(Sender: TObject);
    procedure AAcceptExecute(Sender: TObject);
    procedure ACancelExecute(Sender: TObject);
    procedure AExitExecute(Sender: TObject);
    procedure ADOQuery2PostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure AAddRowExecute(Sender: TObject);
    procedure ADeleteRowExecute(Sender: TObject);
    procedure previewExecute(Sender: TObject);
    procedure APrintExecute(Sender: TObject);
    procedure BtnFindClick(Sender: TObject);
    procedure BitBtn10Click(Sender: TObject);
    procedure DateTimePicker1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure DataSource1DataChange(Sender: TObject; Field: TField);
    procedure BitBtn6Click(Sender: TObject);
    procedure ADOQuery2BeforePost(DataSet: TDataSet);
    procedure DBEdit1Change(Sender: TObject);
    procedure ADeleteExecute(Sender: TObject);
    procedure BitBtn11Click(Sender: TObject);
  private
    { Private declarations }
    FFormMode: TFormMode;
    FCurrentDailyCode: String;
    procedure SetFormMode(const Value: TFormMode);
    procedure InitDataSet;
    procedure SetReadOnly(const Value: boolean);
    procedure SetCurrentDailyCode(const Value: String);
    function ValidityCheck: Boolean;
  public
    { Public declarations }
    property FormMode: TFormMode read FFormMode write SetFormMode;
    property CurrentDailyCode: String read FCurrentDailyCode write SetCurrentDailyCode ;
  end;

var
  SellDailyForm: TSellDailyForm;

implementation

uses Umain, U_DM, import1, URBFind;

{$R *.DFM}

procedure TSellDailyForm.FormActivate(Sender: TObject);
begin
  frmmain.LTitle.Caption := '日报管理';
  frmmain.Outlook1.Visible:=False;
  frmmain.Panel1.Visible:=true;
  frmmain.Panel2.Visible:=false;

end;

procedure TSellDailyForm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  Frmmain.Outlook1.Visible :=true;
  frmmain.Panel1.Visible:=true;
  Frmmain.Panel2.Visible:=True;
  frmmain.Label1.Caption:='';
  frmmain.LTitle.Caption := '';
  Action := caFree;
  SellDailyForm := nil;
end;

procedure TSellDailyForm.BitBtn1Click(Sender: TObject);
begin
  Close;
end;

procedure TSellDailyForm.SetFormMode(const Value: TFormMode);
  procedure SetBrowse;
  begin
    AInsert.Enabled := true;
    AEdit.Enabled := true;
    ADelete.Enabled := true;
    AAddRow.Enabled := false;
    ADeleteRow.Enabled := false;
    AAccept.Enabled := false;
    ACancel.Enabled := false;
    BtnFind.Enabled :=true;
    AExit.Enabled := true;
    SetReadOnly(true);
    BitBtn6.Enabled :=true;
    DBEdit1.Enabled := true;
//    DBEdit6.Enabled := true;
  end;
  procedure SetInsert;
  var
    MaxCode: string;
  begin
    AInsert.Enabled := false;
    AEdit.Enabled := false;
    ADelete.Enabled := false;
    AAddRow.Enabled := true;
    ADeleteRow.Enabled := true;
    AAccept.Enabled := true;
    ACancel.Enabled := true;
    BtnFind.Enabled :=false;
    AExit.Enabled := true;
    SetReadOnly(false);
    DBEdit1.Enabled := false;
//    DBEdit6.Enabled := false;
      DateTimePicker1.Enabled :=true;
    if Rb1.Active=false then
    Rb1.Open;

    Rb1.Append;
    with Rb5 do
    begin
      Close;
      SQL.Clear;
      SQL.Add(' Select Max(DailyCode) AS MaxCode From xs_DailyMaster ');
      Open;
    end;
   // showmessage(Rb5.Fields[0].AsString );
    if (Rb5.Fields[0].AsString ='') then
     MaxCode:='00000001'
    else
    MaxCode := FormatFloat('00000000',StrToInt(rb5.FieldByName('MaxCode').asstring)+1);
    Rb1.Edit;
    Rb1.FieldByName('日报编号').AsString :=MaxCode;

    if ADOQuery2.Active=false then
     ADOQuery2.Open;
    ADOQuery2.Append;

    // DBEdit6.Text:=DateToStr(Date);
     Rb1.FieldByName('上报时间').value := Date;

  end;
  procedure SetEdit;
  begin
    AInsert.Enabled := false;
    AEdit.Enabled := false;
    ADelete.Enabled := true;
    AAddRow.Enabled := true;
    ADeleteRow.Enabled := true;
    AAccept.Enabled := true;
    ACancel.Enabled := true;
    AExit.Enabled := true;
    BtnFind.Enabled :=false;
    SetReadOnly(false);
    DBEdit1.Enabled := false;
    BitBtn6.Enabled :=false;
//    DBEdit6.Enabled := false;
  DateTimePicker1.Enabled :=true;
    Rb1.Open;
    ADOQuery2.Open;
    Rb1.Edit;
    ADOQuery2.Edit;

  end;
  procedure ExeCancel;
  begin
    Rb1.CancelBatch;
    ADOQuery2.CancelBatch;
    FormMode := fmBrowse;
  end;
  procedure ExeAccept;
  begin
    if ValidityCheck then
    begin
      Rb1.Edit ;
      Rb1.FieldByName('上报时间').AsString:=DateToStr(DateTimePicker1.DateTime);
      try
       DM.ADOConnection.BeginTrans ;
       Rb1.UpdateBatch;
       ADOQuery2.updateBatch;
       DM.ADOConnection.CommitTrans ;
       Application.MessageBox('保存成功','信息',64);
      except
        DM.ADOConnection.RollbackTrans ;
        Application.MessageBox('保存失败请查看,当前日期已存在日报表','信息',64);
        system.exit;
      end;
      FormMode := fmBrowse;
    end;
  end;
begin
  FFormMode := Value;
  case Value of
    fmBrowse: SetBrowse;
    fmInsert: SetInsert;
    fmEdit:   SetEdit;
    fmAccept: ExeAccept;
    fmCancel: ExeCancel;
  end;//case
end;

procedure TSellDailyForm.InitDataSet;
begin
{  with Rb1 do
  begin
    Close;
    Open
  end;      }
end;

procedure TSellDailyForm.SetReadOnly(const Value: boolean);
begin
  DBEdit1.ReadOnly := Value;
  DBLookupComboBox2.ReadOnly := Value;
  DBEdit5.ReadOnly := Value;
  DBEdit2.ReadOnly := Value;
  DBGridEh1.ReadOnly := Value;
  DateTimePicker1.Enabled :=false;
end;

procedure TSellDailyForm.AInsertExecute(Sender: TObject);
begin
  if FormMode<>fmInsert then
   FormMode := fmInsert;
end;

⌨️ 快捷键说明

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