Q&A

  • Quick Report에서 한글 다단처럼 출력하기...
안녕하세요.. ^^
맨날 여기서 많은 걸 얻어가네요.. ^^
이번에도 부탁드려욤..
다름이 아니고...
퀵레포트를 이용하여 여러 고객의 주소를 출력하려고 합니다..
그냥하면
A4-------------------
|        내용1          |
|        내용2          |
|          .               |
|          .               |
|          .               |
|_____________|

이런식으로 나오자나요...
저거를 용지 낭비가 심한거 같아서..
한글에서 다단처럼 두개로 나눠서 하려고 하는데..
A4-------------------
|   내용1   내용2    |
|   내용3   내용4    |
|          .               |
|          .               |
|          .               |
|_____________|

이런식으로..
어케해야 할까요?
DB는 MDB와 ADO를 사용하고 있습니다..
4  COMMENTS
  • Profile
    남경만 2005.02.13 02:50
    덕분에 쉽게 끝낼 수 있게 되었네요...

    ㅎㅎㅎ

    저도 어여 질문만 하는 사람이 아니고..

    여러분처럼 성실히 답변해주는 사람이 되었음 좋것네요.. ^^

    감사합니다...
  • Profile
    강재규 2005.02.12 20:35
    제일 간단한 방법인거 같아서 올립니다.
    Quickrep1의 Properties에 보시면 Page가 있어요...
    거기에 Columns를 2로 하시면 자동으로 디테일 벤드가 다단처럼 인쇄가 됩니다.
    하나 문제점은

    ====================
                    ~~ 대장
    ------------------------------------
    0001                 0011
    0002                 0012
    0003                 0013
    0004                 0014
    0005                 0015
    0006                 0016
    0007                 0017
    0008                 0018
    0009                 0019
    0010                 0020
    ------------------------------------

    이런 순서로 나오게 되는 거죠...
    짧은 소견을 적습니다.
    그럼 즐코 하세요...


  • Profile
    nilriri™ 2005.02.11 23:10
    기존에 하시던것처럼. 디자인을 하신다음에..

    qrdbtext컴포넌트를 놓으시고 데이터셋과 필드명을 연결해 주셨으리라 생각됩니다...

    가장 보편적인 방법을 이용하셨다는 가정하에..^^  물론 express나 qrlable을 이용하셨을수고 있겠죠..

    qrdbtext를 제거를 하시고.. 대신 qrlabel을 두개 놓으십시오..

    ================================================
    성명      |    주소                            ||     성명    |     주소
    --------------------------------------------------------------------------------------
    label1  |     label2                       ||    label3  |       label4                       <= 디테일벤드
    ================================================

    이런식이 되겠죠?  

    디테일벤드의 beforeprint 이벤트에서
    qrlable1.caption := dataset.fieldbyname('name').asstring;
    qrlable2.caption := dataset.fieldbyname('addr').asstring;
    dataset.next;
    qrlabel3.caption :=  .......
    qrlabel4.caption := ......;


    이런식으로 코딩을 해주시면 한줄에 두개의 레코드를 출력하실수 잇습닌다.

    주소를 출력하는 qrlable은 크기를 적당히 늘려주시고..AutoSize속성은 false로 하시구요..

    wordwrap속성을 true로 해주시면..내용이 많을경우 두줄로 찍힐겁니다...


    그럼..즐프~~



  • Profile
    kivalan 2005.02.11 22:21
    젤 좋은 방법은 퀵레포트에서 다단 출력을 지원하는 것이겠지만요.(이부분은 좀 확인이 필요합니다).

    간단하게 하자면.
    ClientDataSet을 이용하는 겁니다.
    현재 출력할 결과 값을 한번더 걸러서 퀵레포트에 출력하면 됩니다.


    Query한 결과 리스트를 가지고
    가상에 메모리 테이블에
    Field1 Field2
    주소1  주소2
    주소3  주소4
    ..
    즉, 출력 쿼리 결과 값으로 단형식 테이블을 하나 더 만들어 버리는 거죠. 가상으로)

    이런식으로 출력할 결과 값을 입력시키구요.
    레포트랑 ClientDataSet을 연결시켜서 바로 뽑아 버리는 겁니다.
    출력후에는 가상테이블을 지우구요.

    제일 간단하게 되지 않을까 하는데요.



    • 신재민
    • 2005.02.13 09:59
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 히히
      2005.02.14 20:08
      Form에서 보면 KeyPreView가 있습니다. 이넘을 True 로 주면 키보드 Input을 Edit보다 Form의 KeyDown에서...
    • 깜장곰
    • 2005.02.13 02:00
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2005.02.14 21:26
      안녕하세요. 최용일입니다. 메인폼의 OnCreate이벤트에서 아래와 같이 해보세요... procedure TForm1...
    • 김상균
      2005.02.12 18:39
          TPanel((Sender as TImage32).Parent).Color := clActiveCaption;
    • 이중철
      2005.02.14 18:04
      지금 보면 ImgCenter의 Parent를 설정하지 않았네요 설정하지 않으면 (Sender as TImage32).Parent는 nil...
    • nilriri™
      2005.02.12 10:36
      '파일 다운로드' 라는 제목의 윈도우가 생성되는지 감시했다가 핸들값을 얻어다가...프로세스를kill하시면 ...
    • 송인화
    • 2005.02.12 05:15
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이중철
      2005.02.12 09:15
      strText[1] => A strText[2] => B strText[3] => C 어떤것을 원하나요? for i := 1 to Leng...
    • 송인화
      2005.02.12 18:18
      답변 감사합니다. ^^ 즐거운 주말 보내세요~
    • 김종현
    • 2005.02.12 03:50
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이중철
      2005.02.12 09:21
      select sum(수량) as 입고 ...... 만약 입고와 출고를 같이 나오게 할려면 상호 Outer join해야 하는데 ...
    • 김종현
      2005.02.12 21:45
      답변 고맙습니다. 죄송한데 제가 완전 초보라서 그러니 좀 자세하게 가르쳐주심 안될까요? 너무 막막...
    • nilriri™
      2005.02.14 21:46
      RDBMS가 오라클 8i이상이라면 쿼리 한번으로 합계 누계까지 가능할껍니다. 물론 다른 디비라도..union a...
    • 송인화
    • 2005.02.11 22:57
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 히히
      2005.02.11 23:49
      ClientSocket의 OnError 이벤트 핸들러를 다음과 같이..... procedure TForm1.ClientSocket1Error(Sende...
    • 송인화
      2005.02.12 02:16
      안녕 하세요.. 답변 감사 드립니다.. OnError 이벤트를 처리하니깐.. 알수가 있더군요.. 한가...
    • 채팅
      2005.02.12 14:52
      clientSocket은 NonBlocking소켓입니다. 그래서 일단 Open메소드를 부르면 연결이 성공하든 실패하든 다음...
    • 송인화
      2005.02.12 19:42
      안녕 하세요.. 답변 감사 드립니다... ClientSocket은 NonBlocking소켓이라구 하셨는데요.. &...
    • kivalan
    • 2005.02.11 22:55
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2005.02.14 08:03
      안녕하세요. 최용일입니다. WaveOutOpen (@FHandle,FDeviceID,FFmtChooser.WaveFormatEx,DWORD(@WaveOut...
    • kivalan
      2005.02.15 05:01
      계속 답변을 달아 주시는데 고맙고 죄송합니다. 잘 이해가 안가서요.. acmFormatChoose(fc) 넵 이 함수...
    • 최용일
      2005.02.15 17:55
      안녕하세요. 최용일입니다. 몇번 말씀을 드렸는데... 이해를 못하시네요... ㅠㅠ waveInOpen할때 필...
    • kivalan
      2005.02.16 04:40
      앗 이제애 이해를 했ㄴ요. waveInOpen 인자가 타입형포인터줄 알고 헷갈려 했습니다. TACMFormatChooser....
    • 남경만
    • 2005.02.11 17:52
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 남경만
      2005.02.13 02:50
      덕분에 쉽게 끝낼 수 있게 되었네요... ㅎㅎㅎ 저도 어여 질문만 하는 사람이 아니고.. 여러분처...
    • 강재규
      2005.02.12 20:35
      제일 간단한 방법인거 같아서 올립니다. Quickrep1의 Properties에 보시면 Page가 있어요... 거기에 Colu...
    • nilriri™
      2005.02.11 23:10
      기존에 하시던것처럼. 디자인을 하신다음에.. qrdbtext컴포넌트를 놓으시고 데이터셋과 필드명을 연결해...
    • kivalan
      2005.02.11 22:21
      젤 좋은 방법은 퀵레포트에서 다단 출력을 지원하는 것이겠지만요.(이부분은 좀 확인이 필요합니다). 간...
    • 김진태
    • 2005.02.10 07:15
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 델티즌
      2005.02.11 09:14
      자주 실수하는 부분이죠. 변수가 문자인 경우는 문자열이 아닌 문자로 취급해야 합니다. case &nb...
    • 김영미
      2005.06.01 21:01
      한참 헤메다가 답변하신 부분 참조합니다. 정말 감사합니다. 항상 행복하시길 빕니다.( __)꾸벅.
    • kivalan
      2005.02.11 05:33
      말그대로 Ordinal type required 순서적인 값을 가지고 있는 타입만 가능하네요. var abc: Char; begin ...
    • nilriri™
      2005.02.11 23:02
      indy 컴포넌트를 이용하시면 좀더 간단할거 같습니다. 꼭 웹브라우져 컨트롤을 사용하셔야 한다면 행...
    • 이재현
      2005.02.12 10:00
      우선 답변 감사드립니다. ^^; 그렇게 간단한거라면 질문을 올리지 않았죠.. ^^;; 자답 입니다.. ^^; ...
    • nilriri™
      2005.02.12 10:48
      그런 방법도 있었군요...^^; 감사합니다... 보통은 자신만 알고 넘어가버리기 쉬운데...힘들게 알아 내...
    • 박지용
      2005.02.11 19:56
      TThread.OnTerminate Even를 사용하시면 될 것 같네요...^^ 그럼.
    • 파멸의슬픔
      2005.02.11 21:03
      간단 예제 올려드려요... 보시구 하세엽 그럼 이만~
    • 김상균
    • 2005.02.08 04:22
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 난 백만당적이다.
      2005.02.08 01:02
      goEdit를 True로 한 다음 OnCanEditCell 이벤트에서 CanEdit 를 False로 하면 됩니다.  ...
    • 이소룡
    • 2005.02.07 17:48
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 델티즌
      2005.02.08 10:16
      2003에서 이상한 현상들이 많이 발생하고 있습니다. 꼭 델파이의 문제는 아니듯 싶습니다. 2003 서비스팩...
    • 김춘수
      2005.02.07 22:44
      2003에 사용하는데 전혀 이상무입니다. 델파이7, 5 모두 사용 혹시 델파이 원본이 이상한것 아닐까요 ...
    • 난 백만당적이다.
      2005.02.07 20:06
      테이블은 단지 보여지는 기능만 하게 하구요... 저장은 쿼리로 하면 문제가 해결될것같은데요.... 여러개...
    • 무심코
      2005.02.07 22:15
      첨에 델파이를 쓸때 저도 이부분에 대해서 무척 고민에 빠졌습니다. DataSource.AutoEdit 를 false 로 해...