PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
23735 | 10/10/29 10:25:49 | RE(4):IPアドレスの取得(PB9→PB11.5) By mn |
23734 | 10/10/28 19:37:34 | RE(3):IPアドレスの取得(PB9→PB11.5) By hakobako |
23733 | 10/10/28 18:14:05 | RE(2):IPアドレスの取得(PB9→PB11.5) By mn |
23732 | 10/10/27 17:31:18 | RE(1):IPアドレスの取得(PB9→PB11.5) By hakobako |
23731 | 10/10/27 12:02:57 | IPアドレスの取得(PB9→PB11.5) By mn |
カテゴリ:スクリプトの記述
日付:2010年10月28日 19:37 発信者:hakobako
題名:RE(3):IPアドレスの取得(PB9→PB11.5)
mnさん、こんばんは。
>hakobakoさん、こんばんは。
>
>そうかな?と思って、下記に変更しました。
>function long WSAStartup(uint wVersionRequested, ref SG_WSADATA lpWSAData) library \"wsock32.dll\"
>alias for \"WSAStartup;Ansi\"
>function long WSACleanup() library \"wsock32.dll\"
>
>function long gethostname(ref string strName, long namelen) library \"wsock32.dll\" alias
>for \"gethostname;Ansi\"
>function long gethostbyname(string strName) library \"wsock32.dll\" alias for \"gethostbyname;Ansi\"
>
>function long inet_ntoa(ulong addr) library \"wsock32.dll\"
>
>subroutine RtlMoveMemory( ref SG_HOSTENT buf, long p, long s ) library \"kernel32.dll\" alias
>for \"RtlMoveMemory;Ansi\"
>subroutine RtlMoveMemory( ref ulong buf, long p, long s ) library \"kernel32.dll\"
>
>でも、残念でした。
すみません、もう一つ忘れてました。
恐らく返ってくる値が文字化けしてるのではないですか?
以下の部分を修正してみてください。
-----------------------------------------------------------
// 文字列に変換
string s_addr
s_addr = String( inet_ntoa(addr), \'address\' ) /////IPアドレス
-----------------------------------------------------------
↓
-----------------------------------------------------------
// 文字列に変換
string s_addr
blob lb_temp
s_addr = String( inet_ntoa(addr), \'address\' ) /////IPアドレスがunicodeのままなのでこのままじゃ見
れない!
lb_temp = Blob(s_addr) // 一旦blob型にして…
s_addr = String(lb_temp , EncodingANSI!) // Ansiでエンコード→IPアドレス
-----------------------------------------------------------
これでどうでしょう?
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows XP
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.