Q&A

  • 인쇄관련
안녕하세요. 김경수입니다.

인쇄에 대해서 물어볼려구요. 아래와 같이 인쇄를 하면 글자의 크기가 제대로 나옵니다.

근데 다시한번 출력하면 무지하게 작은 글자가 출력되는데

제가 뭐 설정안해논거 있나해서요.낼까지 해야되는데 고수님들의 조언 부탁드립니다.

건강하세요





//인쇄 버튼 클릭시



if MessageDlg(ed_1.text+' 영업소의 거래명세서를 인쇄하시겠습니까?',

mtinformation, [mbYes, mbNo], 0) = mrYes then

printer.Canvas.font.Height := 18;

printer.BeginDoc;

y := 200;

try

for i:=1 to sg_1.rowcount-1 do

if i<9 then

begin

begin

printer.Canvas.TextOut(150,y,sg_1.cells[0,i]); //품명

printer.canvas.textout(650,y,'box'); //박스단위

printer.canvas.textout(730,y,sg_1.cells[1,i]); // 박스

printer.canvas.textout(800,y,sg_1.cells[2,i]); //수량

printer.canvas.textout(850,y,sg_1.cells[3,i]); //낱개수량

printer.canvas.textout(1050,y,sg_1.cells[4,i]); //공급가단가

printer.canvas.textout(1200,y,sg_1.cells[5,i]); //공급가금액

y := y+60;

end;

if sg_1.rowcount-1<9 then

begin

printer.canvas.textout(1200,680,ce_1.text);

printer.canvas.textout(1200,740,ce_2.text);

printer.canvas.textout(1200,800,ce_3.text);

end;

end

else

finally

printer.enddoc;

b_next.Click; //나머지 항목의 인쇄



---끝나기





2  COMMENTS
  • Profile
    이정욱 1999.04.24 08:09
    이 문제의 키는 Font.Height 에 있습니다.

    화면이 72 DPI일 경우 Font.Height 의 공식은 아래와 같습니다.

    Font.Height = -Font.Size * Font.PixelsPerInch / 72

    즉, Font의 Height가 양수이면 Size가 음수, Height가 음수이면 Size가 양수가 되죠. 즉, 아래의 Font.Height := 18은 잘못된 것입니다.

    가능하면 Font.Size를 가지고 하는것이 직관적입니다.

    프린터의 해상도를 구하는 방법은 이곳 Q&A를 검색하시면 나옵니다.

    그것을 가지고 위의 식으로 계산해서 해보세요.



    김경수 wrote:

    > 안녕하세요. 김경수입니다.

    > 인쇄에 대해서 물어볼려구요. 아래와 같이 인쇄를 하면 글자의 크기가 제대로 나옵니다.

    > 근데 다시한번 출력하면 무지하게 작은 글자가 출력되는데

    > 제가 뭐 설정안해논거 있나해서요.낼까지 해야되는데 고수님들의 조언 부탁드립니다.

    > 건강하세요

    >

    >

    > //인쇄 버튼 클릭시

    >

    > if MessageDlg(ed_1.text+' 영업소의 거래명세서를 인쇄하시겠습니까?',

    > mtinformation, [mbYes, mbNo], 0) = mrYes then

    > printer.Canvas.font.Height := 18;

    > printer.BeginDoc;

    > y := 200;

    > try

    > for i:=1 to sg_1.rowcount-1 do

    > if i<9 then

    > begin

    > begin

    > printer.Canvas.TextOut(150,y,sg_1.cells[0,i]); //품명

    > printer.canvas.textout(650,y,'box'); //박스단위

    > printer.canvas.textout(730,y,sg_1.cells[1,i]); // 박스

    > printer.canvas.textout(800,y,sg_1.cells[2,i]); //수량

    > printer.canvas.textout(850,y,sg_1.cells[3,i]); //낱개수량

    > printer.canvas.textout(1050,y,sg_1.cells[4,i]); //공급가단가

    > printer.canvas.textout(1200,y,sg_1.cells[5,i]); //공급가금액

    > y := y+60;

    > end;

    > if sg_1.rowcount-1<9 then

    > begin

    > printer.canvas.textout(1200,680,ce_1.text);

    > printer.canvas.textout(1200,740,ce_2.text);

    > printer.canvas.textout(1200,800,ce_3.text);

    > end;

    > end

    > else

    > finally

    > printer.enddoc;

    > b_next.Click; //나머지 항목의 인쇄

    >

    > ---끝나기

    >

    >





  • Profile
    김경수 1999.04.24 12:42
    안녕하세요. 김경수입니다.

    에구 size로 하니까 아래와 같은 문제가 없어지더군요.

    답변 감사드립니다. 기분 조타..^_^

    그럼 건강하세요



    이정욱 wrote:

    > 이 문제의 키는 Font.Height 에 있습니다.

    > 화면이 72 DPI일 경우 Font.Height 의 공식은 아래와 같습니다.

    > Font.Height = -Font.Size * Font.PixelsPerInch / 72

    > 즉, Font의 Height가 양수이면 Size가 음수, Height가 음수이면 Size가 양수가 되죠. 즉, 아래의 Font.Height := 18은 잘못된 것입니다.

    > 가능하면 Font.Size를 가지고 하는것이 직관적입니다.

    > 프린터의 해상도를 구하는 방법은 이곳 Q&A를 검색하시면 나옵니다.

    > 그것을 가지고 위의 식으로 계산해서 해보세요.

    >



    • 심주성
    • 1999.04.26 05:39
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.04.26 19:30
      심주성 wrote: > > 안녕하세요. 완전프로그래밍 초짜입니다. > > delphi4.0을 해볼려구 함 깔아...
    • 심주성
      1999.04.28 09:40
      안치봉 wrote: > > 안녕하세요. > > 잘은 모르겠지만 델파이4가 일부 그래픽카드와 충돌한다는 설도 ...
    • 강지영
    • 1999.04.26 01:12
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.04.26 01:47
      DBGrid의 Align이 문제인것 같네요. alClient나 다른 것이 설정되어 있으면 당연히 위치가 바뀌어 버립니...
    • 고혜정
    • 1999.04.25 12:36
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신호성
      1999.04.27 04:11
      고혜정 wrote: > 안녕하세요.. 오래간 만에 들어와보니 달라 졌군요. > 스토오드 프로시저 컴포넌트를 ...
    • 전형식
    • 1999.04.25 09:52
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.04.25 21:51
      전형식 wrote: > 안녕하세요.. > 델파이를 사랑하는 개발자 입니다. > 이번에 보이스관련 프로그래밍을 ...
    • 강지영
    • 1999.04.25 00:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 전철호
      1999.04.25 01:10
      강지영 wrote: > 델파이 소스를 들여다보다가 궁금한점이 있어서 질문합니다.. > 일반적으로 변수를 설정...
    • 박상현
    • 1999.04.24 23:06
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.04.25 08:02
      리스트에 없는 인덱스를 가리켰기 때문에 난 에러 입니다. 예를들면 리스트에 들어있는 아이템의 갯수가 3...
    • 한태진
      1999.04.25 04:23
      WhiteDragon wrote: > 제가 변환할려는 것은 도스용 dbf화일을 델파이 파라독스 화일인 db로 전환할려고 ...
    • 박홍석
    • 1999.04.24 20:25
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 강두헌
      1999.04.27 22:14
      박홍석 wrote: > 안녕하세요. > > 날짜형 필드를 가지고 쿼리하는 방법을 알고 싶습니다. > 여러가지...
    • 신인재
      1999.04.26 21:03
      박홍석 wrote: > 안녕하세요. > > 날짜형 필드를 가지고 쿼리하는 방법을 알고 싶습니다. > 여러가지...
    • 이헌
    • 1999.04.24 18:48
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.04.24 20:15
      TextOut의 마지막 인자는 String형입니다. 기본적으로 델파이 32비트에서는 String형의 길이는 제한이 없...
    • 박광호
    • 1999.04.24 18:28
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.04.24 20:32
      폼 이름이 Form2라고 가정을 하고 Form2는 TForm형이라고 가정을 할때, Form2 := TForm.Create(Self); ...
    • 김성희
    • 1999.04.24 09:25
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.04.24 12:05
      김성희 wrote: > 독립된 프로그램 사이에서 파라메터가 이동할수 있는 방법이나요? > 있다면 어떤방법인...
    • 박홍석
    • 1999.04.24 06:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.04.24 07:30
      박홍석 wrote: > 안녕하세요. > > 콤보박스를 펼쳐서 마우스로 아이템을 선택할려고 이동중일때 > 그 ...
    • 김경수
    • 1999.04.24 05:42
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.04.24 08:09
      이 문제의 키는 Font.Height 에 있습니다. 화면이 72 DPI일 경우 Font.Height 의 공식은 아래와 같습니다....
    • 김경수
      1999.04.24 12:42
      안녕하세요. 김경수입니다. 에구 size로 하니까 아래와 같은 문제가 없어지더군요. 답변 감사드립니다. ...
    • 김영회
    • 1999.04.24 04:00
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.04.24 08:11
      다른곳에서 잘되었다면 삼보에서도 잘 되어야 겠죠. 델파이와 BDE의 관계중 하나 가능성이 있는것이라면 ...
    • 초보자
    • 1999.04.24 02:28
    • 2 COMMENTS
    • /
    • 0 LIKES
    • chaser
      1999.04.24 03:24
      초보자 wrote: > 윈도우의 탐색기 처럼 한 폼에서 여러개의 부분으로 구분된 폼을 만들고 싶습니다. 어떻...
    • 초보자
      1999.04.24 21:53
      답변에 감사드립니다 한가지 더 질문올립니다. 화면을 양쪽으로 분할하는것은 이제 알았습니다. 그러면 ...
    • 손진운
    • 1999.04.24 02:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.04.24 04:32
      AsyncProfessional이라는 컴포넌트가 지원합니다. 유료구요... 구입문의는 나이렉스로 문의 바랍니다. 5...
    • 송동일
    • 1999.04.24 01:05
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.04.24 04:35
      송동일 wrote: > 델파이로 사다리 프로그램을 짜볼려고 하는데... > 통 감이 안 잡히네요... > 학교 다...
    • chaser
    • 1999.04.23 23:44
    • 0 COMMENTS
    • /
    • 0 LIKES