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

📄 thunit.pas

📁 一个票据管理系统
💻 PAS
📖 第 1 页 / 共 4 页
字号:
unit ThUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, StdCtrls, ComCtrls, GridsEh, DBGridEh, ExtCtrls,
  PrnDbgeh,prvieweh,printers;

type
  TThForm = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    Panel1: TPanel;
    Panel2: TPanel;
    DBGridEh1: TDBGridEh;
    DBGridEh2: TDBGridEh;
    Panel4: TPanel;
    Panel5: TPanel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Panel6: TPanel;
    DBGridEh3: TDBGridEh;
    Panel7: TPanel;
    Panel8: TPanel;
    DBGridEh4: TDBGridEh;
    DBGridEh5: TDBGridEh;
    Panel9: TPanel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    ComboBox3: TComboBox;
    DateTimePicker2: TDateTimePicker;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    ComboBox4: TComboBox;
    Edit8: TEdit;
    Button4: TButton;
    Panel10: TPanel;
    Panel11: TPanel;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    Panel12: TPanel;
    DBGridEh6: TDBGridEh;
    Labelid2: TLabel;
    Panel3: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    ComboBox1: TComboBox;
    DateTimePicker1: TDateTimePicker;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    ComboBox2: TComboBox;
    Edit4: TEdit;
    Button1: TButton;
    Button2: TButton;
    Labelid1: TLabel;
    PrintDBGridEh1: TPrintDBGridEh;
    PrintDBGridEh2: TPrintDBGridEh;
    Button3: TButton;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    Labelid3: TLabel;
    procedure delnewll;
    procedure kqhznewll;
    procedure kqmsnewll;
    procedure thkqmsnewll;
    procedure Grbox1comboboxnew;
    procedure page2combobox3new;
    procedure thbmnewll;
    procedure thnewll;
    procedure bmthnewll;
    procedure formcreate(Sender: TObject);
    procedure comboboxchange(Sender: TObject);
    procedure combobox4new;
    procedure dbgrideh1cellclick(Column: TColumnEh);
    procedure dbgrideh4cellclick(Column: TColumnEh);
    procedure combobox4change(Sender: TObject);
    procedure combobox1keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DateTimePicker1keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edit1keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edit2keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edit3keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure combobox2keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edit4keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure combobox3keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DateTimePicker2keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edit5keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edit6keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edit7keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure combobox4keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edit8keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Button3Click(Sender: TObject);
    procedure dbgrideh5cellclick(Column: TColumnEh);
    procedure Button4Click(Sender: TObject);
    procedure edit1change(Sender: TObject);
    procedure edit2change(Sender: TObject);
    procedure edit5change(Sender: TObject);
    procedure edit6change(Sender: TObject);
    procedure dbgrideh6celclick(Column: TColumnEh);
    procedure dbgrideh2cellclick(Column: TColumnEh);
    procedure dbgrideh3cellclick(Column: TColumnEh);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure edit1keypress(Sender: TObject; var Key: Char);
    procedure edti2keypress(Sender: TObject; var Key: Char);
    procedure edit3keypress(Sender: TObject; var Key: Char);
    procedure edit5keypress(Sender: TObject; var Key: Char);
    procedure edit7keypress(Sender: TObject; var Key: Char);
    procedure edit6keypress(Sender: TObject; var Key: Char);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);

  private
    { Private declarations }
     id,ms_id,qt,unm,sl,th_qt:integer;
    ql_id,qxhm,jxhm,lybm,lyr:string;
  public
    { Public declarations }
  end;

var
  ThForm: TThForm;

implementation
uses dm;
{$R *.dfm}
procedure tthform.delnewll;
begin
 with dmdata.KqADOQuery do
 begin
   close;
   sql.Clear;
   sql.Add('delete from t_kqb where sl = 0');
   execsql;
 end;
end;
procedure tthform.kqhznewll;
begin
 with dmdata.KqADOQuery do
 begin
   close;
   sql.Clear;
   sql.Add('select a.ql, sum(b.sl) as sl from t_bjql as a inner join T_Kqb as b on a.km = b.ql_id where (KQBM = ''库存'') and (qt = 0) group by a.ql');
   open;
 end;
end;
procedure tthform.kqmsnewll;
begin
     with dmdata.KqMsADOQuery do
     begin
       close;
       sql.Clear;
       sql.Add('select a.ql,b.id,b.ms_id,b.rq,b.sl,b.qxhm,b.jxhm from t_bjql as a inner join t_kqb as b on a.km = b.ql_id where (KQBM = ''库存'') and (qt = 0) and (ql=:a)' );
       parameters.ParamByName('a').Value:=trim(combobox1.Text);
       open;
     end;
end;
procedure tthform.thkqmsnewll;
begin
    with dmdata.KqqsADOQuery do
     begin
       close;
       sql.Clear;
       sql.Add('select * from t_bm where dwbm=:a');
       parameters.ParamByName('a').Value:=trim(combobox4.Text);
       open;
     end;
     with dmdata.thKqADOQuery do
     begin
       close;
       sql.Clear;
       sql.Add('select a.ql,b.id,b.ms_id,b.rq,b.sl,b.qxhm,b.jxhm,b.kqbm from t_bjql as a inner join t_kqb as b on a.km = b.ql_id where (KQBM = :a) and (qt = 1)' );
       parameters.ParamByName('a').Value:=trim(dmdata.KqqsADOQuery.fieldbyname('km').AsString);
       open;
     end;
end;
procedure Tthform.Grbox1comboboxnew;
begin
  dmdata.BjqlADOTable.Active:=false;
  dmdata.BjqlADOTable.Active:=true;
   dmdata.BjqlADOTable.First;
   while not dmdata.BjqlADOTable.eof do
   begin
     combobox1.Items.Add(dmdata.BjqlADOTable['QL']);
     dmdata.BjqlADOTable.Next;
   end;
        combobox1.Text:=dmdata.KqADOQuery.fieldbyname('ql').AsString;
end;
procedure tthform.page2combobox3new;
begin
 dmdata.BjqlADOTable.Active:=false;
  dmdata.BjqlADOTable.Active:=true;
   dmdata.BjqlADOTable.First;
   while not dmdata.BjqlADOTable.eof do
   begin
     combobox3.Items.Add(dmdata.BjqlADOTable['QL']);
     dmdata.BjqlADOTable.Next;
   end;
       // combobox3.Text:=dmdata.KqADOQuery.fieldbyname('ql').AsString;
end;
procedure tthform.thbmnewll;
begin
 with dmdata.bmADOQuery do
 begin
   close;
   sql.Clear;
   sql.Add('select * from t_bm ');
   open;
 end;
end;
procedure tthForm.combobox4new;
begin
   dmdata.bmADOTable.Active:=false;
  dmdata.bmADOTable.Active:=true;
   dmdata.BmADOTable.First;
   while not dmdata.BmADOTable.eof do
   begin
     combobox4.Items.Add(dmdata.bmADOTable['dwbm']);
     dmdata.bmADOTable.Next;
   end;
   combobox4.Text:=dmdata.bmADOQuery.fieldbyname('dwbm').AsString;
end;
procedure tthform.thnewll;
begin
  with dmdata.thADOQuery do
  begin
    close;
    sql.Clear;
    sql.Add('select a.id,a.ql_id,a.rq,a.sl,a.qxhm,a.jxhm,a.qt,a.thbm,a.qt,a.thr,a.ms_id,a.th_qt,b.ql from t_th as a,t_bjql as b where (a.ql_id=b.km)and(a.th_qt= 0) order by a.id');
    open;
  end;
end;
procedure tthform.bmthnewll;
begin
    with dmdata.bmthADOQuery do
  begin
    close;
    sql.Clear;
    sql.Add('select a.id,a.ql_id,a.rq,a.sl,a.qxhm,a.jxhm,a.qt,a.thbm,a.qt,a.thr,a.ms_id,a.th_qt,b.ql,c.DWBM from t_th as a,t_bjql as b,t_bm as c where (a.ql_id=b.km)and(a.thbm=c.KM)and(a.th_qt=1) order by a.id');
    open;
  end;
end;
procedure TThForm.formcreate(Sender: TObject);
var
 yy,mm,dd:word;
begin
   delnewll;
   kqhznewll;
   thbmnewll;
   combobox4new;
   Grbox1comboboxnew;
   page2combobox3new;
   comboboxchange(Sender);
   combobox4change(Sender);
  datetimepicker1.Date:=dmdata.ADOTable_T_user['date'];
  datetimepicker2.Date:=dmdata.ADOTable_T_user['date'];
  thnewll;
  bmthnewll;
   decodedate(dmdata.ADOTable_T_user.fieldbyname('date').AsDateTime,yy,mm,dd);
   printdbgrideh1.PageHeader.CenterText.Add(dmdata.ADOTable_T_user.fieldbyname('dh').AsString);
   printdbgrideh1.Title.Add(inttostr(yy)+'年'+inttostr(mm)+'月份退回上级部门票据');
   printdbgrideh1.PageFooter.RightText.Add('第&[Page]页 共&[Pages]页'+'打印日期:'+DateToStr(Now));
   printdbgrideh1.PageFooter.CenterText.add('制表人:'+dmdata.ADOTable_T_user.fieldbyname('name').AsString);
   printdbgrideh1.PageFooter.LeftText.Add('退票人:            ');

   printdbgrideh2.PageHeader.CenterText.Add(dmdata.ADOTable_T_user.fieldbyname('dh').AsString);
   printdbgrideh2.Title.Add(inttostr(yy)+'年'+inttostr(mm)+'月份下属部门退回票据');
   printdbgrideh2.PageFooter.RightText.Add('第&[Page]页 共&[Pages]页'+'打印日期:'+DateToStr(Now));
   printdbgrideh2.PageFooter.CenterText.add('制表人:'+dmdata.ADOTable_T_user.fieldbyname('name').AsString);
   printdbgrideh2.PageFooter.LeftText.Add('退票人:            ');
   button1.Enabled:=false;
   button2.Enabled:=false;
   button3.Enabled:=false;
   button4.Enabled:=false;
   edit1.MaxLength:=dm.DMData.pjlen;
   edit2.MaxLength:=dm.DMData.pjlen;
   edit3.MaxLength:=dm.DMData.pjlen;
   edit5.MaxLength:=dm.DMData.pjlen;
   edit6.MaxLength:=dm.DMData.pjlen;
   edit7.MaxLength:=dm.DMData.pjlen;
end;

procedure TThForm.comboboxchange(Sender: TObject);
begin
    with dmdata.BjqlADOQuery do
   begin
     close;
     sql.Clear;
     sql.Add('select * from t_bjql where ql= :a');
     parameters.ParamByName('a').Value:=trim(combobox1.Text);
     open;
     unm:= fieldByName('mbf').AsInteger;
   end;
   kqmsnewll;
end;

procedure TThForm.dbgrideh1cellclick(Column: TColumnEh);
begin
   with dmdata.KqADOQuery do
   begin
     if RecordCount > 0 then
      begin
        combobox1.Text:=dmdata.KqADOQuery.fieldbyname('ql').AsString;
      end;
   end;
   kqmsnewll;
end;

procedure TThForm.dbgrideh4cellclick(Column: TColumnEh);
begin
    with dmdata.bmADOQuery do
   begin
     if RecordCount > 0 then
      begin
        combobox4.Text:=dmdata.bmADOQuery.fieldbyname('dwbm').AsString;
      end;
   end;
   thkqmsnewll;
end;

procedure TThForm.combobox4change(Sender: TObject);
begin
  thkqmsnewll;
end;

procedure TThForm.combobox1keydown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if key = vk_return then
  begin
    datetimepicker1.SetFocus;
  end;
end;

procedure TThForm.DateTimePicker1keydown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
       if key = vk_return then
  begin
    edit1.SetFocus;
  end;
  if key = vk_up then
  begin
    combobox1.SetFocus;
  end;    
end;

procedure TThForm.edit1keydown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if (key = vk_return) or (key = vk_down) then
  begin
     edit2.SetFocus;
  end;
  if key = vk_up then
  begin
     datetimepicker1.SetFocus;
  end;   
end;

⌨️ 快捷键说明

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