PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
21404 04/07/15 15:01:17 RE(8):PB7.0: 全角→半角変換について By ukkey
21403 04/07/15 09:46:55 RE(7):PB7.0: 全角→半角変換について By BigDeal
21400 04/07/14 17:05:58 RE(6):PB7.0: 全角→半角変換について By ukkey
21390 04/07/13 16:19:47 RE(5):PB7.0: 全角→半角変換について By BigDeal
21380 04/07/08 15:42:14 RE(4):PB7.0: 全角→半角変換について By ukkey
21379 04/07/08 10:39:25 RE(3):PB7.0: 全角→半角変換について By Chicchi
21378 04/07/08 10:10:18 RE(2):PB7.0: 全角→半角変換について By ukkey
21377 04/07/08 09:34:24 RE(1):PB7.0: 全角→半角変換について By Chicchi
21375 04/07/07 17:41:41 PB7.0: 全角→半角変換について By ukkey

カテゴリ:スクリプトの記述
日付:2004年07月08日 09:34 発信者:Chicchi
題名:RE(1):PB7.0: 全角→半角変換について

ukkeyさん、おはようございます。

>お世話様です。
>いつも参考にさせて頂いてます。

>1つ教えてください。
>LCMapStringAを使って全角→半角の変換を行っているのですが、OSが2000、XPだと問題ないのですが、
>WIN98だと上手く動作してくれません。”あああ”→””で帰ってきます。
>LCMapStringAは98系はダメなのでしょうか?

>よろしくお願い致します。

私のは下記スクリプトで \"あああ\" が戻されます。



// ローカル外部関数定義
FUNCTION Long LCMapStringA( Long Locale, Long dwMapFlags, String lpSrcStr, Long cchSrc, REF String
lpDestStr, Long cchDest ) LIBRARY \"Kernel32.dll\"

// スクリプト
// SingleLineEdit sle_1 に変換文字列を、同 sle_2 に変換フラグを指定し、
// 変換結果をメッセージボックスで表示します。
long LCMAP_HIRAGANA = 1048576 //0X00100000 カタカナ→ひらがな
long LCMAP_KATAKANA = 2097152 //0X00200000 ひらがな→カタカナ
long LCMAP_HALFWIDTH = 4194304 //0X00400000 全角→半角
long LCMAP_FULLWIDTH = 8388608 //0X00800000 半角→全角

long l_mode
string s_src, s_dest

s_src = sle_1.Text

CHOOSE CASE Integer( sle_2.Text )
CASE 1
l_mode = LCMAP_HIRAGANA
CASE 2
l_mode = LCMAP_KATAKANA
CASE 3
l_mode = LCMAP_HALFWIDTH
CASE 4
l_mode = LCMAP_FULLWIDTH
CASE ELSE
RETURN
END CHOOSE

s_dest = Space( 256 )

LCMapStringA( GetUserDefaultLCID( ), l_mode, s_src, LenB( s_src ) + 1, s_dest, 256 )
MessageBox( s_src, s_dest )


ukkey さんのが正常に動作しない理由が PB のバージョンであればお手上げですが、
Win32API ですからその可能性は低いと思います。
外部関数は正しく設定されていますか ? デスティネーション側の文字列にはあらかじめ
十分なスペース量がセットされていますか ?


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows98
DBMS Oracle SQL*Net 8
Browser (記載なし)

Server SoftWare

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

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