태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.
독도 광고 모금 캠페인
rss
2008 JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC << >>
April 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

위 파워빌더 Example프로그램처럼 Datawindow(이하 DW)에 Grouping을 이용할 경우 페이지 변경되는 부분에 회색 라인이 생기게 된다.
스크롤 바를 클릭하여 페이지 단위로 넘길때는 안보이지만, 휠마우스로 스크롤을 한다던가 스크롤바 상하 이동 버튼을 클릭하거나 스크롤바를 드래그해서 이동하거나 하면 이 페이지 구분 라인이 보여서 가끔 프로그램 사용자들이 불만을 제기하는 경우가 있다.

이런 경우 페이지 단위로 이동하게 하는 방법을 알아보도록 하자.

페이지 단위 스크롤하는 Global 함수를 하나 추가하자.
Prototype은 다음과 같다.

global function long gf_dw_page_scroll (datawindow arg_dw)

이 함수의 내용은 다음과 같다.

   1:  //===========================================================
   2:  //= DW에서 휠/스크롤시 페이지 단위로 스크롤 처리
   3:  //= DW.other이벤트에 사용할 것.
   4:  //===========================================================
   5:   
   6:  CONSTANT integer WM_MOUSEWHEEL = 522 
   7:  CONSTANT integer WM_VSCROLL = 277
   8:   
   9:   
  10:  //= 마우스휠/스크롤을 사용한 경우 페이지 단위로 스크롤 하기
  11:  Long ll_rowcnt, ll_firstrow_page, ll_lastrow_page, ll_updown
  12:   
  13:   
  14:  // 마우스휠/스크롤을 사용한 경우
  15:  IF Message.Number = WM_MOUSEWHEEL OR Message.Number =  WM_VSCROLL THEN 
  16:      
  17:      //= 위로인지 아래인지 설정
  18:      IF Message.Number = WM_MOUSEWHEEL THEN
  19:          IF Message.WordParm > 0 THEN 
  20:              ll_updown = 1
  21:          ELSEIF Message.WordParm < 0 THEN
  22:              ll_updown = -1
  23:          END IF
  24:      ELSEIF Message.Number =  WM_VSCROLL THEN
  25:          //= 0은 위버튼클릭, 2는 위쪽바를 클릭
  26:          IF Message.WordParm = 0 OR Message.WordParm = 2 THEN 
  27:              ll_updown = 1
  28:          //= 1은 아래버튼클릭, 3은 아래쪽바를 클릭
  29:          ELSEIF Message.WordParm = 1 OR Message.WordParm = 3 THEN 
  30:              ll_updown = -1
  31:          END IF
  32:      END IF
  33:      ll_rowcnt = arg_dw.RowCount() 
  34:      ll_firstrow_page = Long(arg_dw.Object.DataWindow.FirstRowOnPage)
  35:      ll_lastrow_page = Long(arg_dw.Object.DataWindow.LastRowOnPage)
  36:      
  37:      //= 위로 스크롤한 경우
  38:      IF ll_updown = 1 THEN
  39:          
  40:          IF ll_firstrow_page <> 1 THEN
  41:              arg_dw.ScrollPriorPage()
  42:          END IF        
  43:          
  44:      //= 아래로 스크롤한 경우
  45:      ELSEIF ll_updown = -1 THEN
  46:          
  47:          IF ll_lastrow_page <> ll_rowcnt THEN
  48:              arg_dw.ScrollNextPage()
  49:          END IF
  50:          
  51:      END IF
  52:      
  53:      Message.Processed = TRUE     
  54:      
  55:      RETURN 1 
  56:  END IF 

ScrollPriorPage(), ScrollNextPage()함수를 이용하면 페이지 단위로 화면이동이 되고, Message.Number와 Message.WordParm은 MSDN을 참고하거나 일일이 디버깅모드로 값을 찾았습니다. 삽질이었죠. Sybase에서 Message내용을 다 정리해 주었으면 좋겠지만 그렇지 못한것이 아쉬웠습니다.

함수를 추가하되었으면, 페이지 단위로 스크롤할 DW의 other이벤트에 다음 코드를 추가하면 해당 DW는 페이지 단위로만 스크롤이 됩니다.

   1:  //= 마우스휠/스크롤을 사용한 경우 페이지 단위로 스크롤 하기
   2:  Return gf_dw_page_scroll(This)

위 Example에서는 w_print_employee_roster_dw.dw_employee_roster.other 이벤트가 되겠네요.

gf_dw_page_scroll 함수의 Export File을 첨부파일에 있습니다. 파워빌더 10.5로 Export한 것이니 Example프로그램에 한번 적용해 보시길 바랍니다.



지옥으로 가는 탑

지옥으로 가는 탑

지옥이 정말 있다면 어디 있을까?
일반적으로 사람들은 천당은 하늘, 지옥은 땅 이란 생각을 하는데...
지옥도 혹시 하늘에 있는 건 아닐까?
가끔 음침한 하늘을 보면 이런 생각을 해본다.

심천 세계의창에서...

파워빌더에서 오라클 DB연동 프로그램 개발할때 아주 유용한 툴을 하나 소개하고자 한다.

오라클 개발자라면 TOAD는 익히 알고 있으리라 생각하는데, SQL Monitor는 개발자들이 잘 모르는 것 같다. 한번 사용하기 시작하면 없으면 정말 불편한 고런 툴이다. 단, 개발자는 TOAD가 설치해야만 한다. 뭐 회사에서 돈없어서 안사준다면... 이 포스트를 읽지 마시길... --'

시작 > 프로그램 > Quest Software > Toad for Oracle > Tools 메뉴에 보면 SQL Monitor 단축아이콘이 있다. 이 툴은 현재 PC에 있는 오라클 클라이언트를 통한 모든 SQL Query를 캡쳐한다. 프로그램을 실행하면 오른쪽에 오라클 클라이언트를 사용하는 프로그램 목록이 나오는데, 프로그램명 앞 체크 박스를 클릭하면 그때부터 그 프로그램이 수행하는 모든 Query를 오른쪽 화면에 쫙쫙 뿌려준다.
SQLMonitor-01

DB오류 메시지까지 친절하게 나온다. DB에러가 났는데 어떤 쿼리에서 에러가 났는지 바로 알수가 있으니 개발자 입장에선 아주 유용한 툴이다.

다른 한편으로 보면 이툴로 소스 없이도 개발한 프로그램의 DB구조를 다 파악해 버릴 수도 있는 함정이 있기도 하다. 실제로 중국 프로젝트중 중국 개발자가 내가 이 툴로 작업하는 거 보고, DB구조를 파악해서 질문공세를 퍼붓는 바람에 곤욕을 치루기도 했었다 ㅡㅡ;

File > Output Opoions 항목에 보면 Formatter Plus(TOAD툴중 Query를 이쁘게 정렬해 주는 툴)기능을 이용해 출력 쿼리를 이쁘게 정리할 수도 있고, 실행계획(Explain Plan)도 떠 볼수가 있다.
SQLMonitor-02



PB-RIA-2008-01 

차세대 RIA(Rich Interner Application) 툴인 PowerBuilder가
개발자 분들이 개발환경에서 겪는 문제를 혁신적으로 해결해 드립니다.

날로 변화하는 환경의 변화만큼이나 개발자 분들은 목표를 이루기 위한 혁신적인 도구를 필요로 할 것입니다.
이번 "PowerBuilder for RIA 2008"에서 기업의 업무 복잡화와 글로벌화, 시스템 연계 필요성 등 당연한 문제들을 창의적으로
해결할 수 있는 매력적인 솔루션을 소개합니다.
한층 더 강력하고 화려해진 툴로 손쉽게 RIA애플리케이션을 구현할 수 있도록 도와 드릴 것입니다.
또한, RIA 솔루션부터 모바일, PowerBuilder의 Tip, PowerBuilder 다국어 솔루션, 변화 관리 솔루션들을 한눈에 보여 드릴 것입니다.
이번 세미나를 통해 PowerBuilder의 무한한 가능성을 직접 체험하시고, 정보를 나누는 자리를 정성껏 마련하오니 많은 참석바랍니다.


PB-RIA-2008-02
PB-RIA-2008-03
PB-RIA-2008-04
PB-RIA-2008-05
PB-RIA-2008-06
PB-RIA-2008-07

enable이라는 솔루션이 관심을 끈다.
과연 어떤 방식으로 다국어를 지원한다는 것인지...

이번 세미나 주제를 보면 차세대 RIA(Rich Internet Application) 툴을 표방하고 나왔는데, 국내 X인터넷환경은 국산툴들이 이미 장악한 상황인데 파워빌더가 얼마만큼 선전할 수 있을지 귀추가 주목된다.
MiPlatform으로 프로젝트한 경험이 있는데 툴 측면에서 보면 파워빌더를 사용했던 필자의 입장에선 불편한 점이 한두가지가 아니었다.

국산툴의 선전도 국내 소프트웨어 산업을 위해서 필요하겠지만, 외산인 파워빌더와의 경쟁은 국산툴의 발전의 촉매가 되지 않을까 하는 생각이다.

아무쪼록 이번 세미나를 통해 파워빌더가 RIA툴의 한부분으로 확고히 자리 매김하길 바란다.



Smile

배시시

오늘 좋은 일 있으셨어요?
행복하세요?

그냥 웃어 보자고요. 그럼 좋은 일도 생기고 행복해 지지 않을까요?



요즘 양청린(杨丞琳;Rainie)의 매력에 빠져 매일 듣고 있는 노래... 뭔
뜻인진 아직 파악이 안되지만(--) 듣고 있음 신난다.
그리고 한귀여움 한다는... ㅋㅋ
오른쪽 볼에 있는 점이 매력 포인트라고나 할까

  • 이름: 楊丞琳 / 杨丞琳 / Yang Cheng Lin
  • 영문이름: Rainie Yang
  • 생일: 1984년 6월 4일
  • 출생지: Taipei, Taiwan
  • 키: 162cm
  • 몸무게: 42kg
  • 혈액형: A



  • 심천만국도대교(深圳湾公路大桥)

    심천만국도대교(深圳湾公路大桥)

    심천에서 홍콩가는 허벌나게 큰 다리.
    2007년 7월 1일 개통했다고 하는데 다리는 다 완성되었지만 아직 주변은 공사중...
    숙소에서 여기까지 자전거 타고 갔는데, 음청 힘들었다.

    6일만에 6mm자랐네

    2008/04/21 11:08

    보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.


    우리 아가들과의 첫만남

    2008/04/15 10:59

    보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.


    따뜻한 봄 덕수궁에서

    2008/04/05 20:30

    보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.