본문 바로가기

프로그래밍/DB/파워빌더64

[파워빌더] MYSQL이나 마리아DB 사용시 카탈로그 문제 : Catalog tables could not be created and are not available for use. 파워빌더는 처음 실행시 DB에 5개의 테이블을 만드는데 MYSQL이나 마리아DB 사용시 잘 생성이 되지 않는 경우가 있다. 그냥 직접 만들어주자. CREATE TABLE `pbcatcol` (`pbc_tnam` CHAR(65) NOT NULL,`pbc_tid` INT(11) NULL DEFAULT NULL,`pbc_ownr` CHAR(65) NOT NULL,`pbc_cnam` CHAR(65) NOT NULL,`pbc_cid` SMALLINT(6) NULL DEFAULT NULL,`pbc_labl` VARCHAR(254) NULL DEFAULT NULL,`pbc_lpos` SMALLINT(6) NULL DEFAULT NULL,`pbc_hdr` VARCHAR(254) NULL DEFAULT NULL,`pbc.. 2017. 2. 7.
[파워빌더] ItemChanged이벤트에서 GetItem시 전의 값이나 맞지 않는 값을 가져올 경우 파워빌더로 개발을 하다보면 ItemChanged 이벤트에서 해당 DW의 데이터 값을 가져와 연산해주는 경우가 필요 합니다. 이럴 경우 문제가 생기는 경우가 종종있지요. 특히 자동 계산되는 Computed의 값을 가져올 때 그런 경우가 많은데요. 이럴 경우는 dw_test.Post Getitem~~ 이런 형식으로 써주면 ItemChanged 이벤트가 다 완료되고 GetItem이 수행이 되니 데이터값을 정상으로 가져올 수 있습니다. 또는 윈도우 펑션을 만드는 방법이 있겠고요. 이벤트를 만들어 주는 방법도 있겠네요. 펑션이나 이벤트 앞에 POST를 넣어주면 위와 같은 효과를 얻을 수 있겠지요. 추가사항 --> ItemChanged에서의 Post 이벤트 사용시 주의점 : 해당컬럼 변경 후 다른 버튼( 저장 등).. 2012. 7. 19.
[파워빌더] 데이터윈도우에서 그룹의 순번을 알아와 보자 파워빌더의 데이터윈도우에서 각 로우의 순번을 알아오는건 아주 간단한다. GetRow()를 Computed Field 로 만들어주면 될 것이다. 그럼 그룹핑을 한 데이터 윈도우에서 각 그룹의 순번을 알아오려면 어떻게 해야 할까. 방법은 여러가지가 있겠지만. 여기서는 Computed Field를 이용하는 방법을 이야기 해 보자. 이 그룹이 컬럼1, 컬럼2로 그룹핑이 되어 있다면 답은 cumulativeSum( 1 for all distinct 컬럼1, 컬럼2) 이런식으로 사용하면 될것이다. distinct는 중복행을 제거하는 명령어다. ( 참고로 Computed Field에서 SQL 문법이 어느정도 사용이 가능하다 )중복행을 제거하고 순차적으로 번호를 부여하게 되니 각 그룹의 순번이 찍혀 나오는것을 확인 할.. 2012. 7. 16.
[파워빌더] 파워빌더에서 웹 브라우져 컨트롤 하는 여러가지 방법과 브라우져가 닫혔는지 체크 방법 파워빌더에서 브라우져를 여는 방법은 아래 이미지를 참고 하시면 되리라 생각합니다. OLE로 오픈시킨 브라우져가 닫혔는지 체크 할 수 있을까요?? 버튼을 2개 만듭니다.1번 버튼에 아래 같이 코딩합니다. IE = CREATE OLEObjectIE.ConnectToNewObject("InternetExplorer.Application") IE.left=200IE.top=200IE.Height=200IE.width=400IE.menubar=1IE.toolbar=1IE.statusBar=0IE.navigate("http://naver.com")IE.Visible=1 2번버튼에 아래와 같이 코딩합니다. String ls_hwnd Tryls_hwnd = String(IE.HWND)CATCH(runtimeerror .. 2012. 7. 2.
[파워빌더] 파워빌더에서 디렉토리 리스트 가져오기~! 파워빌더에서 DirList를 가져오는 방법. 쉽습니다. F1을 눌러서 DirList를 검색해보면그러한 기능을 제공해주고 있지요. 아래 그림과 같이 보여주는게 가능합니다. 리스트박스에서FOR을 이용해서 하나 하나 읽어 들여 꺽쇠([)가 있는것만 디렉토리로 인식하고 리스트를 작성할 수 있겠습니다. 아래 그림을 참고 하세욧~ 2012. 6. 28.
[파워빌더] 파워빌더에서의 암호화 방법(CAPICOM.DLL 이용) 파워빌더에서 암호화 하는 방법은 여러가지가 있겠지만 MS에서 배포하는 CAPICOM.DLL을 이용하는 방법이 손쉬운것 같다. 인터넷에 뒤져보면 ASP 예제가 있으므로 이것을 파워빌더 코드로 작성해서 사용하면 된다. 직접 작동 되는것을 확인 했다. CAPICOM.DLL 은 많은 종류의 암호화 방법을 지원하는거 같다. 난 한가지만 테스트 해보았지만 ^^ 아래는 관련 사이트를 링크 해놓은다. 아주 간단하다!! http://bigale.blog.me/100154438901 http://blog.naver.com/jenayam?Redirect=Log&logNo=49193779 2012. 6. 5.
[파워빌더/Appeon] 파워빌더와 Appeon도 트렌드에 따라 모바일 지원하려고 하네요. 이미 몇 번 언급이 있었지만 슬슬 에이피온과 파워빌더에서도 트렌드에 따라 모바일을 지원하려고 하는거 같네요. 얼마나 완벽하게 포팅이 가능 할지는 두고 봐야 하겠지만 일단은 계속적인 새로운 트렌드를 적용 하려는거 같아 저같이 파워빌더만 한 사람은 반가울거 같네요 ^^ 아래는 에이피온에 관계된 것들이고요. 아마 파워빌더에서도 같은 수순으로 지원 하게 될거 같습니다. 에이피온은 3티어 파워빌더는 2티어 형식으로 나누어지는 모양입니다. 즐겁게 지켜봐야겠네요 히히!! 첨부파일은 풀버전 PPT 입니다. 관심있는분은 다운로드해서 보세요. 2012. 5. 22.
[파워빌더] ItemChanged 이벤트, 값 적용이 이전의 값으로 적용되는 경우, DW이동시 ItemChanged 발생 안될시 1. 일단 DW를 수정하고 다른 DW로 이동을 하게 되면 ItemChanged 이벤트가 발생이 되지 않는다. 조상단의 LosetFocus에 This.AcceptText() 코드를 넣어주어서 포커스를 잃어버릴때 강제로 ItemChanged가 발생하도록 해준다. 2. ItemChanged 이벤트에는 AcceptText()를 사용하지 않는것이 좋다. AcceptText() 자체가 또다시 ItemChanged를 호출하기 때문에 프로그램이 개발자가 원하는대로 작동하지 않을 수 있다.굳이 호출 하고 싶다면 유저이벤트나 유저펑션에서 호출 해 주도록 하자.ItemChanged에서 GetITemXXX의 명령어를 사용하면 값이 한단계씩 늦게 변경되는 경우를 자주 볼 수 있다. ItemChanged 이벤트 내 Data 값을.. 2012. 5. 10.
[파워빌더] N-UP 가로순으로 세로순으로 바꾸어 보자. N-UP DW에서 1 23 45 67 8 이게 일반적인 형식이다. 1 52 63 74 8 이런 형식으로 바꾸려면 1과 5와 차이가 4가 나므로 compute필드를 이용해 if (mod(no,4) = 0, 4 ,mod(no,4) ) 해주고 이것을 기준으로 소팅 시키면 위와 같은 형식을 얻을 수 있다. 또는 n업을 한화면에 출력 될 겟수만큼 만들어 노가다 하는 방법도 있겠다. 그외로 일반 데이터 윈도우로 뉴스페이퍼를 이용할 수 있으며( 프린트 프리뷰시만 가능 ) 네이바카페에서 얻은 정보를 간단히 후에 사용할일이 있을까 해서 적어 놓아 본다. 2012. 4. 9.
[파워빌더] DW를 이용해서 이미지 썸네일 표현 파워빌더 뉴스 12.5 기준 발췌. http://eas.penta.co.kr/pbnews/1202/thumbnail_datawindow.htm 그림 1: TreeView DataWindow 내부의 thumbnail 이미지 그림2: DataWindow에서 보여지는 다양한 프로퍼티 화면 그림3: thumbnail 이미지의 고정된 height 값을 보여주는 화면 그림4: thumbnail 이미지를 더블 클릭했을 때 이미지 뷰어에서 full 사이즈로 이미지가 보여짐 2012. 3. 6.
[파워빌더] 작은 회사에서 사용 하는 금형수주 및 작업시간 관리 프로그램 간단한 수주관리 화면에 간단히 수주한 금형에 대한 작업시간을 관리 할 수 있도록 만든 프로그램. 딱히 어려운 점이 없으니.. 간단히 작업한 스크린샷만 첨부한다. 모든 내용은 저작권이 있습니다. 무단 펌을 금지해주세요. 2012. 1. 24.
[파워빌더] 네이버 API를 이용한 책 검색 프로그램 이번에 개발한 프로그램은 엑셀에서 책 제목, 저자, 출판사를 로드 후 이 데이터를 토대로 네이버 API로 ISBN나 가격 등의 정보를 가져오는 프로그램 이다. 핵심적인건 파워빌더 내부에서 어떻게 UTF8형식으로 질의를 보내느냐.. 뭐 나름 해결해서 잘 만들어진 프로그램을 보니 뿌듯(?) 하다~ 뭐 겉모습은 여타 파워빌더 프로그램과 다른게 없고.. 내용은 테스트로 검색 한 내용들 네이버 API에서 검색 된것들은 제목과 가격 등의 정보가 나타나 있다. 2011. 12. 5.
[파워빌더] 선입선출법에 의한 재고관리 및 판매관리 프로그램 현재 작업 하고 있는것은 선입선출법에 의한 재고 및 판매관리 프로그램이다. 기본적인 개념은 크게 어렵지 않다. 같은 품목이라도 입고시 마다 입고가격은 계속 변할것이다. 그러므로 판매시 이 먼저 들어온 입고부터 판매처리를 하는것이다. 이렇게 하면 정확한 매출관리가 가능해진다. 자세한것은 아래 사진을 보자. 한 거래처로부터 같은 품목을 200개씩 입고처리 하였다. 단가는 같게 설정 되어 있지만 다를수도 있을것이다. 판매를 300개 했을 경우 먼저 들어온 200개 수량이 판매되어지고 남은 늦게 들어온 200개중 100개가 더 판매되어 남은수량(재고)가 100개가 된다. 위의 캡쳐에서는 입고 단가를 같게 설정하였으나 만약 입고 200개 - 5000원 입고 200개 - 3000원 판매 300개 - 5000원 이렇.. 2011. 11. 26.
[파워빌더] 문자열 UTF8 변환 후 변환된 코드 String 문자열로 보여주기 흐름 : 문자열을 Blob로 UTF8 형식으로 변환 -> 변환된 Blob를 GetByteArray 함수를 이용해서 Byte 배열에 넣어 줌 -> FOR문으로 앞에 %붙여 주면서 배열 크기만큼 16진수 변환 이 흐름을 알아내느라.. 닷넷으로 해보고 찾아냄.. 에휴..~ 뭐든 모르면 고생이지.. 2011. 11. 26.
[파워빌더] 파워빌더에서 get, post 등으로 데이터 리턴 받기 http://www.theportermethod.com/files/pbdj/PBDJ_Intro_to_WebServices.pdf 위의 문서를 보면 정말 잘 설명이 되어 있다. 만약을 위해 첨부 파일도 올려 놓는다. 2011. 11. 22.
[파워빌더] FTP를 이용한 이미지(JPG) 파일 관리 파워빌더에서 FTP를 이용한 이미지를 관리 하도록 만든 프로그램. 치과에서 사용 하는 프로그램.. 일부분만 사진을 첨부 합니다. 저작권이 있어..^^ 주요 기능만 .. 가장 핵심은 이미지 파일을 업로드 시 썸네일과 디테일 파일의 두가지로 업로드 하는 것입니다. 하나의 파일을 업로드 하면 자동으로 썸네일과 디테일 파일을 생성해서 원격지 폴더에 업로드 해놓습니다. 경로는 DB에 저장해놓고 이미지 링크 형식으로 불러 옵니다. DW에 이미지가 많아지면 속도가 조금씩 느려지는데 이부분은 어떠한 해결책이 있을까요? ^^ 이미지 업로드 화면 저장 후 조회 화면 이미지 클릭시 큰 화면으로 보여줄수있겠지요? 디테일은 따로 저장되어 있으니.. 후훗! 2011. 10. 23.
[파워빌더] 포지션 프로퍼티의 Slide Up 오늘 프로그램을 만들면서 익힌 기능.. 사실 잘 쓸일이 없는 기능인데 어쨌든... AutoSize Height등과 같은 컬럼을 사용 후 아래에 컴퓨티드 필드 등으로 어떤 값이나 이미지를 넣었을 때 겹쳐 보이거나 할때 이 메뉴를 Directly Above로 변경해 보라! 아래쪽에 붙는것을 확인 할 수 있을것이다. 2011. 8. 11.
[파워빌더] 외부DLL를 이용한 프로그래밍... 안녕하세요?? 파워빌더에서 가능한 모든것을을 처리 하면 좋겠지만 그렇지 못한 경우는 외부 프로그래밍 언어를 사용해서 DLL을 만들어 사용하게 되지요. DLL을 이용하는 방법은 3가지 정도가 있는것으로 알고 있습니다. 사실 저도 파워빌더 8-9년차에 접어 들었지만 이 DLL을 사용하는 것 만큼은 아직 많이 어렵습니다.( 헤딩을 많이 해야 합니다. ) 제가 알고 있는 방법은 3가지 방법이 사용 가능한것으로 알고 있습니다. 1. 대부분 파워빌더 개발자분들이 알고 있는 익스터널 펑션에 선언해서 사용 하는 방법 아마 대부분은 여기에서 해결이 가능 하리라 봅니다. 2. 두번째는 Create OLE 컨트롤을 이용하는 방법(MSCOM 등을 이용한 RS232 통신 등)에 많이 사용들 하시리라 생각합니다. OLE에 OCX.. 2011. 7. 2.
[파워빌더] OLE를 이용해서 WEB관련 프로그래밍 하기 출쳐 : http://www.rgagnon.com/pbdetails/pb-0202.html Internet ExplorerTag(s): WinAPI/RegistryMethod #1 - Using HyperlinkToURL function Needs PB6.5 or better. Starts the default browser as defined in your installation. string ls_url inet iinet_base ls_url = "http://wwww.server.com/myWebApp?file=error.log" GetContextService("Internet", iinet_base) iinet_base.HyperlinkToURL(ls_url) Method #2 - Using .. 2011. 6. 17.
[파워빌더] 구글맵API(GoogleMapAPI) 사용 관련 파워빌더에서 구글맵 사용 예 : http://netgamer.tistory.com/11 구글지도 API 관련 http://imgsoul.blog.me/140102340598 http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Google/Service/GoogleMapAPI http://blog.naver.com/wbleader?Redirect=Log&logNo=120129538686 http://blog.naver.com/wbleader?Redirect=Log&logNo=120129538686 xml에서 정의한 GoogleMap 가져오는 2가지 방법 아래 링크를 보면 2가지 xml에서의 정의 방법과 2가지 가져오는 방법을 확인 할 수 있다.http://sta.. 2011. 6. 16.
[파워빌더] 파워빌더12.5, 파워빌더15 로드맵 안녕하세요. 사이베이스 TechDays 내용에 보면 파워빌더 로드맵이 경신 되었더군요. 파워빌더 12.5가 올 3분기쯤 나올 예정이고 12.5에서 바뀐점은 rest 클라이언트 지원, 멀티쓰레드 서포트, 데이터윈도우의 기능확대 등 파워빌더 15가( 왜 12에서 15로 건너 뛰는지는 모르겠지만 ) 2012년 3분기에 나올 예정인것 같습니다. 큰 맥락은 윈도우 모바일 프로그래밍 지원( 아무래도 닷넷을 강화한것이 모바일 윈도우7의 지원까지 생각해서인듯한 느낌 ) HTML5 지원, 파워빌더 win32(클래식)의 윈도우 duck지원( 파워덕과 같은 것들을 지원 해줄 모양 ) 등 파워빌더는 끊임없이 발전해 가는군요. 자세한것은 사이베이스 사이트에서 확인해보시길 바랍니다. ^^ PPT 첨부 해놓을께요. 파워빌더 화이링.. 2011. 5. 26.
[파워빌더] 파워빌더를 이용한 대량 문자 발송 및 각종파일 저장 조회 후 바로 실행 하기 이번에 작업을 맡은 프로그램 입니다. 크지 않은 프로그램이지만 나름 기능성이 있는 프로그램이지요. 특히 문자를 이용해서 관리하고 싶은 회원이 있을 경우, 또는 아웃소싱 회사에서 여러 사람들에게 문자를 보내고 싶을 경우 등등 여러가지 분야에서 응용이 가능 하리라 생각 됩니다. 사진이나 PDF파일을 등록 후 조회 시 클릭하면 바로 사진 파일이 열리거나 PDF파일이 열리도록 프로그램 하였습니다. 조회후 왼쪽에 문자발송을 하게 되면 오른쪽에 조회된 사람 만큼 문자가 자동으로 발송 됩니다.( 당연히 문자 업체에 계약이 되어 있어야 겠지요 ) 2011. 5. 17.
파워빌더 EBF 19091: 11.5.1 (4964) 파워빌더 패치 Product Name: PowerBuilder Platform: Windows x86 Release Version: 11.5.1 Release Description: EBF 19091: 11.5.1 (4964) Release Date: 04 May 2011 Releases for UNIX platforms are typically compressed using GNU Tar format (.tgz). To uncompress you need the GNU Tar utility. If you encounter problems downloading files with Internet Explorer or uncompressing files that are GNU Tar format (.tgz.. 2011. 5. 16.
[파워빌더] OpenSheet의 Original!과 Layered!의 차이점(최대화) MDI화면에서 작업화면 위에 놓일 MAIN 윈도우들을 WindowState를 Maximized!로 해놓고 메뉴에서 OpenSheet시 Original!로 옵션을 주었을 경우 아래와 같고 Layered!의 경우는 아래와 같다 차이점은 눈에 보이는 그것! 바로 오픈시 바로 최대화 되어 MDI와 합체(?)가 된다 2011. 4. 17.