Q&A

  • 소소 좀 봐주세요...
--------------                         --------------
|종류| 음식명|                          |종류| 음식명|
--------------                         --------------
| 중식| 짜장면|                         | 중식| 짜장면|
--------------                                  --------
| 중식| 울면   |      ======>        |       | 울면   |
--------------                                  --------
| 중식| 짬뽕   |                         |       | 짬뽕   |
--------------                                  --------
| 중식| 우동   |                         |       | 우동   |
--------------                          --------------

이렇게 할려고 그러는데요

전에 아폴론님에 도움으로 조금 하기는 했는데 잘 안되더라구요

소스 올리겠습니다.

변수는 전역으로 선언되어 있습니다.

procedure TForm4.QuickRep1BeforePrint(Sender: TCustomQuickRep;
  var PrintReport: Boolean);

  ls_new_entp := DM.query5.Fieldbyname('entp_nm').AsString;
  ls_new_shop := DM.query5.Fieldbyname('shop_ctg_nm').AsString;
  ls_new_sales := DM.query5.Fieldbyname('sales_ctg_nm').AsString;

  if ls_old_entp = ls_new_entp then
     QRDBText48.width := 0
  else
     ls_old_entp := DM.query5.fieldbyname('entp_nm').AsString;

  if ls_old_shop = ls_new_shop then
     QRDBText49.width := 0
  else
     ls_old_shop := DM.Query5.fieldbyname('shop_ctg_nm').AsString;

  if ls_old_sales = ls_new_sales then
     QRDBText50.width := 0
  else
     ls_old_sales := DM.Query5.fieldbyname('sales_ctg_nm').AsString;
end;

procedure TForm4.formcreate(sender : Tobject);
begin
  ls_old_entp := 'aaaaaa';
  ls_old_shop := 'aaaaaa';
  ls_old_sales := 'aaaa';

  ls_new_entp := '';
  ls_new_shop := '';
  ls_new_sales := '';

  QRShape78.width := 0;
  QRShape77.width := 0;
  QRShape76.width := 0;

end;

이렇게 하면요

음...선은 없어지는데 값은 그대로구요

다시한번 더 출력버튼을 클릭하면 선도 없어지고 값도 없어지네요

어떻게 해야 하나요

답변 부탁드립니다..
4  COMMENTS
  • Profile
    KYH 2002.10.07 20:36
    좀 엽기적인방법이 있긴한데여 --;;;;;;;;;;

    (-----)---------  1번
    | (중식)| 짜장면|  2번
    (-----)-----------  

    위에서처럼  위쪽/아랫쪽라인을 하나씩 그리시구여


    전역변수를 하나쓰신담에  (linechk  -> string)

    procedure TForm4.여기가아니구여 라인before(Sender: TCustomQuickRep;
      var PrintReport: Boolean);

    if linechk = DM.query5.Fieldbyname('entp_nm').AsString then
    begin
         1번.enabled :=  false;
         2번.enabled :=  false;
         3번.enabled :=  false;
    end
    else
    begin
         1번.enabled :=  true;
         2번.enabled :=  true;
         3번.enabled :=  true;
    end;

    linechk := DM.query5.Fieldbyname('entp_nm').AsString;

    end;

    경우에 따라 3번은 유동적이겠져...(페이지마지막이나 맨마지막일경우...)

    해보십셔......물론 줄간격 맞추는게 쬐금 --;;; 어려우실겁니다만.....


    예전에는 visible로 해두 됬는디...쩝...


    나두 델파이하구싶당...

    즐코딩하시길...


















  • Profile
    김상수 2002.10.07 21:21

    procedure TForm4.여기가아니구여 라인before(Sender: TCustomQuickRep;
      var PrintReport: Boolean);

    이부분만 수정해도 되기는 되는데

    님의 말씀대로 걸리는게 있네염

    페이지의 맨 마지막에 라인도 보이지가 않으니...

    님이 갈쳐준 방법을 써봐야겠군요...

    글구요...

    각각의 페이지에 첫 Row에 값은 나올 수 있게염..

    그러니깐

    ----------------------------
    | 중식 | 짜장면                    |
    |        |                              |
    |        |                              |
    |        |                              |
    |        |                              |
    |        |                              |
    ----------------------------       < 첫페이지>

    ----------------------------
    |        | 짬뽕                       |
    |        |                              |
    |        |                              |
    |        |                              |
    |        |                              |
    |        |                              |
    ----------------------------      <둘째 페이지>
    현재는 이렇게 나오는데...

    짬뽕앞에도 중식이 나올수 있게 그렇게염
      
    그렇게 할려면 우찌해야 하는지...ㅜ.ㅜ

    걱정입니다...

    답변 부탁드립니다. 그럼 이만..


  • Profile
    KYH 2002.10.08 19:14
    --;;;;

    좀더 엽기적으루 가보지여

    페이지 footer 의 afterprint 에서

    linechk := '';

    하시면 첫번째는 찍힐거구여.......


    전역변수를 하나더 두시구여..

    ex) lcnt_chk:integer;


    페이지당 몇줄이나 찍히는지 아실겁니다.

    detail 밴드 beforeprint 에서

    lcnt_chk:= lcnt_chk+1;

    더해나가다가 마지막줄이믄 가차없이

    3번.enabled :=  true;
      lcnt_chk := 0;

    해주시믄 될건데여 --;;;


    이상 엽기잔머리였습니다.



  • Profile
    김상수 2002.10.09 03:56
    신경써주셔서 감사합니다..

    첫Row에 찍히는 것은 안되는군요

    첫Row에 찍히는게 아니라 두번째 Row에 찍히는군요...ㅡㅡ;

    그리고

    보통  한 페이지에 14Row정도 나오는데

    중간에 소계가 들어가고 해서 그것도 일정하지 않거든요

    가장 중요한거는 제일 마지막 Row라는 것을 어떻게 알 수 있느냐죠

    여기하고 델마당이라는 게시판에도 글을 올렸는데

    답이 없더군요

    조회수만 늘어나고

    죽을 맛입니다...

    암튼 답변 감사드립니다.

    그럼 이만...
    • 브래드
    • 2002.10.08 00:33
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김수경
      2002.10.08 22:40
      3D 구현시 직접 프로그래밍하여 구현 할 수도 있지만 계산(특히 행열부분) 부분도 많고 속도도 빠르지 않...
    • ybkim
    • 2002.10.07 23:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김해우
      2002.10.09 02:38
      그냥 가기가 뭐해서... 팁란에 ADO라고 검색해보세요... 그럼...
    • 조건일
    • 2002.10.07 23:19
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.10.08 20:20
      안녕하세요. 최용일입니다. 그냥 API로 하시던가 델파이파일입출력 표준함수를 사용하시던가 하면 됩니...
    • 조건일
      2002.10.09 19:07
      흠.. 훨씬 더 간단한 방법이 있었군여.. 혼자서 고민하다가.. 코드를 막 섞어서 일단은 해결은 했씁니다.....
    • 김상수
    • 2002.10.07 20:28
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 오병주
      2002.10.07 20:57
      만약 벤드 속석이 디테일이라고 가정해봅시다 그러면 쿼리의 내용이든지 어떤내용이던지 한번 찍히고 ...
    • 김상수
      2002.10.07 21:26
      잘은 모르겠네여 ^^;;; 공부를 많이 해야 할텐데... 멀 보고 해야할지도...^^;;; 암튼 답변...
    • 시베리아들개
      2002.10.07 20:55
      Print를 하고 났는데...무슨 AfterPrint이벤트냐고요... AfterPrint이벤트는 이렇게 한번 접근을...
    • 강민수
    • 2002.10.07 20:22
    • 1 COMMENTS
    • /
    • 0 LIKES
    • r김해
      2002.10.07 20:44
      안녕하세요... 김해우입니다.. 그냥 지나가기가 그래서 간단하게 코딩합니다. 마우스가 폼 영역밖에 ...
    • 김상수
    • 2002.10.07 19:57
    • 4 COMMENTS
    • /
    • 0 LIKES
    • KYH
      2002.10.07 20:36
      좀 엽기적인방법이 있긴한데여 --;;;;;;;;;; (-----)---------  1번 | (중식)| 짜장면| ...
    • 김상수
      2002.10.07 21:21
      procedure TForm4.여기가아니구여 라인before(Sender: TCustomQuickRep;   var PrintReport:...
    • KYH
      2002.10.08 19:14
      --;;;; 좀더 엽기적으루 가보지여 페이지 footer 의 afterprint 에서 linechk := ''; 하시면 ...
    • 김상수
      2002.10.09 03:56
      신경써주셔서 감사합니다.. 첫Row에 찍히는 것은 안되는군요 첫Row에 찍히는게 아니라 두번째 Row...
    • 안두식
    • 2002.10.07 19:51
    • 1 COMMENTS
    • /
    • 0 LIKES
    • blackjewel
      2002.10.08 02:07
      안녕하세여? 저도 그거 때문에 오래 고생해서 몇자적습니다. dbgrid에서 다중선택을 한다고 해도 qui...
    • 신양수
    • 2002.10.07 19:46
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 박준영
    • 2002.10.07 19:16
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 강형철
      2002.10.08 19:29
      이문제는 기존 델파이 5.0에서 MS Access를 연결할때 Native Access 드라이브를 사용해서 한걸로 보입니다....
    • 송재진
    • 2002.10.07 03:43
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최병철
      2002.10.07 21:52
      자료실에 특정 화일을 검색하여 경로명을 출력하는 예제 자료가 있읍니다. 참고 하세요.
    • 최용일
      2002.10.07 11:49
      안녕하세요. 최용일입니다. 질문안에 해답이 있네요... 이미지파일 불러올때 아래와 같이 하시죠? ...
    • 이추형
      2002.10.08 02:30
      access툴 자체에 비밀번호 설정이 있습니다. 비밀번호를 지정하시고 ODBC에서 확인하시면 될것 같습니다.
    • 송득보
      2002.10.08 04:56
      답변주셔서 감사한데요.. 그런 문제가 아니라.. 프로그램 내부에서 동적으로 .mdb 파일을 만들어 테...
    • 이추형
      2002.10.08 02:36
      데이타 타입이 datetime 또는 date형의 경우 아래와 같이 입력이 가능합니다. 참고로 datetime의 경우 '20...
    • 이성근
      2002.10.08 18:03
      님께서 말씀하시는 Date형식이 아니라 제가 원하는 방식은 문자형(string)으로 정의가 되어있는 필드를 ...
    • 최용일
      2002.10.07 12:01
      안녕하세요. 최용일입니다. interface나 implementation섹션에서 변수 하나 선언하시고 유닛의 initiali...
    • 김헌주
      2003.02.19 04:05
      ole.ole.CompactDataBase(s, App_Path + 'db1.$$$', , , ';pwd=xxxx');
    • 최용일
      2002.10.07 12:14
      안녕하세요. 최용일입니다. 쫌 질문이 막연한거 같은데... 얻어오고 싶다는 웹브라우져가 웹브라우져의 ...
    • kholeeyo
    • 2002.10.06 09:16
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.10.07 12:16
      안녕하세요. 최용일입니다. 델파이 소켓이나 인디소켓을 사용하세요. 둘다 예제 있으니까 예제보시면서 ...
    • 김동완
    • 2002.10.06 02:57
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.10.07 12:50
      안녕하세요. 최용일입니다. 동적배열 쓰셨는데... 메모리 할당하고 해제하는 부분이 없네요... 그리...
    • 김동완
      2002.10.07 19:04
      제가 워낙 초짜라서...죄송...-_-; 최용일님께서 알려주신 방법대로... 다시 코딩해 봤는데요... SizeOf...
    • 최용일
      2002.10.07 19:47
      안녕하세요. 최용일입니다. 어떤 에러가 난다는 말씀이신지??? 테스트 다 해보고 올린건데... SizeOf...
    • 김동완
      2002.10.07 19:57
      sizeof는 제가 이해를 잘못햇군여...쪽팔리당...-_-;;죄송.. sizeof는 아니구여... BlockWrite(MyFile2...
    • 김동완
      2002.10.07 20:39
      AssignFile(MyFile2, ListBox1.Items.Strings[i]+'.sec'); Rewrite(MyFile2,1);  <== 여기에...