PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
3668 98/10/19 09:23:09 RE(13):うまくいきました ありがとうございます By まこと
3664 98/10/16 23:09:11 RE(12):スクリプトの転用のお願いです By kin
3662 98/10/16 15:31:37 RE(11):何とか動いているようですが・・ これからですね(^^;) By まこと
3658 98/10/16 13:28:57 RE(10):スクリプトの転用のお願いです By あすかちゃんの父
3657 98/10/16 11:58:54 RE(9):スクリプトの転用のお願いです By にしやん
3655 98/10/16 11:45:02 RE(8):スクリプトの転用のお願いです By てとらぽっと
3654 98/10/16 11:38:20 RE(7):何とか動いているようですが・・ これからですね(^^;) By あすかちゃんの父
3652 98/10/16 11:22:56 RE(6):PB6: VC++で作成されているOLE内にある関数に引数を渡す方法を教えて下さい。 By にしやん
3646 98/10/16 10:45:41 RE(5):何とか動いているようですが・・ これからですね(^^;) By まこと
3644 98/10/15 22:09:01 RE(4):PB6: blobを16進に変換する方法(2) By あすかちゃんの父
3643 98/10/15 22:01:04 RE(3):PB6: blobを16進に変換する方法(1) By あすかちゃんの父
3638 98/10/15 15:35:12 RE(2):PB6: VC++で作成されているOLE内にある関数に引数を渡す方法を教えて下さい。 By まこと
3631 98/10/15 09:51:39 RE(1):PB6: VC++で作成されているOLE内にある関数に引数を渡す方法を教えて下さい。 By あすかちゃんの父
3606 98/10/14 09:01:52 PB6: VC++で作成されているOLE内にある関数に引数を渡す方法を教えて下さい。 By まこと

カテゴリ:データウィンドウ
日付:1998年10月15日 22:01 発信者:あすかちゃんの父
題名:RE(3):PB6: blobを16進に変換する方法(1)

まことさん、こんばんは。

下記スクリプトで変換します。

// メインスクリプト
blob terget_blob, get_blob, end_check
blob{4} conv_blob
long get_long, blob_count, blob_next
string get_hex
int loop_count, low_4bit, upp_4bit, li_00

terget_blob = blob(\" #8<@Fg}\") // テストデータ
blob_count = 1
do 
get_blob = blobmid(terget_blob, blob_count, 1)
if isnull(get_blob) then
else
li_00 = 0
blob_next = blobedit(conv_blob, 1, get_blob)
blobedit(conv_blob, blob_next, li_00)
get_long = long(conv_blob)
low_4bit = 0
upp_4bit = 0
for loop_count = 0 to 3
if uo_win32api.uf_get_bit(get_long, loop_count) then
low_4bit = low_4bit + (2^loop_count)
end if
if uo_win32api.uf_get_bit(get_long, loop_count + 4) then
upp_4bit = upp_4bit + (2^loop_count)
end if
Next
get_hex = get_hex + uo_win32api.uf_bin_to_hex(upp_4bit) + &
uo_win32api.uf_bin_to_hex(low_4bit)
blob_count ++
end if
loop until isnull(get_blob)

messagebox(\"blob to hex\", get_hex)

-------------------------------
関数、uf_bin_to_hexの定義

public function string uf_bin_to_hex (integer get_4bit_bin);
//      function :   uf_bin_to_hex(4bitバイナリを16進文字に変換)
//
//      input    :   integer  get_4bit_bin(4bitバイナリ)
//
//      return   :   string   関数の実行結果(16進文字、引数が15以上であれば空文字)

string ls_rtn

// 引数チェック
If (get_4bit_bin > 15) or (get_4bit_bin < 0) then
ls_rtn = \"\"
else
if get_4bit_bin < 10 then
ls_rtn = char(get_4bit_bin + 48)
else
ls_rtn = char(get_4bit_bin + 55)
end if
end if

return ls_rtn


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS Oracle SQL*Net 2.3
Browser (記載なし)

Server SoftWare

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

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