?? unt_main.pas
字號:
unit Unt_Main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,
Db, DBTables, QuickRpt, QRCtrls, QRextra,
Math, QRPrntr;
type
TFrm_Main = class(TForm)
btnActivate: TButton;
Label1: TLabel;
cmbTableName: TComboBox;
qryCurrent: TQuery;
btnPreview: TButton;
btnPrint: TButton;
btnLoad: TButton;
btnSave: TButton;
dlgOpen: TOpenDialog;
dlgSave: TSaveDialog;
prvHot: TQRPreview;
procedure btnActivateClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btnPreviewClick(Sender: TObject);
procedure btnPrintClick(Sender: TObject);
procedure btnLoadClick(Sender: TObject);
procedure btnSaveClick(Sender: TObject);
procedure cmbTableNameChange(Sender: TObject);
procedure btnPreviewHotClick(Sender: TObject);
procedure prvHotDblClick(Sender: TObject);
private
procedure OnRepAfterPrint(Sender: TObject);
{ Private declarations }
public
procedure Clear;
{ Public declarations }
end;
var
Frm_Main: TFrm_Main;
implementation
uses Unt_DM_Main, UntActReport;
var
tblCurrent: TTable;
actrptCool: TActReport;
{$R *.DFM}
procedure TFrm_Main.OnRepAfterPrint(Sender: TObject);
begin
ShowMessage('現在可以刪除活動報表對象了');
end;
procedure TFrm_Main.FormCreate(Sender: TObject);
begin
tblCurrent := nil;
actrptCool := nil;
end;
procedure TFrm_Main.FormActivate(Sender: TObject);
begin
if cmbTableName.Items.Count > 0 then
Exit;
with DM_Main.ADOCnt1 do begin
Connected := True;
GetTableNames(cmbTableName.Items);
Close
end;
cmbTableName.ItemIndex := Min(1, cmbTableName.Items.Count);
cmbTableNameChange(Self);
end;
procedure TFrm_Main.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Clear;
end;
procedure TFrm_Main.Clear;
begin
if Assigned(tblCurrent) then begin
tblCurrent.Active := False;
tblCurrent.Free;
tblCurrent := nil;
end;
if Assigned(actrptCool) then begin
actrptCool.Free;
actrptCool := nil;
end;
end;
procedure TFrm_Main.cmbTableNameChange(Sender: TObject);
var
i,j: Integer;
nCurSel: integer;
strTableName: string;
strList: TStringList;
begin
Clear;
tblCurrent := TTable.Create(Self);
actrptCool := TActReport.Create(Self);
nCurSel := cmbTableName.ItemIndex;
strTableName := cmbTableName.Items.Strings[nCurSel];
strList := TStringList.Create;
with tblCurrent do begin
Active := False;
Name := strTableName;
DatabaseName := DM_Main.Database1.DatabaseName;
TableName := strTableName;
ReadOnly := True;
Active := True;
for i := 0 to FieldDefs.Count - 1 do
strList.Add(FieldDefs[i].Name);
end;
actrptCool.Initialize(tblCurrent, strTableName, strList);
// actrptCool.Make;
// dlgOpen.FileName := actrptCool.GetFileName;
// if not dlgOpen.Execute then
// Exit;
// actrptCool.SetFileName(dlgOpen.FileName);
actrptCool.LoadRep;
actrptCool.PreviewRep(prvHot);
strList.Free;
end;
procedure TFrm_Main.btnActivateClick(Sender: TObject);
begin
if Assigned(actrptCool) then
actrptCool.ShowModal;
actrptCool.SaveRep;
actrptCool.PreviewRep(prvHot);
end;
procedure TFrm_Main.btnPreviewClick(Sender: TObject);
begin
if Assigned(actrptCool) then
actrptCool.PreviewRep;
end;
procedure TFrm_Main.btnPrintClick(Sender: TObject);
begin
if Assigned(actrptCool) then
actrptCool.PrintRep(OnRepAfterPrint);
end;
procedure TFrm_Main.btnLoadClick(Sender: TObject);
begin
if not Assigned(actrptCool) then
Exit;
dlgOpen.FileName := actrptCool.GetFileName;
if not dlgOpen.Execute then
Exit;
actrptCool.SetFileName(dlgOpen.FileName);
Screen.Cursor := crHourGlass;
actrptCool.LoadRep;
Screen.Cursor := crDefault;
end;
procedure TFrm_Main.btnSaveClick(Sender: TObject);
begin
if not Assigned(actrptCool) then
Exit;
dlgSave.FileName := actrptCool.GetFileName;
if not dlgSave.Execute then
Exit;
actrptCool.SetFileName(dlgSave.FileName);
Screen.Cursor := crHourGlass;
actrptCool.SaveRep;
Screen.Cursor := crDefault;
end;
procedure TFrm_Main.btnPreviewHotClick(Sender: TObject);
begin
if Assigned(actrptCool) then
actrptCool.PreviewRep(prvHot);
end;
procedure TFrm_Main.prvHotDblClick(Sender: TObject);
begin
btnPreview.Click;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -