📄 frmqueryinfo.pas
字号:
unit frmQueryInfo;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, Grids, DBGrids, DB, DBClient,
MConnect, SConnect, QueryGoodsBiz_TLB,DataSetToExcel;
type
TFormQueryInfo = class(TForm)
GroupBox1: TGroupBox;
LEdtBarCodeInfo: TLabeledEdit;
Button1: TButton;
Button2: TButton;
GroupBox2: TGroupBox;
LabeledEdit2: TLabeledEdit;
Label1: TLabel;
Label2: TLabel;
DTPStockInFrom: TDateTimePicker;
DTPStockInTo: TDateTimePicker;
Button3: TButton;
GroupBox3: TGroupBox;
Label3: TLabel;
Label4: TLabel;
LEdtBarCodeBetween: TLabeledEdit;
DTPStockOutFrom: TDateTimePicker;
DTPStockOutTo: TDateTimePicker;
Button4: TButton;
GroupBox4: TGroupBox;
Label5: TLabel;
DTPStockOutAllFrom: TDateTimePicker;
Label6: TLabel;
DTPStockOutAllTo: TDateTimePicker;
Button5: TButton;
DBGrid1: TDBGrid;
BtnToExcel: TButton;
SocketConQueryGoods: TSocketConnection;
cdsQueryGoods: TClientDataSet;
DSGoodsQuery: TDataSource;
XlsDlg: TSaveDialog;
DataSetToExcel: TDataSetToExcel;
BtnToXML: TButton;
XmlDlg: TSaveDialog;
procedure BtnToExcelClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure BtnToXMLClick(Sender: TObject);
private
{ Private declarations }
FObjDisp: ImtsQueryGoodsObjDisp;
procedure ClearDataSet;
public
{ Public declarations }
end;
var
FormQueryInfo: TFormQueryInfo;
implementation
uses untConfig, CommonFunc;
{$R *.dfm}
procedure TFormQueryInfo.BtnToExcelClick(Sender: TObject);
begin
if not VarIsNull(cdsQueryGoods.Data) then
begin
if XlsDlg.Execute then
DataSetToExcel.SaveExcelToFile(XlsDlg.FileName+'.xls');
end
else
LCShowMessage('没有数据可以导出!');
end;
procedure TFormQueryInfo.FormCreate(Sender: TObject);
begin
SetSocketConnectionConnect(SocketConQueryGoods);
FObjDisp := ImtsQueryGoodsObjDisp(IDispatch(SocketConQueryGoods.GetServer));
end;
procedure TFormQueryInfo.FormDestroy(Sender: TObject);
begin
SocketConQueryGoods.Close;
FObjDisp := nil;
end;
procedure TFormQueryInfo.Button2Click(Sender: TObject);
var
s: string;
i: Integer;
begin
s := Trim(LEdtBarCodeInfo.Text);
if s = '' then
LCShowMessage('请填写条码')
else
begin
i := FObjDisp.QueryGoodsCountByBarCode(s);
LCShowMessage(Format('%s的库存数量是%d',[s,i]));
end;
end;
procedure TFormQueryInfo.Button1Click(Sender: TObject);
var
s: string;
v: OleVariant;
begin
ClearDataSet;
s := Trim(LEdtBarCodeInfo.Text);
if s = '' then
LCShowMessage('请填写条码')
else
begin
Button2.Click;//解决一个不明原因的bug,需要改进
v := FObjDisp.QueryGoodsInfoByBarCode(s);
if not VarIsNull(v) then
cdsQueryGoods.Data := v;
end;
end;
procedure TFormQueryInfo.Button3Click(Sender: TObject);
var
s: string;
v: OleVariant;
begin
ClearDataSet;
s := Trim(LabeledEdit2.Text);
if s = '' then
LCShowMessage('请填写供应商编号')
else
begin
v := FObjDisp.QueryStockInByVendorId(s,DTPStockInFrom.DateTime, DTPStockInTo.DateTime);
if not VarIsNull(v) then
cdsQueryGoods.Data := v;
end;
end;
procedure TFormQueryInfo.Button4Click(Sender: TObject);
var
s: string;
v: OleVariant;
begin
ClearDataSet;
s := Trim(LEdtBarCodeBetween.Text);
if s = '' then
LCShowMessage('请填写条码!')
else
begin
v := FObjDisp.QueryStockOutByBarCode(s,DTPStockOutFrom.DateTime, DTPStockOutTo.DateTime);
if not VarIsNull(v) then
cdsQueryGoods.Data := v;
end;
end;
procedure TFormQueryInfo.Button5Click(Sender: TObject);
var
v: OleVariant;
begin
ClearDataSet;
v := FObjDisp.QueryStockOutByDateSpan(DTPStockOutAllFrom.DateTime, DTPStockOutAllTo.DateTime);
if not VarIsNull(v) then
cdsQueryGoods.Data := v;
end;
procedure TFormQueryInfo.BtnToXMLClick(Sender: TObject);
begin
if not VarIsNull(cdsQueryGoods.Data) then
begin
if XmlDlg.Execute then
cdsQueryGoods.SaveToFile(XlsDlg.FileName+'.xml',dfXML);
end
else
LCShowMessage('没有数据可以导出!');
end;
procedure TFormQueryInfo.ClearDataSet;
begin
cdsQueryGoods.Data := null;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -