?? bmyly.~pas
字號(hào):
unit bmyly;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdActns, ActnList, ActnMan, Menus, PrnDbgeh, ComCtrls, Grids,
DBGridEh, Mask, DBCtrlsEh, DBLookupEh, Spin, StdCtrls, DBCtrls, ExtCtrls,
DBGridEhImpExp;
type
Tbmlyhzb = class(TForm)
GroupBox2: TGroupBox;
Label3: TLabel;
Label4: TLabel;
speyf: TSpinEdit;
spenf: TSpinEdit;
Button4: TButton;
SaveDialog1: TSaveDialog;
MYPDBGEh: TPrintDBGridEh;
PopupMenu1: TPopupMenu;
N2: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
PrintSetup1: TMenuItem;
N1: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
ActionManager1: TActionManager;
EditCut1: TEditCut;
EditCopy1: TEditCopy;
EditPaste1: TEditPaste;
EditDelete1: TEditDelete;
FilePrintSetup1: TFilePrintSetup;
FontEdit1: TFontEdit;
ColorSelect1: TColorSelect;
PrintDlg1: TPrintDlg;
bmlk: TDBLookupComboBox;
Label5: TLabel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
DBGridEh1: TDBGridEh;
DBGridEh2: TDBGridEh;
Panel1: TPanel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FontEdit1Accept(Sender: TObject);
procedure PrintSetup1Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N1Click(Sender: TObject);
private
{ Private declarations }
public
date1,date2:tdate;
year,month,day:Word;
{ Public declarations }
end;
var
bmlyhzb: Tbmlyhzb;
implementation
uses data, main;
{$R *.dfm}
procedure Tbmlyhzb.Button1Click(Sender: TObject);
begin
close;
end;
procedure Tbmlyhzb.Button4Click(Sender: TObject);
begin
year:=strtoint(spenf.Text);
month:=strtoint(speyf.Text);
if month=1 then
begin
Date1:=EncodeDate(Year-1,12,26);
Date2:=EncodeDate(Year,1,25);
end
else
begin
Date1:=EncodeDate(Year,Month-1,26);
Date2:=EncodeDate(Year,Month,25);
end;
IF (BMLK.KeyValue='') or (bmlk.KeyValue=null) THEN
begin
BMLK.KeyValue:=dm.whbmdmads.fieldbyname('部門ID').Value;
DM.whbmdmads.First;
end;
dm.bmlyhzbads.Close;
dm.bmlyhzbads.CommandText:='SELECT 材料編碼, SUM(數(shù)量) AS 數(shù)量,'+
' SUM(金額) AS 金額 from bmlymxb '+
' where 出倉(cāng)日期>='+
FormatDateTime('yy-mm-dd',Date1)+
' and 出倉(cāng)日期<='+
FormatDateTime('yy-mm-dd',Date2)+
' and 部門ID='+''''+bmlk.KeyValue+''''+
' and 倉(cāng)庫(kù)ID='+''''+mainfrm.CKid+''''+
' GROUP BY 材料編碼 ';
DM.bmlyhzbads.Open;
dm.bmlymxads.Close;
dm.bmlymxads.CommandText:='select 出倉(cāng)日期, 材料編碼,'+
' 數(shù)量, 單價(jià), 金額, 出倉(cāng)單號(hào) from bmlymxb '+
' where 出倉(cāng)日期>='+
FormatDateTime('yy-mm-dd',Date1)+
' and 出倉(cāng)日期<='+
FormatDateTime('yy-mm-dd',Date2)+
' and 部門ID='+''''+bmlk.KeyValue+''''+
' and 倉(cāng)庫(kù)ID='+''''+mainfrm.CKid+'''';
dm.bmlymxads.Open;
end;
procedure Tbmlyhzb.FormCreate(Sender: TObject);
begin
decodedate(now,year,month,day);
if month=1 then
begin
Date1:=EncodeDate(Year-1,12,26);
Date2:=EncodeDate(Year,1,25);
end
else
begin
Date1:=EncodeDate(Year,Month-1,26);
Date2:=EncodeDate(Year,Month,25);
end;
spenf.Text:=inttostr(year);
speyf.Text:=inttostr(month);
dm.whbmdmads.Open;
dm.whclbmads.Open;
end;
procedure Tbmlyhzb.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action :=cafree ;
bmlyhzb:=nil
end;
procedure Tbmlyhzb.FontEdit1Accept(Sender: TObject);
begin
TDBGridEh(ActiveControl).Font:=FontEdit1.Dialog.Font;
TDBGridEh(ActiveControl).FooterFont:=FontEdit1.Dialog.Font;
TDBGridEh(ActiveControl).TitleFont:=FontEdit1.Dialog.Font
end;
procedure Tbmlyhzb.PrintSetup1Click(Sender: TObject);
var bt,tj:string;
begin
if TDBGridEh(ActiveControl).Name='DBGridEh2' then
begin
tj:='領(lǐng)用部門:'+dm.whbmdmads.fieldbyname('部門名稱').Value;
bt:=spenf.Text+'年'+speyf.text+'月部門領(lǐng)用明細(xì)表';
end;
if TDBGridEh(ActiveControl).Name='DBGridEh1' then
begin
tj:='領(lǐng)用部門:'+dm.whbmdmads.fieldbyname('部門名稱').Value;
bt:=spenf.Text+'年'+speyf.text+'月部門領(lǐng)用匯總表';
end;
if (ActiveControl is TDBGridEh) then
begin
MYPDBGEh.DBGridEh := TDBGridEh(ActiveControl);
MYPDBGEh.SetSubstitutes(['%[Today]',DateToStr(Now),'%[bt]',bt,'%[tj]',tj]);
MYPDBGEh.print;
end;
end;
procedure Tbmlyhzb.N4Click(Sender: TObject);
var ExpClass:TDBGridEhExportClass;
Ext:String;
begin
SaveDialog1.FileName := 'file1';
if (ActiveControl is TDBGridEh) then
if SaveDialog1.Execute then
begin
case SaveDialog1.FilterIndex of
1: begin ExpClass := TDBGridEhExportAsXLS; Ext := 'xls'; end;
2: begin ExpClass := TDBGridEhExportAsCSV; Ext := 'csv'; end;
3: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm'; end;
4: begin ExpClass := TDBGridEhExportAsRTF; Ext := 'rtf'; end;
5: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt'; end;
else
ExpClass := nil; Ext := '';
end;
if ExpClass <> nil then
begin
if UpperCase(Copy(SaveDialog1.FileName,Length(SaveDialog1.FileName)-2,3)) <>
UpperCase(Ext) then
SaveDialog1.FileName := SaveDialog1.FileName + '.' + Ext;
SaveDBGridEhToExportFile(ExpClass,TDBGridEh(ActiveControl),
SaveDialog1.FileName,true);
end;
end;
end;
procedure Tbmlyhzb.N8Click(Sender: TObject);
begin
TDBGridEh(ActiveControl).Columns
[TDBGridEh(ActiveControl).SelectedIndex].Visible:=false;
if TDBGridEh(ActiveControl).SelectedIndex<
TDBGridEh(ActiveControl).Columns.Count-1 then
TDBGridEh(ActiveControl).SelectedIndex:=
TDBGridEh(ActiveControl).SelectedIndex+1;
end;
procedure Tbmlyhzb.N9Click(Sender: TObject);
var i:integer;
begin
for i:=1 to TDBGridEh(ActiveControl).Columns.Count-1 do
begin
if TDBGridEh(ActiveControl).Name='DBGridEh2' then
case i of
1..10:
begin
TDBGridEh(ActiveControl).Columns[i].Visible:=true;
end;
end;
if TDBGridEh(ActiveControl).Name='DBGridEh1' then
case i of
1..8:
begin
TDBGridEh(ActiveControl).Columns[i].Visible:=true;
end;
end;
end;
end;
procedure Tbmlyhzb.N1Click(Sender: TObject);
var bt,tj:string;
begin
if TDBGridEh(ActiveControl).Name='DBGridEh2' then
begin
tj:='領(lǐng)用部門:'+dm.whbmdmads.fieldbyname('部門名稱').Value;
bt:=spenf.Text+'年'+speyf.text+'月部門領(lǐng)用明細(xì)表';
end;
if TDBGridEh(ActiveControl).Name='DBGridEh1' then
begin
tj:='領(lǐng)用部門:'+dm.whbmdmads.fieldbyname('部門名稱').Value;
bt:=spenf.Text+'年'+speyf.text+'月部門領(lǐng)用匯總表';
end;
if (ActiveControl is TDBGridEh) then
begin
MYPDBGEh.DBGridEh := TDBGridEh(ActiveControl);
MYPDBGEh.SetSubstitutes(['%[Today]',DateToStr(Now),'%[bt]',bt,'%[tj]',tj]);
MYPDBGEh.Preview;
end;
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -