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

📄 sampdest.pas

📁 suite component ace report
💻 PAS
字号:
unit sampdest;

{ ----------------------------------------------------------------
  Ace Reporter Version 1.0
  Copyright 1995 SCT Accociates, Inc.
  Written by Kevin Maher, Steve Tyrakowski
  ---------------------------------------------------------------- }

interface

uses
  SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, StdCtrls, psetup, Mask;

type
  TSampleReportDest = class(TForm)
    btnPrint: TButton;
    btnCancel: TButton;
    printersetup: TButton;
    Printsetup: TPrinterSetupDialog;
    GroupBox1: TGroupBox;
    goPrinter: TRadioButton;
    goScreen: TRadioButton;
    Label3: TLabel;
    copies: TMaskEdit;
    GroupBox2: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    startrange: TMaskEdit;
    endrange: TMaskEdit;
    rangeAll: TRadioButton;
    rangePages: TRadioButton;
    procedure printersetupClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure btnPrintClick(Sender: TObject);
    procedure rangeAllClick(Sender: TObject);
    procedure rangePagesClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    PageSetup: TSctPageSetup;
    property PrintDialog: TPrinterSetupDialog read Printsetup write PrintSetup;
  end;

var
  SampleReportDest: TSampleReportDest;

implementation

{$R *.DFM}

uses sctutil, printers;


procedure TSampleReportDest.printersetupClick(Sender: TObject);
begin
  PrintSetup.Execute;
end;

procedure TSampleReportDest.FormShow(Sender: TObject);
begin
  if Not PageSetup.AnyPrinters then
  begin
    goPrinter.Enabled := False;
    PrinterSetup.Enabled := False;
  end else
  begin
    goPrinter.Enabled := True;
    PrinterSetup.Enabled := True;
  end;

  if PageSetup.Destination = destPrinter then goPrinter.Checked := True
  else goScreen.Checked := True;

  startrange.text := '';
  endrange.text := '';
  copies.text := inttostr(PageSetup.copies);


  if PageSetup.AnyPrinters Then PageSetup.LoadSettings;
end;

procedure TSampleReportDest.btnPrintClick(Sender: TObject);
begin
  if PageSetup.AnyPrinters Then PageSetup.CopySettings;
  if goPrinter.Checked then
  begin
    PageSetup.Destination := destPrinter;
  end else PageSetup.Destination := destScreen;

  if rangeAll.Checked then
  begin
    PageSetup.rangestart := 0;
    PageSetup.rangeend := 0;
  end else
  begin
    if sctempty(startrange.text) then startrange.text := '0';
    if sctempty(endrange.text) then endrange.text := '0';

    PageSetup.rangestart := StrToInt(SctRighttrim(startrange.text));
    PageSetup.rangeend := StrToInt(sctrighttrim(endrange.text));
  end;

  PageSetup.Copies := StrToInt(sctrighttrim(copies.text));
  { need to load settings back to windows so it knows to
    print the correct number of copies. }
  if PageSetup.AnyPrinters Then PageSetup.LoadSettings;
end;

procedure TSampleReportDest.rangeAllClick(Sender: TObject);
begin
  startrange.text := '';
  endrange.text := '';
  startrange.enabled := False;
  endrange.enabled := False;
end;

procedure TSampleReportDest.rangePagesClick(Sender: TObject);
begin
  startrange.enabled := True;
  endrange.enabled := True;
end;

end.

⌨️ 快捷键说明

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