PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
13633 | 00/10/19 14:16:59 | RE(4):PB7.0: 半角カタカナを全角カタカナに変換する関数 By tmtm |
13623 | 00/10/18 19:25:47 | RE(3):PB7.0: 半角カタカナを全角カタカナに変換する関数 By ryochan |
13609 | 00/10/18 15:33:49 | RE(2):PB7.0: 半角カタカナを全角カタカナに変換する関数 By tmtm |
13601 | 00/10/18 09:40:15 | RE(1):PB7.0: 半角カタカナを全角カタカナに変換する関数 By ryochan |
13600 | 00/10/17 23:03:31 | PB7.0: 半角カタカナを全角カタカナに変換する関数 By tmtm |
カテゴリ:スクリプトの記述
日付:2000年10月18日 19:25 発信者:ryochan
題名:RE(3):PB7.0: 半角カタカナを全角カタカナに変換する関数
tmtmさん、こんばんは。
半角カナ限定ですが...
前回のAPIを応用して関数を作りました。
あと、デフォルトロケールIDは0でもOKでした。
0を指定すると自動でデフォルトロケールIDとなります。
即興で作成したので、いろいろ検証してみてください。
関数:string kanatozen(string p_s)
constant long LCMAP_FULLWIDTH = 8388608 //0x00800000 半角→全角
string rtn //戻り値
string l_char,l_next,l_cchar //変換用文字
int i //ループカウンタ
string l_dest
do until i = lenw(p_s)
i ++
l_dest = space(4) //初期化、バッファ確保
l_char = midw(p_s,i,1)
if (l_char>=\'~hA0\' and l_char <=\'~hDF\') then //半角カナの場合
//(半)濁音処理
l_next = midw(p_s,i + 1,1)
if l_next = \'゙\' or l_next = \'゚\' then
l_cchar = midw(p_s,i,2)
i ++
else
l_cchar = l_char
end if
LCMapStringA(0,LCMAP_FULLWIDTH,l_cchar,len(l_cchar) + 1,l_dest,4)
rtn += l_dest
else
rtn += l_char
end if
loop
return rtn
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows NT 4.0
DBMS Oracle SQL*Net 8
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS その他
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.