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

📄 q_dsk.pas

📁 汽配前台收费,一个具有详细功能的小系统
💻 PAS
字号:
unit q_dsk;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, Buttons, Mask, Db, Grids, DBGrids, DBTables;

type
  Tfrm_q_dsk = class(TForm)
    Panel1: TPanel;
    cb_time: TCheckBox;
    pe_time: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    txt_xx: TMaskEdit;
    txt_sx: TMaskEdit;
    cb_dw: TCheckBox;
    pe_dw: TPanel;
    txt_dw: TEdit;
    Bevel1: TBevel;
    rb_w: TRadioButton;
    rb_y: TRadioButton;
    Bevel2: TBevel;
    cmd_q: TBitBtn;
    cmd_ok: TBitBtn;
    qe_dsk: TQuery;
    ds_dsk: TDataSource;
    Panel4: TPanel;
    grd_dsk: TDBGrid;
    qe_dskds_time: TStringField;
    qe_dskds_time1: TStringField;
    qe_dskds_dw: TStringField;
    qe_dskds_cx: TStringField;
    qe_dskds_cph: TStringField;
    qe_dskds_fs: TStringField;
    qe_dskds_je: TFloatField;
    qe_dskds_fk_bs: TSmallintField;
    qe_dskds_cxch: TStringField;
    cmd_a: TBitBtn;
    qe_dskds_id: TIntegerField;
    procedure qe_dskCalcFields(DataSet: TDataSet);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormDestroy(Sender: TObject);
    procedure cmd_okClick(Sender: TObject);
    procedure cmd_qClick(Sender: TObject);
    procedure cmd_aClick(Sender: TObject);
    procedure cb_timeClick(Sender: TObject);
    procedure cb_dwClick(Sender: TObject);
    procedure rb_wClick(Sender: TObject);
    procedure rb_yClick(Sender: TObject);
  private
    { Private declarations }
    procedure QueryResult;
  public
    { Public declarations }
    ds_pos: integer;
  end;

var
  frm_q_dsk: Tfrm_q_dsk;

implementation

{$R *.DFM}

uses
  log, main, qt_dsk;

procedure Tfrm_q_dsk.QueryResult;
var
  strSQL: string;
  intResult: integer;
begin
  strSQL := '';
  intResult := 0;
  //
  if rb_w.Checked then
    strSQL := 'SELECT * FROM QT_DSK WHERE DS_FK_BS = 0 '
  else
    strSQL := 'SELECT * FROM QT_DSK WHERE DS_FK_BS = 1 ';
  //
  if cb_time.Checked then begin
    if Trim(txt_xx.EditText) = '0000-00-00' then begin
      MessageBox(Handle, '请确定代收时间', '沈阳信德', MB_ICONQUESTION or MB_OK);
      txt_xx.SetFocus;
      intResult := 1;
    end else begin
      if Trim(txt_sx.EditText) = '0000-00-00' then
        strSQL := strSQL + 'AND DS_TIME = ''' + Trim(txt_xx.EditText) + ''' '
      else
        strSQL := strSQL + 'AND DS_TIME >= ''' + Trim(txt_xx.EditText) + ''' AND DS_TIME <= ''' + Trim(txt_sx.EditText) + ''' ';  
    end;
  end;
  //
  if cb_dw.Checked then begin
    if Trim(txt_dw.Text) = '' then begin
      MessageBox(Handle, '请确定收款单位', '沈阳信德', MB_ICONQUESTION or MB_OK);
      txt_dw.SetFocus;
      intResult := 1;
    end else
      strSQL := strSQL + 'AND DS_DW LIKE ''%' + Trim(txt_dw.Text) + '%'' ';
  end;
  //
  if (not cb_time.Checked) and (not cb_dw.Checked) then begin
    MessageBox(Handle, '请确定查询条件', '沈阳信德', MB_ICONQUESTION or MB_OK);
    intResult := 1;
  end;
  //
  if intResult = 1 then
    Exit
  else begin
    strSQL := strSQL + 'ORDER BY DS_TIME ';
    qe_dsk.Close;
    qe_dsk.SQL.Clear;
    qe_dsk.SQL.Add(strSQL);
    qe_dsk.Open;
    qe_dsk.First;
    //
    if (qe_dsk.Bof) and (qe_dsk.Eof) then begin
      MessageBox(Handle, '没有找到符合条件的记录', '沈阳信德', MB_ICONQUESTION or MB_OK);
      qe_dsk.Close;
      Exit;
    end else begin
      if ds_pos = 1 then
        cmd_ok.Enabled := True;
    end;
  end;
end;

procedure Tfrm_q_dsk.qe_dskCalcFields(DataSet: TDataSet);
begin
  qe_dsk.FieldByName('ds_cxch').AsString := Trim(qe_dsk.FieldByName('ds_cx').AsString) + ' ' + Trim(qe_dsk.FieldByName('ds_cph').AsString);
end;

procedure Tfrm_q_dsk.FormShow(Sender: TObject);
begin
  if ds_pos = 1 then begin
    rb_w.Checked := True;
    rb_y.Enabled := False;
    cmd_a.Visible := False;
    cmd_ok.Visible := True;
    cmd_ok.Enabled := False;
  end else begin
    rb_w.Checked := True;
    rb_y.Enabled := True;
    cmd_a.Visible := True;
    cmd_ok.Visible := False;
    //
    frm_main.mu_cx_dsk.Enabled := False;
    frm_main.current_handle := Handle;
  end;
  //
  grd_dsk.Columns[1].Visible := False;
end;

procedure Tfrm_q_dsk.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  qe_dsk.Close;
  //
  if ds_pos <> 1 then begin
    frm_main.mu_cx_dsk.Enabled := True;
    frm_main.current_handle := 0;
  end;
  //
  Action := caFree;
end;

procedure Tfrm_q_dsk.FormDestroy(Sender: TObject);
begin
  qe_dsk := nil;
  //
  frm_q_dsk := nil;
end;

procedure Tfrm_q_dsk.cmd_okClick(Sender: TObject);
begin
  frm_dsk.int_query := qe_dsk.FieldByName('ds_id').AsInteger;
  frm_dsk.txt_time.EditText := Trim(qe_dsk.FieldByName('ds_time').AsString);
  frm_dsk.txt_cx.Text := Trim(qe_dsk.FieldByName('ds_cx').AsString);
  frm_dsk.txt_cph.Text := Trim(qe_dsk.FieldByName('ds_cph').AsString);
  frm_dsk.txt_dw.Text := Trim(qe_dsk.FieldByName('ds_dw').AsString);
  frm_dsk.txt_je.Text := FloatToStr(qe_dsk.FieldByName('ds_je').Value);
  if Trim(qe_dsk.FieldByName('ds_fs').AsString) = '现金' then
    frm_dsk.combo_fs.ItemIndex := 0
  else
    frm_dsk.combo_fs.ItemIndex := 1;
  //
  Close;
end;

procedure Tfrm_q_dsk.cmd_qClick(Sender: TObject);
begin
  QueryResult;
end;

procedure Tfrm_q_dsk.cmd_aClick(Sender: TObject);
var
  strSQL: string;
begin
  strSQL := '';
  //
  if rb_w.Checked then
    strSQL := 'SELECT * FROM QT_DSK WHERE DS_FK_BS = 0 '
  else
    strSQL := 'SELECT * FROM QT_DSK WHERE DS_FK_BS = 1 ';
  //
  qe_dsk.Close;
  qe_dsk.SQL.Clear;
  qe_dsk.SQL.Add(strSQL);
  qe_dsk.Open;
  qe_dsk.First;
  if (qe_dsk.Bof) and (qe_dsk.Eof) then begin
    MessageBox(Handle, '没有找到符合条件的记录', '沈阳信德', MB_ICONQUESTION or MB_OK);
    qe_dsk.Close;
    Exit;
  end;
end;

procedure Tfrm_q_dsk.cb_timeClick(Sender: TObject);
begin
  if cb_time.Checked then begin
    pe_time.Enabled := True;
    txt_xx.SetFocus;
  end else begin
    txt_xx.Text := '';
    txt_sx.Text := '';
    pe_time.Enabled := False;
  end;
end;

procedure Tfrm_q_dsk.cb_dwClick(Sender: TObject);
begin
  if cb_dw.Checked then begin
    pe_dw.Enabled := True;
    txt_dw.SetFocus;
  end else begin
    txt_dw.Text := '';
    pe_dw.Enabled := False;
  end;
end;

procedure Tfrm_q_dsk.rb_wClick(Sender: TObject);
begin
  grd_dsk.Columns[1].Visible := False;
  qe_dsk.Close;
end;

procedure Tfrm_q_dsk.rb_yClick(Sender: TObject);
begin
  grd_dsk.Columns[1].Visible := True;
  qe_dsk.Close;
end;

end.

⌨️ 快捷键说明

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