PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
23508 09/04/09 11:44:17 RE(1):PB10.0: 全角カタカナ→半角カタカナへの変換方法 By 鍛冶屋3944
23507 09/04/09 10:32:10 PB10.0: 全角カタカナ→半角カタカナへの変換方法 By 鍛冶屋3944

カテゴリ:スクリプトの記述
日付:2009年04月09日 10:32 発信者:鍛冶屋3944
題名:PB10.0: 全角カタカナ→半角カタカナへの変換方法

過去ログの発言No.013601にあるryochanさんの方法を参考にして
PB10(OS:WinXP)で全角カタカナ→半角カタカナへの変換を行ないたいのですが、
どうもうまく変換することができません…


ローカル外部関数定義
Private Function long GetUserDefaultLCID() library \"kernel32.dll\"
Private Function long LCMapStringA(long Locale,long dwMapFlags,string lpSrcStr,long cchSrc,ref 
string lpDestStr,long cchDest) library \"kernel32.dll\"


作成スクリプト
//dwMapFlags
constant long LCMAP_HIRAGANA = 1048576 //0x00100000 カタカナ→ひらがな
constant long LCMAP_KATAKANA = 2097152 //0x00200000 ひらがな→カタカナ
constant long LCMAP_HALFWIDTH = 4194304 //0x00400000 全角→半角
constant long LCMAP_FULLWIDTH = 8388608 //0x00800000 半角→全角

string l_src
string l_dest
l_dest = space(256)
l_src = \"カキ クケコ\"
             
LCMapStringA( GetUserDefaultLCID(), LCMAP_HALFWIDTH, l_src, LenA(l_src) + 1, l_dest, 256 )

Messagebox(\"\",l_dest)

PB10なので、LenをLenAに変えてみたり色々やってみましたがダメでした。
「カキ クケコ」がそのまま全角で「カキ クケコ」と返されてしまいます。

ちなみに上記のスクリプトをPB7(OS:Win2000 PB7ではLenA→Lenにしてます)で
実行するとうまく変換されるのですが…

環境はPB10(OS:WinXP)とPB7(OS:Win2000)となり、
使用しているOSが異なるので、Windowの「kernel32.dll」の違いによるものでしょうか???

PB10(OS:WinXP)上で何をどうすればうまく半角カタカナへ変換できるのかが分からず困っています…
どなたかお分かりになる方いましたら、どうぞお教えください。
よろしくお願いします。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows XP
DBMS Oracle Net 10
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Oracle10G
WebServer (記載なし)

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