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

📄 sumheji.pas

📁 delphi+sql server 我是delphi的初学者
💻 PAS
字号:
unit SUMHEJI;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, Grids, DBGrids, StdCtrls, ComCtrls, Buttons, ExtCtrls,
  dxExEdtr, dxTL, dxDBCtrl, dxDBGrid, dxCntner, dxEditor, dxEdLib;

type
  TFRMSUM = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Button1: TButton;
    Button2: TButton;
    Edid: TEdit;
    Czt: TComboBox;
    Clx: TComboBox;
    dxCurrencyEdit1: TdxCurrencyEdit;
    DateTimePicker1: TDateTimePicker;
    Cdd: TComboBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Edlist: TEdit;
    Label7: TLabel;
    procedure Button2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure EdidKeyPress(Sender: TObject; var Key: Char);
    procedure EdidKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure CztKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ClxKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure dxCurrencyEdit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DateTimePicker1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure CddKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FRMSUM: TFRMSUM;

implementation
USES UDM;
{$R *.dfm}

procedure TFRMSUM.Button2Click(Sender: TObject);
begin
   close;
end;

procedure TFRMSUM.FormShow(Sender: TObject);
 var
   counter:Integer;
   id:string;
begin
  Edlist.Enabled:=False;
  Edlist.Color:=clScrollBar;
  Edid.Text:='';
  Czt.Text:='';
  Clx.Text:='';
  Cdd.Text:='';
  DateTimePicker1.Date:=Date;
   with dm.qrytemp do
     begin
       Close;
       SQL.Clear;
       SQL.Add('select djzt from meun_zt');
       Prepared;
       Open;
     end;
    Czt.Items.Clear;
    while not dm.qrytemp.Eof do
      begin
        Czt.Items.Append(dm.qrytemp.Fields[0].AsString);
        DM.qrytemp.Next;
      end;


   with dm.qrytemp do
     begin
       Close;
       SQL.Clear;
       SQL.Add('select typename from typeunit');
       Prepared;
       Open;
     end;
    Clx.Items.Clear;
    while not dm.qrytemp.Eof do
      begin
        Clx.Items.Append(dm.qrytemp.Fields[0].AsString);
        DM.qrytemp.Next;
      end;
   with dm.qrytemp do
    begin
      close;
      sql.Clear;
      sql.Add('select * from ly_place');
      prepared;
      open;
    end;
    Cdd.Items.Clear;
    while not dm.qrytemp.Eof do
    begin
      Cdd.Items.Append(dm.qrytemp.Fields[2].asstring);
      dm.qrytemp.Next;
    end;

   with DM.T_COUNTER do
     begin
      Filter:='id=''B''';
      Filtered:=true;
      open;
      counter:=fieldbyname('countervalues').AsInteger;
      inc(counter);
      edit;
      fieldbyname('countervalues').AsInteger:=counter;
      post;
      close;
     end;
     id:='000'+inttostr(counter);
     id:=copy(id,length(id)-3,4);
     id:=formatdatetime('yyyy',now)+id;
     Edlist.Text:=id;
end;

procedure TFRMSUM.Button1Click(Sender: TObject);
begin
  if not DM.ADOlibnumberls.Locate('numberid;numbertype;libnumberplace',VarArrayOf([Edid.Text,Clx.Text,Cdd.Text]),[]) then
    begin
     if Cdd.Text='前台' then
      begin
        with dm.qrytemp do
          begin
            Close;
            SQL.Clear;
            SQL.Add('insert into libnumberls');
            SQL.Add('(list,numberid,numbertype,hxbz,rq,lypername,jine,A,B,libnumberplace,zt,sxdm)');
            SQL.Add('values(:list,:numberid,:numbertype,1,:djdate,:lypername,:jine,1,1,:libnumberplace,:ZT,''01'')');
            Parameters.ParamByName('list').Value:=Edlist.Text;
            Parameters.ParamByName('numberid').Value:=Edid.Text;
            Parameters.ParamByName('numbertype').Value:=Clx.Text;
            Parameters.ParamByName('djdate').Value:=DateTimePicker1.Date;
            Parameters.ParamByName('lypername').Value:=dm.hname;
            Parameters.ParamByName('jine').Value:=dxCurrencyEdit1.Value;
            Parameters.ParamByName('libnumberplace').Value:=Cdd.Text;
            Parameters.ParamByName('zt').Value:=Czt.Text;
            try
             ExecSQL;
             except
             MessageBox(Handle,'添加数据失败','系统提示',MB_ICONINFORMATION+MB_OKCANCEL);
             Exit;
            end;
          end;
      end
      else
      if Cdd.Text='大堂吧' then
       begin
        with dm.qrytemp do
          begin
            Close;
            SQL.Clear;
            SQL.Add('insert into libnumberls');
            SQL.Add('(list,numberid,numbertype,hxbz,rq,lypername,jine,A,B,libnumberplace,zt,sxdm)');
            SQL.Add('values(:list,:numberid,:numbertype,1,:djdate,:lypername,:jine,1,1,:libnumberplace,:ZT,''02'')');
            Parameters.ParamByName('list').Value:=Edlist.Text;
            Parameters.ParamByName('numberid').Value:=Edid.Text;
            Parameters.ParamByName('numbertype').Value:=Clx.Text;
            Parameters.ParamByName('djdate').Value:=DateTimePicker1.Date;
            Parameters.ParamByName('lypername').Value:=dm.hname;
            Parameters.ParamByName('jine').Value:=dxCurrencyEdit1.Value;
            Parameters.ParamByName('libnumberplace').Value:=Cdd.Text;
            Parameters.ParamByName('zt').Value:=Czt.Text;
            try
             ExecSQL;
             except
             MessageBox(Handle,'添加数据失败','系统提示',MB_ICONINFORMATION+MB_OKCANCEL);
             Exit;
            end;
          end;
       end
       else
      if Cdd.Text='西餐厅' then
       begin
        with dm.qrytemp do
          begin
            Close;
            SQL.Clear;
            SQL.Add('insert into libnumberls');
            SQL.Add('(list,numberid,numbertype,hxbz,rq,lypername,jine,A,B,libnumberplace,zt,sxdm)');
            SQL.Add('values(:list,:numberid,:numbertype,1,:djdate,:lypername,:jine,1,1,:libnumberplace,:ZT,''03'')');
            Parameters.ParamByName('list').Value:=Edlist.Text;
            Parameters.ParamByName('numberid').Value:=Edid.Text;
            Parameters.ParamByName('numbertype').Value:=Clx.Text;
            Parameters.ParamByName('djdate').Value:=DateTimePicker1.Date;
            Parameters.ParamByName('lypername').Value:=dm.hname;
            Parameters.ParamByName('jine').Value:=dxCurrencyEdit1.Value;
            Parameters.ParamByName('libnumberplace').Value:=Cdd.Text;
            Parameters.ParamByName('zt').Value:=Czt.Text;
            try
             ExecSQL;
             except
             MessageBox(Handle,'添加数据失败','系统提示',MB_ICONINFORMATION+MB_OKCANCEL);
             Exit;
            end;
          end;
       end
       else
      if Cdd.Text='康乐部' then
       begin
        with dm.qrytemp do
          begin
            Close;
            SQL.Clear;
            SQL.Add('insert into libnumberls');
            SQL.Add('(list,numberid,numbertype,hxbz,rq,lypername,jine,A,B,libnumberplace,zt,sxdm)');
            SQL.Add('values(:list,:numberid,:numbertype,1,:djdate,:lypername,:jine,1,1,:libnumberplace,:ZT,''04'')');
            Parameters.ParamByName('list').Value:=Edlist.Text;
            Parameters.ParamByName('numberid').Value:=Edid.Text;
            Parameters.ParamByName('numbertype').Value:=Clx.Text;
            Parameters.ParamByName('djdate').Value:=DateTimePicker1.Date;
            Parameters.ParamByName('lypername').Value:=dm.hname;
            Parameters.ParamByName('jine').Value:=dxCurrencyEdit1.Value;
            Parameters.ParamByName('libnumberplace').Value:=Cdd.Text;
            Parameters.ParamByName('zt').Value:=Czt.Text;
            try
             ExecSQL;
             except
             MessageBox(Handle,'添加数据失败','系统提示',MB_ICONINFORMATION+MB_OKCANCEL);
             Exit;
            end;
          end;
       end;
    end
    else
    begin
      MessageBox(Handle,'您输入的单据已经存在','系统提示',MB_ICONINFORMATION+MB_OKCANCEL);
      Exit;
    end;
   DM.ADOlibnumberls.Close;
   DM.ADOlibnumberls.Open;
   CLOSE;
end;

procedure TFRMSUM.EdidKeyPress(Sender: TObject; var Key: Char);
begin
 if not (Key in ['0'..'9',#8]) then
   key:=#0;
end;

procedure TFRMSUM.EdidKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key=$0D then
  Czt.SetFocus;
end;

procedure TFRMSUM.CztKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key=$0D then
 Clx.SetFocus;
end;

procedure TFRMSUM.ClxKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if Key=$0D then
  dxCurrencyEdit1.SetFocus;
end;

procedure TFRMSUM.dxCurrencyEdit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if Key=$0D then
   DateTimePicker1.SetFocus;
end;

procedure TFRMSUM.DateTimePicker1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if Key=$0D then
  Cdd.SetFocus;
end;

procedure TFRMSUM.CddKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if Key=13 then
  Button1Click(Sender); 
end;

end.

⌨️ 快捷键说明

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