PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
16308 01/09/21 21:59:42 RE(11):BSTR(UNICODE)変換:PB版 By ryochan
16307 01/09/21 20:05:35 RE(10):BSTR(UNICODE)変換:PB版 By GO
16285 01/09/19 10:27:56 RE(9):BSTR(UNICODE)変換:PB版 By ryochan
16284 01/09/19 01:15:55 RE(8):BSTR(UNICODE)変換(2)の訂正(2) By GO
16275 01/09/18 12:48:36 RE(7):BSTR(UNICODE)変換(2)の訂正(2) By ryochan
16268 01/09/16 21:00:17 RE(6):外部関数・・・BSTR(UNICODE)変換(2)の訂正 By ryochan
16267 01/09/16 13:12:50 RE(5):外部関数・・・BSTR(UNICODE)変換(3) By ryochan
16266 01/09/16 13:08:10 RE(4):外部関数・・・BSTR(UNICODE)変換(2) By ryochan
16265 01/09/16 13:06:52 RE(3):外部関数・・・BSTR(UNICODE)変換(1) By ryochan
16264 01/09/14 19:10:31 RE(2):PB7.0: 外部関数について By GO
16263 01/09/14 18:33:38 RE(1):PB7.0: 外部関数について By ryochan
16260 01/09/14 17:23:22 PB7.0: 外部関数について By GO

カテゴリ:スクリプトの記述
日付:2001年09月19日 10:27 発信者:ryochan
題名:RE(9):BSTR(UNICODE)変換:PB版

GOさん、おはようございます。
都合も知らないのに勝手なことを
書いてしまい申し訳ありませんでした。

PBから直接APIを書いても出来たので
(まだそちらの環境では分かりませんが)
UPします。
もし、これが成功したらVCでのラッピング
も必要ありません。

外部関数宣言
//ASCII->BSTR(UNICODE)
function long MultiByteToWideChar(ulong CodePage,long dwFlags,char pMultiByteStr[1024],long 
cchMultiByte,ref char lpWideCharStr[1024],long cchWideChar) library \"kernel32.dll\"

//BSTR(UNICODE)->ASCII
function long WideCharToMultiByte(ulong CodePage,long dwFlags,char lpWideCharStr[1024],long 
cchWideChar, ref char lpMultiByteStr[1024],long cchMultiByte,char lpDefaultChar,char 
lpUsedDefaultChar) library \"kernel32.dll\"

スクリプト
constant long CP_ACP = 0
char aSTS[1024],aDATA,wSTS[1024],w[1024]
long no = 0
char defchar
defchar = char(0)

aSTS = \"あああああああaaaaaaaaaaaaaa\"
aDATA = \"いいいいいいいbbbbbbbbbbbbbb\"
//UNICODE変換
MultiByteToWideChar(CP_ACP,0,aSTS,len(string(aSTS)),wSTS,1024)
MultiByteToWideChar(CP_ACP,0,aDATA,len(string(aDATA)),wDATA,1024)
messagebox(\"\",wSTS)
messagebox(\"\",wDATA)
//↑UNICODE変換の為、化けている。

ReceiveData(no, wSTS, wDATA)<-元のAPI

//取得したデータをASCIIに再変換
WideCharToMultiByte(CP_ACP,0,wSTS,1024,aSTS,1024,defchar,defchar)
WideCharToMultiByte(CP_ACP,0,wDATA,1024,aDATA,1024,defchar,defchar)

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS Oracle SQL*Net 8
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.