?? yjunt.pas
字號:
unit yjunt;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, StdCtrls, Grids, DBGridEh, Buttons,Printers,WinSpool;
type
Tyjfrm = class(TForm)
Label1: TLabel;
Label2: TLabel;
BitBtn1: TBitBtn;
DBGridEh1: TDBGridEh;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Edit1: TEdit;
DataSource1: TDataSource;
Label3: TLabel;
Edit2: TEdit;
Label4: TLabel;
Edit3: TEdit;
BitBtn4: TBitBtn;
SaveDialog1: TSaveDialog;
procedure FormActivate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure DBGridEh1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
procedure BitBtn4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
yjfrm: Tyjfrm;
implementation
uses data,maind;
{$R *.dfm}
procedure Tyjfrm.FormActivate(Sender: TObject);
begin
label1.Caption:=formatdatetime('yyyy年mm月',date);
edit1.Text:='0';
edit2.Text:='0';
edit3.Text:='0';
end;
procedure Tyjfrm.BitBtn1Click(Sender: TObject);
begin
with dataman.xscxQuery do
begin
close;
sql.Clear;
sql.Add('select 貨物條形碼,sum(數量) as 數量,sum(總額) as 總額 from yjview GROUP BY 貨物條形碼');
prepared;
open;
end;
with dataman.mrQuery do
begin
close;
sql.Clear;
sql.Add('select sum(isnull(商品金額,0)) as 總金額 from sellm group by CONVERT(varchar(7), dbo.sellm.銷售日期, 120) HAVING (CONVERT(varchar(7), dbo.sellm.銷售日期, 120) = CONVERT(varchar(7), GETDATE(),120))');
open;
edit1.Text:=floattostr(dataman.mrQuery.Fields[0].Value);
close;
sql.Clear;
sql.Add('select sum(isnull(退貨金額,0)) from withdrawm where substring(退貨單據號,4,4)=:xdate');
parameters.ParamByName('xdate').Value:=formatdatetime('yymmdd',date);
open;
edit2.Text:=floattostr(round(dataman.mrQuery.Fields[0].Value));
close;
sql.Clear;
sql.Add('select sum(isnull(換貨金額,0)) from changem where substring(換貨單據號,4,4)=:xdate');
parameters.ParamByName('xdate').Value:=formatdatetime('yymmdd',date);
open;
edit3.Text:=floattostr(round(dataman.mrQuery.Fields[0].Value));
end;
end;
procedure Tyjfrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
yjfrm:=nil;
yjfrm.Free;
end;
procedure Tyjfrm.BitBtn3Click(Sender: TObject);
begin
dataman.xscxQuery.Close;
close;
end;
procedure Tyjfrm.BitBtn2Click(Sender: TObject);
var
fd:textfile;
monthFile,monthsell,shpname:string;
begin
try
monthFile:=ExtractFilePath(Application.ExeName)+'monthout.txt';
AssignFile(fd,monthFile);
Rewrite(fd);
write(fd,chr(27)+chr(64));
shpname:=stringofchar(' ',(32-Length(ini_load_shopname('打印參數','和祥店')))div 2)+ini_load_shopname('打印參數','和祥店');
write(fd,shpname+chr(10));
monthsell:=stringOfChar(' ',(32-Length('牧羊人服飾每月銷售清單')) div 2)+'牧羊人服飾每月銷售清單';
write(fd,monthsell+chr(10));
writeln(fd,'--------------------------------');
// 12345678901234567890123456789012
write(fd,'商品條形碼 數量 金額'+chr(10));
write(fd,'--------------------------------');
dataman.xscxQuery.First;
while not dataman.xscxQuery.Eof do
begin
write(fd,dbgrideh1.DataSource.DataSet.FieldByName('貨物條形碼').Value:15);
write(fd,dbgrideh1.DataSource.DataSet.FieldByName('數量').Value:5);
write(fd,dbgrideh1.DataSource.DataSet.FieldByName('總額').Value:10);
write(fd,chr(10));
dataman.xscxQuery.Next;
end;
Writeln(fd,' ');
write(fd,'-------------------------------');
write(fd,'本月銷售總額 :'+' '+trim(edit1.text)+chr(10));
Writeln(fd,' ');
Writeln(fd,' ');
Writeln(fd,' ');
Writeln(fd,' ');
Writeln(fd,' ');
CloseFile(fd);
PrintFile(monthFile);
except
abort;
end;
end;
procedure Tyjfrm.DBGridEh1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
begin
with dbgrideh1 do
begin
Canvas.Pen.Mode:=pmmask;
if gdSelected in State then
begin
Canvas.Brush.Color:=clinfobk;
Canvas.FillRect(Rect);
Canvas.Font.Color:=clred;
Canvas.Font.Style:=[fsBold];
end;
DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end;
procedure Tyjfrm.BitBtn4Click(Sender: TObject);
var
xsfile:textfile;
str,str1,str2:string;
begin
if savedialog1.Execute then
begin
if assigned(dataman.xscxQuery) then
begin
dataman.xscxQuery.First;
assignfile(xsfile,savedialog1.FileName+'.txt');
rewrite(xsfile);
writeln(xsfile,' 每月銷售清點 ');
writeln(xsfile,'-------------------------------------------');
str:=' 貨物條形碼 ';
str1:=' 數量 ';
str2:=' 金額 ';
write(xsfile,str);
write(xsfile,str1);
writeln(xsfile,str2);
while not dataman.xscxQuery.Eof do
begin
str:=' ';
str2:=' ';
str1:=' ';
str:=str+dataman.xscxQuery.Fields[0].AsString+' ';
str1:=str1+dataman.xscxQuery.Fields[1].AsString+' ';
str2:=str2+dataman.xscxQuery.Fields[2].AsString+' ';
write(xsfile,str);
write(xsfile,str1);
writeln(xsfile,str2);
dataman.xscxQuery.Next;
end;
writeln(xsfile,'-------------------------------------------');
writeln(xsfile,' 銷售總金額:'+trim(edit1.Text));
writeln(xsfile,' 退貨總金額:'+trim(edit2.Text));
writeln(xsfile,' 換貨總金額:'+trim(edit3.Text));
end;
closefile(xsfile);
showmessage(savedialog1.FileName+'.txt'+'保存成功!');
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -