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

📄 spxshz1.pas

📁 不错的代码 希望大家喜欢 别忘了看完以后联系我
💻 PAS
字号:
unit spxshz1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, ADODB, StdCtrls, ComCtrls, ExtCtrls, dxDBTLCl, dxGrClms, dxTL,
  dxDBCtrl, dxDBGrid, dxCntner, dxPSCore, dxPSdxTLLnk, dxPSdxDBCtrlLnk,
  dxPSdxDBGrLnk, PrnDbgeh, DBTables;

type
  Tspxshz = class(TForm)
    DataSource1: TDataSource;
    dxComponentPrinter1: TdxComponentPrinter;
    Panel1: TPanel;
    Label2: TLabel;
    Label3: TLabel;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    Button1: TButton;
    Button2: TButton;
    Query2: TADOQuery;
    Query2spcode: TStringField;
    Query2name: TStringField;
    Query2splb: TStringField;
    Query2unit: TStringField;
    Query2barcode: TStringField;
    Query2sl: TFloatField;
    Query2xsje: TCurrencyField;
    Query2zkje: TCurrencyField;
    Query2mainghs: TStringField;
    Query2ghscode: TStringField;
    Query1: TQuery;
    StringField1: TStringField;
    StringField2: TStringField;
    StringField3: TStringField;
    StringField4: TStringField;
    StringField5: TStringField;
    Query2jhj: TCurrencyField;
    CurrencyField1: TCurrencyField;
    Query2COLUMN8: TFloatField;
    Query2COLUMN9: TFloatField;
    Query2COLUMN10: TFloatField;
    Query2COLUMN11: TFloatField;
    Query2bz: TStringField;
    Label1: TLabel;
    Edit2: TEdit;
    Label4: TLabel;
    Edit1: TEdit;
    Query2suilu: TBCDField;
    Button3: TButton;
    SaveDialog1: TSaveDialog;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    dxDBGrid1: TdxDBGrid;
    TabSheet2: TTabSheet;
    dxDBGrid2: TdxDBGrid;
    dxDBGrid1spcode: TdxDBGridMaskColumn;
    dxDBGrid1name: TdxDBGridMaskColumn;
    dxDBGrid1lb: TdxDBGridMaskColumn;
    dxDBGrid1jldw: TdxDBGridMaskColumn;
    dxDBGrid1barcode: TdxDBGridMaskColumn;
    dxDBGrid1sl: TdxDBGridMaskColumn;
    dxDBGrid1xsje: TdxDBGridCurrencyColumn;
    dxDBGrid1zkje: TdxDBGridCurrencyColumn;
    dxDBGrid1ghscode: TdxDBGridMaskColumn;
    dxDBGrid1mainghs: TdxDBGridMaskColumn;
    dxDBGrid1suilu: TdxDBGridMaskColumn;
    DataSource2: TDataSource;
    ADOQuery2: TADOQuery;
    CurrencyField2: TCurrencyField;
    FloatField1: TFloatField;
    CurrencyField3: TCurrencyField;
    CurrencyField4: TCurrencyField;
    ADOQuery2xsrq: TDateTimeField;
    dxDBGrid2dj: TdxDBGridCurrencyColumn;
    dxDBGrid2sl: TdxDBGridMaskColumn;
    dxDBGrid2xsje: TdxDBGridCurrencyColumn;
    dxDBGrid2xsrq: TdxDBGridDateColumn;
    dxDBGrid2zkje: TdxDBGridCurrencyColumn;
    dxComponentPrinter1Link1: TdxDBGridReportLink;
    dxComponentPrinter2: TdxComponentPrinter;
    dxDBGridReportLink1: TdxDBGridReportLink;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure PageControl1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  spxshz: Tspxshz;

implementation

uses MainForm1;

{$R *.DFM}

procedure Tspxshz.FormCreate(Sender: TObject);
begin
  DateTimePicker1.DateTime := MainForm.DateTimePicker2.DateTime;
  DateTimePicker2.DateTime := MainForm.DateTimePicker1.DateTime;
end;

procedure Tspxshz.Button1Click(Sender: TObject);
var aa, bb, cc: string;
begin
  if Edit1.Text = '' then aa := '%' else aa := Edit1.Text;
  if Edit2.Text = '' then bb := '%' else bb := Edit2.Text;
  Query2.close;
  Query2.Parameters[0].Value := DateTimePicker1.date;
  Query2.Parameters[1].Value := DateTimePicker2.date;
  Query2.Parameters[2].Value := aa;
  Query2.Parameters[3].Value := bb;
  Query2.Parameters[4].Value := bb;
  Query2.open;
end;

procedure Tspxshz.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  action := cafree;
end;

procedure Tspxshz.Button2Click(Sender: TObject);
begin
  if PageControl1.ActivePageIndex = 0 then
    dxComponentPrinter1.Preview(true, nil)
  else
    dxComponentPrinter2.Preview(true, nil);
end;

procedure Tspxshz.Button3Click(Sender: TObject);
begin
  SaveDialog1.Filter := 'Excel表格|*.xls';
  if SaveDialog1.Execute then
  begin
    if PageControl1.ActivePageIndex = 0 then dxDBGrid1.SaveToXLS(SaveDialog1.FileName, true)
    else dxDBGrid2.SaveToXLS(SaveDialog1.FileName, true);
    Application.MessageBox('文件已成功导出.', '提示', MB_OK + MB_ICONINFORMATION);
  end;
end;

procedure Tspxshz.PageControl1Change(Sender: TObject);
begin
  try
    if Query2.Active = false then
    begin
      PageControl1.ActivePageIndex := 0;
      exit;
    end;
    if Query2.fieldbyname('ghscode').asstring = '' then
    begin
      PageControl1.ActivePageIndex := 0;
      exit;
    end;
    ADOQuery2.close;
    ADOQuery2.Parameters[0].Value := DateTimePicker1.Date;
    ADOQuery2.Parameters[1].Value := DateTimePicker2.Date;
    ADOQuery2.Parameters[2].Value := dxDBGrid1.SelectedNodes[0].Strings[0];
    ADOQuery2.open;
  except
  end;
end;

end.

⌨️ 快捷键说明

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