메일 발송을 위해 보통 12,000부정도 되는 봉투를 출력하는데
넘~ 많으니까~ 한번에 2~3000부씩 출력합니다...
그런데 1,000부가 못되서 갑자기 프린트가 중단되버려요~
200부 출력하다가 그럴때도~ 있고... 많으면 800부 출력하다가
중단될때도 있고...
그래서~ 프린트 제어에 가서 인쇄를 취소 시켜도 말을 듣지 않고 그대로~ 다운되버려요...
어쩔수없이 다시 컴터를 재가동 해야하구요...
아래 소스는 출력되는 봉투에 대한 소스입니다~~~
고수님들의 현명한 설명을 부탁드립니다... ^^
unit uMPrintR;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
quickrpt, Qrctrls, ExtCtrls, Db, DBTables;
type
TfMPrintR = class(TForm)
QuickRep1: TQuickRep;
QRBand1: TQRBand;
dbtPost: TQRDBText;
lbName: TQRLabel;
lbAddress: TQRLabel;
procedure QuickRep1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
procedure QRBand1BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
private
Way : Integer;
{ Private declarations }
public
property FWay : Integer write Way;
{ Public declarations }
end;
var
fMPrintR: TfMPrintR;
implementation
uses uDM;
{$R *.DFM}
procedure TfMPrintR.QuickRep1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
begin
Case Way of
1:begin // 큰 봉투
QuickRep1.Page.Length := 254.0;
QuickRep1.Page.Width := 350.0;
QRBand1.Size.Height := 214.7;
QRBand1.Height := 768;
lbName.Font.Size := 12;
lbAddress.Font.Size := 12;
dbtPost.Font.Size := 14;
lbName.Left := 550;
lbName.Top := 500;
lbAddress.Left := 550;
lbAddress.Top := 530;
dbtPost.Left := 700;
dbtPost.Top := 600;
end;
2:begin
QuickRep1.Page.Length := 114.33;
QuickRep1.Page.Width := 241.0;
QRBand1.Size.Height := 105.8;
QRBand1.Height := 398;
lbName.Font.Size := 10;
lbAddress.Font.Size := 10;
dbtPost.Font.Size := 12;
lbName.Left := 352;
lbName.Top := 225;
lbAddress.Left := 352;
lbAddress.Top := 245;
dbtPost.Left := 482;
dbtPost.Top := 305;
end;
end;
end;
procedure TfMPrintR.QRBand1BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
var Tmp : String;
begin
with DM.qMLable do
begin
// 다량발송인 경우 메모에 있는 발송권수가 나오도록
if FieldByName('MagazineCd').AsString = '900' then
Tmp := ' 귀하('+FieldByName('Memo').AsString+')'
else
Tmp := ' 귀하';
if FieldByName('dvsn').AsString = '1' then
begin
if copy(FieldByName('Position_$chrp').AsString,1,1) <> '1' then
lbName.Caption := FieldByName('Name').AsString+Tmp
else
lbName.Caption := FieldByName('Name').AsString+FieldByName('ChrpNm').AsString+Tmp;
end
else lbName.Caption := FieldByName('Name').AsString+Tmp;
lbAddress.Caption := FieldByName('Sido').AsString+' '+FieldByName('Gugun').AsString+' '+
FieldByName('Dong').AsString+' '+FieldByName('Note').AsString;
end;
end;
end.