Q&A

  • [질문]퀵레포트 인쇄할때 프린트 매수당 다른 글자찍어주기
헐 카테고리를 멀로 선택해야 될지 고민되네요 T>T
여기서도 팁이랑 강좌를 다 찾아봐도 없네요..
될것 같으면서 안돼고 환장합니당 ㅠㅠ

조회된 것에 대해 페이지수에 상관없이 무조건 3부씩 나와야 하거등요
//********************************************************************
procedure TForm2.QuickRep1BeforePrint(Sender: TCustomQuickRep;
  var PrintReport: Boolean);
QuickRep1.PrinterSettings.Copies := 3;
//********************************************************************
이렇게 해서 인쇄매수를 3부로 맞췄습니다. 조회페이지,미리보기 화면 무리없습니다.
인쇄버튼 누름시에 페이지수에 상관없이 무조건 3부 출력됩니다. 2장짜리이면 6장 출력되는거지요.

그런데 제가 원하는 또 하나는 1부당 QRBand2 부분에 있는 QRLabel3 부분에
Test1용, Test2용, Test3용이라고 각각 찍어줘야 하거등요.
즉, 1번째 매수에는 Test1용, 두번째 매수에는 Test2용, 3번째 매수에는 Test3용 을 QRLabel3 이곳에
찍어줘야 합니다.

  QuickRep1.PrinterSettings.Copies := 3;
  For i:= 1 to 3 do
   begin
    if QuickRep1.PrinterSettings.Copies = 1 then
      QRLabel3.Caption := 'Test1용'
    else if QuickRep1.PrinterSettings.Copies = 2 then
      QRLabel3.Caption := 'Test2용'
    else if QuickRep1.PrinterSettings.Copies = 3 then
      QRLabel3.Caption := 'Test3용';
   end;
이렇게 했는데 끝에 구매용만 나오네용.
어떻게 해야지 매수당 찍을수 있을까요?? 아구..
좀 알려주세요.
제가 멀 놓치고 있는것 같기도 하고
1  COMMENTS
  • Profile
    이상탁 2009.05.26 01:02
    전 퀵리포트를 사용해 본적은 없지만요, 프린터 부분에서 조금 잘못 이해하고 계신 것 같아서 한자 적습니다.

    PrinterSettings.Copies := 3; 의 의미를 이해하셔야 할 듯 합니다.

    프린터가 인식하는 copies 는 프린터 기기 자체에서 3부를 인쇄하라는 뜻입니다.

    즉, 만드신 어플에서는 1부에 대한 data 를 프린터로 보내게 되고, 프린터가 알아서 data를 가지고 있다가 추가 2부(총 3부)를 인쇄하라는 의미입니다.

    따라서 위의 코딩을 Copies := 3 이 아니라 for 루프를 통해서 1부씩 3 번 출력하셔야 원하시는 결과를 얻으실 수 있을 것 같습니다.
    그리고, if 문에서 i 의 값에 따라 QRLabel3.Caption 을 다르게 주시면 되구요

    즐코하세요