PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
11733 00/06/13 17:12:16 RE(9):PB6.5: \"ひらがな\"のローマ字変換について By indian
11685 00/06/09 18:08:54 RE(8):PB6.5: \"ひらがな\"のローマ字変換について By あすかちゃんの父
11669 00/06/09 13:31:52 RE(7):PB6.5: \"ひらがな\"のローマ字変換について By ryochan
11665 00/06/09 11:52:12 RE(6):PB6.5: \"ひらがな\"のローマ字変換について By こてちゅ
11664 00/06/09 11:32:44 RE(5):PB6.5: \"ひらがな\"のローマ字変換について By あすかちゃんの父
11658 00/06/09 10:24:26 RE(4):PB6.5: \"ひらがな\"のローマ字変換について By ryochan
11653 00/06/08 22:24:42 RE(3):PB6.5: \"ひらがな\"のローマ字変換について By ryochan
11652 00/06/08 21:38:36 RE(2):PB6.5: \"ひらがな\"のローマ字変換について By ryochan
11651 00/06/08 21:38:17 RE(1):PB6.5: \"ひらがな\"のローマ字変換について By てとらぽっと
11649 00/06/08 18:55:43 PB6.5: \"ひらがな\"のローマ字変換について By indian

カテゴリ:スクリプトの記述
日付:2000年06月08日 22:24 発信者:ryochan
題名:RE(3):PB6.5: \"ひらがな\"のローマ字変換について

サンプルPGMを書いておきます。。
例外処理は加味していませんので宜しくお願いします。
あと、即興で作成したので、バグがあるかもしれません(^^;

使用データストア
ds_nstr・・・普通の文字(1字のみ)の情報を格納
ds_ystr・・・「きゃ」 「きゅ」「きょ」「しゅ」・・・の情報を格納
カラムはどちらもjpn(平仮名),roman(ローマ字)です。

String l_txt //取得文字
String l_jpn  //ひらがな
String l_roman  //ローマ字
Int p  //文字列場所変数 
Int n  //ループカウンタ
Int l_row //行取得変数


//1.「ゃ」「ゅ」「ょ」を含む字の処理
For n = 1 To ds_ystr.Rowcount()
    l_jpn = ds_ystr.Object.jpn[n]
    l_roman = ds_ystr.Object.roman[n]
    p = PosW(l_txt,l_jpn)
    Do While p > 0
        l_txt = ReplaceW(l_txt,p,LenW(l_jpn),l_roman)
        p= PosW(l_txt,l_jpn,p + LenW(l_roman))
    Loop
Next

//2.「っ」の処理
p  = PosW(l_txt,\'っ\')
Do While p > 0
l_jpn = MidW(l_txt,p+1,1)
l_row = ds_nstr.Find(\"jpn = \'\"+l_jpn+\"\'\",0,ds_nstr.RowCount())
If l_row > 0 Then
l_roman = ds_nstr.Object.roman[l_row]
l_roman = LeftW(l_roman,1)  + l_roman
l_txt = ReplaceW(l_txt,p,2,l_roman)
End If
p =  PosW(l_txt,\'っ\',p + LenW(l_roman))
Loop

//3.1文字変換の処理
p = 1
l_jpn =  MidW(l_txt,p,1)
Do While NOT l_jpn = \'\'
l_row = ds_nstr.Find(\"jpn = \'\"+l_jpn+\"\'\",0,ds_nstr.RowCount())
If l_row > 0 Then
l_roman = ds_nstr.Object.roman[l_row]
l_txt = ReplaceW(l_txt,p,1,l_roman)
                p += LenW(l_roman)
Else
         p ++
        End If
l_jpn =  MidW(l_txt,p,1)
Loop


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows95
DBMS Oracle SQL*Net 2.3
Browser (記載なし)

Server SoftWare

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

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