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 (記載なし)

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