PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
20580 | 03/11/18 11:43:44 | RE(7):PB5.0.02: 漢字とASCIIコードの変換について By Chicchi |
20579 | 03/11/18 11:30:45 | RE(6):PB5.0.02: 漢字とASCIIコードの変換について By Chicchi |
20575 | 03/11/17 14:10:46 | RE(5):PB5.0.02: 漢字とASCIIコードの変換について By むーさん |
20573 | 03/11/14 10:07:29 | RE(4):PB5.0.02: 漢字とASCIIコードの変換について By Chicchi |
20571 | 03/11/13 20:13:17 | RE(3):PB5.0.02: 漢字とASCIIコードの変換について By Taka |
20568 | 03/11/13 16:45:43 | RE(2):PB5.0.02: 漢字とASCIIコードの変換について By Chicchi |
20567 | 03/11/13 16:02:25 | RE(1):PB5.0.02: 漢字とASCIIコードの変換について By M.M |
20566 | 03/11/13 15:24:45 | PB5.0.02: 漢字とASCIIコードの変換について By Chicchi |
カテゴリ:PowerBuilderの開発環境
日付:2003年11月14日 10:07 発信者:Chicchi
題名:RE(4):PB5.0.02: 漢字とASCIIコードの変換について
Takaさん、こんにちは。
>Chicchiさん、こんばんは。
>
>>もしユーザが \"価\" という文字を入力して印刷しようとした場合、\"~137~191\" または \"~89~bf\"
>>と指定しなければなりませんが、\"価\" をどのようにして \"~137~191\" にするのかを知りたいの
>>です。
>
>string を char[] に代入し、ループで1つづつ asc() すれば各バイトを10進に変換できます。
Taka さん、どうもありがとうございます。
おっしゃるとおりの方法で各バイトを 10 進化することはできますが、問題はこれをどうやってエス
ケープシーケンスの文字列に組み込むのかがわからないのです。
うまく説明できなくて自分自身歯がゆいのですが、簡単なスクリプト例をご覧ください。
《固定文字列 \"価\" を印刷する場合》
// 印刷する時は X / Y 方向の絶対位置と印字する文字のコードを指定。
string s_xpos, s_ypos, s_char, s_esc
s_xpos = \"100\" // X 位置
s_ypos = \"200\" // Y 位置
s_char = \"~137~191\" // 印字文字 (\"価\")
// これをカンマで結合してプリンタに SEND します。
s_esc = s_xpos + \",\" + s_ypos + \",\" + s_char
このように、固定で文字列をセットする時は良いのですが、任意の文字列をセットする時、次のように
指定すると \"価\" ではなく \"~137~191\" と表示されてしまいます。
integer i_asc_l, i_asc_r
string s_char
i_asc_l = Asc( LeftB( sle_kanji_entry.Text, 1 ) )
i_asc_r = Asc( RightB( sle_kanji_entry.Text, 1 ) )
s_char = \"~~\" + String( i_asc_l ) + \"~~\" + String( i_asc_r )
こうなる理由は明白で、s_char には \"~~137~~191\" が代入されているからですが、
s_char = \"~\" + String( i_asc_l ) + \"~\" + String( i_asc_r ) とすると当然コンパイルエラーと
なってしまいます。何とか任意の文字列でもコード化して代入することはできないものでしょうか。
できれば次のようなスクリプトは書きたくないのですが...
s_code[1] = \"~001\"
s_code[2] = \"~002\"
// 中略
s_code[255] = \"~255\"
s_char = s_code[i_asc_l] + s_code[i_asc_r]
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows98
DBMS Oracle SQL*Net 2.3
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.