본문 바로가기

파워빌더

파워빌더 - 실무에 유용한 팁모음3 [Tip41] Row와 Column의 Status ◈ DataWindow의 Row나 Column의 상태 New! (row만) NewModified! (row만) NewModified! (row와 column) DataModified! (row와 column) ◈ row 검색 row가 datawindow에 retrieve되면 NotModified!라는 row의 상태 가 되며 모든 column은 NotModified! 라는 column상태가 된다. ◈ retrieve row의 수정 column이 사용자 엔트리에 의하던지 SetItem함수에 의해 변경되면 그 column의 상태가 DataModified!로 변경되고 그 column이 존재하는 Row상태는 DataModified!로 변경된다. ◈ Row삽입 da.. 더보기
파워빌더 - 실무에 유용한 팁모음2 [Tip21] DataWindow Title bar Window에 Title bar가 있듯이 DataWindow에도 Title bar가 있다. DataWindow에서 Title bar를 사용하면 마우스로 DataWindow를 이동시킬 수 있게 된다. 하지만 DataWindow control에서 pbm_syscommand user event를 사용하면 DataWindow를 고정시킬 수 있다. int a, b a = message.wordparm CHOOSE CASE a CASE 61456, 61458 message.processed = true message.returnvalue = 0 END CHOOSE return 이렇게 pbm_syscommand에 script를 작성하면 마우스로 DataWindow를.. 더보기
파워빌더 - 실무에 유용한 팁모음1 [TIP1] NonVisible UserObject를 이용하여 Parameter 전달 한 window에서 다른 window로 어떤 값을 넘길때 통상 string, double 그리고 다수의 다양한 변수를 위해 structure를 사용한다. 그런데 여기에 유용한 다른 방법으로 NonVisible UserObject를 사용할 수 있다. 이것은 여러다양한 변수는 물론 Event , Function도 포함하여 전달이 가능하다 사용예 먼저 변수로 선언 n_parm in_parm Open Event에서 in_parm = CREATE n_parm Close Event에서 Destroy in_parm 필요한 값을 setting 한후 in_parm.dept_no = '00123' 값을 넘겨줄곳에서 OpenwithParm.. 더보기
파워빌더 - 수직타이틀바 Ver. 파워빌더 7.0 수평타이틀바에 식상하신분들은 한번써보세요..^^ 더보기
파워빌더 - 데이터윈도우 필드 배경색 설정 데이터윈도우에 자료를 입력할때 필드이동시 background color 를 지정하여 현재 어느필드에 포커스가 주어졌는지 알아보기 쉽게 하는 팁입니다... // Instance Variables string is_col_pre, is_col_cur //데이터윈도우의 itemfocuschanged 이벤트 is_col_cur = this.GetColumnName() if is_col_pre '' then this.modify( is_col_pre + ".background.Color=~"0~tIf(CurrentRow() = " & + "getrow(),RGB(255,255,255),RGB( 255, 255, 255 ))~"" ) end if this.modify( is_col_cur + ".background.. 더보기
파워빌더 - SMTP를 이용한 이메일 보내기 파워빌더에서 SMTP를 사용하여 간단하게 이메일을 보내는 예제입니다. 여러사람에게 메일을 보내실때는 Timer 이벤트를 사용하시되 이메일이 발송되는 시간을 고려하여 시간은 대략 20초에서 30초간격으로 보내시면 될듯합니다. 우선 첨부파일을 받으신후 아래와같이 윈도우 '시작메뉴 => 실행' 에서 dll를 등록합니다. 그다음 파워빌더 스크립트를 작성합니다... //이메일 보내는 스크립트 OLEObject smtp string ls_title,ls_from_addr,ls_to_addr,ls_attach int li_rv //오브젝트생성 smtp = CREATE OLEObject li_rv = smtp.ConnectToNewObject("SoftArtisans.SMTPMail") IF li_rv 0 THEN M.. 더보기
파워빌더 - 한영키변환 사용자들이 데이터윈도우에 자료를 입력할때 특정항목(한글로입력해야하는경우)에서 한영키를 눌러줘야하는 번거로움을 피할수 있도록 자동으로 한영키를 변환해주는 팁입니다. //Global xternal Functions 함수정의 FUNCTION LONG ImmGetContext( long handle ) LIBRARY "IMM32.DLL" FUNCTION LONG ImmSetConversionStatus( long hIMC, long fFlag, long l ) LIBRARY "IMM32.DLL" Function Boolean ImmGetConversionStatus(ulong hImc, ref ulong lpfdwConversion, ref ulong lpfdwSentence) Library "imm32.dll.. 더보기
파워빌더 - 금액을 한글로 표기하기 금액을 한글로 표현해야 하는경우가 있습니다. 견적서 같은경우 금액을 한글로 출력해야되는경우 function 으로 만들어두고 쓰시면 유용하겠습니다. 예> 2,050 -> 이천오십원 //스크립트 int MAX_LEN = 16 string ls_cnt [10] = {'일','이','삼','사','오','육','칠','팔','구',''} string ls_unit [4] = {'천','백','십',''} string ls_tmp, unit, ls_rtn string ls_i1, ls_i2, ls_i3, ls_i4, ls_s1, ls_s2, ls_s3, ls_s4, ls_chk int ii, jj, li_len decimal ld_num ld_num = dec(str_don) if ld_num < 0 then s.. 더보기
파워빌더 - 파이프라인 사용하기 파이프라인을 사용하면 서로다른,혹은 같은 데이터베이스간의 자료를 아주쉽게 주거니 받거니 할수있습니다. 메뉴의 파이프라인 메뉴를 통해 직접 사용이 가능하며, 또한 프로그램내에서 스크립트로도 사용이 가능합니다. 이미 파이프라인을 만들어 놓은 후 그것을 DataObject로 불러들여 사용하는 예제입니다... int li_ret pipeline li_pipline //파이프라인 오브젝트 생성 li_pipline = CREATE pipeline //메뉴에서 미리 만들어 놓은 파이프라인 pipe_name li_pipline.DataObject = pipe_name // SQLSOURCE는 Source쪽의 Transaction ,트랜젝션 별도 생성 // SQLCA는 Destination쪽의 Transaction //.. 더보기
파워빌더 - 투명윈도우 Ver. : 파워빌더 7.0 채팅창이나 기타 POPUP창을 뛰울때 사용하면 유용할거 같아서 투명도 조절가능한 투명윈도우를 만들어봤습니다... 사용된 user object 는 어디선가 퍼온건데 필요한 부분만 수정해서 사용 하였습니다... 더보기