안녕하세요...
아주쉬운 질문인데 제가 많이 해보지 않아 이렇게 도움을 청합니다..
아침에 올렸는데 아직도 답변이 없더군요...
급해서 이렇게 다시 올립니다...
고수님들의 도움이 필요합니다... ^_^
퀵레포트를 사용하다 몇가지 문제가 생겼습니다...
첫번째 문제는 페이지 카운터 문제입니다..
먼저 데이타를 넣는 부분입니다..
procedure TGEC010F4.QuickRep1NeedData(Sender: TObject;
var MoreData: Boolean);
begin
// 거래처가 바뀌면 Page Skip.
if (Cm_Cust2 <> vCustCode[i]) and
(i < iCount) then
begin
Cm_Cust2 := vCustCode[i];
Cm_Custnm := vCustName[i];
if i > 0 then QuickRep1.NewPage; <==== 새로운 페이지생성..
TotalPageCount;
j := 1;
end;
// 데이타를 인쇄한다.
qrl_Seqno.Caption := IntToStr(j);
qrl_ItemCode.Caption := Trim(vItemCode[i]);
qrl_ItemName.Caption := Copy(Trim(vItemName[i]),1,41);
qrl_Unit.Caption := Trim(vUnit[i]);
qrl_Qty.Caption := Trim(vQty[i]);
qrl_ModelNo.Caption := Copy(Trim(vModelNo[i]) ,1,23);
qrl_Size.Caption := Copy(Trim(vSize[i]) ,1,16);
qrl_Maker.Caption := Copy(Trim(vMaker[i]) ,1,13);
qrl_Remark.Caption := '';
i := i + 1;
j := j + 1;
MoreData := (i <= iCount);
end;
이부분에서 문제가 좀 생겼습니다..
새로운 페이지를 생성하고 나서
페이지 헤드부분에
procedure TGEC010F4.QRBand1BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin
// 부서코드,명을 입력한다.
qrl_CustName.Caption := Cm_Cust2 + '/' + Cm_Custnm;
//*************&&&&&&&&&&&&&&&&&&&*****???????????????
// 문제시작부분
qrl_PageCnt.Caption := IntToStr(QuickRep1.PageNumber) + ' / ' + IntToStr(QuickRep1.QRPrinter.PageCount); <== 페이지의 번호 / 페이지의 총번호
end;
이렇게 페이지의 번호를 넣었더니
페이지마다 같은 번호가 나옵니다.. 예) 0/0, 1/1....
어디가 문제인지 몰라 이렇게 도움을 청합니다..
두번째 문제는 퀵레포트의 페이지사이즈에 대한 문제입니다.
사용자 정의 부분에서 138칼럼에 맞게 14.00 - 11.00(인치)이렇게 주었습니다.
그런데 프린터가 말을 듣지 않더군요...
사이즈를 다르게 주면 테스트는 되더라구요..
프리터 문제인지 아니면 제가 뭘 잘못했는지....??
퀵레포트에서 138칼럼짜리 프린터시 제한조건이 있는지 궁금합니다..
참고로 사용프린터는 "제일정밀 JP-4500(KS)" 입니다.
고수님들께 한수 부탁합니다..
지루한 글읽어 주시느라 수고하셨습니다.
그럼 즐거운 하루 되세요... ^_^