tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^2: COMP-3の変換につて
投稿日: 2017/09/22(Fri) 15:47
投稿者Naruse
魔界の仮面弁士さま

返信ありがとうございます。
実験までしていただき、お手を煩わせて申し訳ありません。

> ループカウンタすらローカル変数になっていないなど、
> モジュールレベル変数(フィールド変数)を使いすぎな点が気にかかります。

元々は汎用機やサーバのCobolerでして、ご指摘のようなことを気にして
おりませんでした。以後は気を付けます。

>
> また、COMP3_CNV_RTN の引数を ByVal にしていないのは何故でしょうか?
>
>
> > MOTO = GT.W_200
> > MOTO = StrConv(GT.W_200, vbFromUnicode) ' システムコードに変換
> 最初の代入は無意味に見えますし、同じ変数に使いまわして
> Unicode 文字列と ANSI バイナリの両方を格納するのにも違和感があります。
>
ByValに関しては理解できていないためです。
MOTOへの代入はテスト中でのコメント漏れです。すみません。


> 正常に変換される例と、失敗する例の提示はありがたいですが、
> 失敗する方については「本来期待する結果」も併記してもらわないと
> 状況を理解しにくいです。
>
自分勝手に理解していただけると思っていました。申し訳ありません。

実験結果の「Command1」が求める結果なのでそちらで実行できるように
修正したいと思いますが、ここでも知識不足が露呈しプログラムの理解
から始めなければなりません。
厚かましいとは思いますが、実験で作られたプログラムの解説をお願い
できないでしょうか。本当に申し訳ありません。

正しく変換できなかった解説もありがとうございました。


> 今回のケースは、そもそも変換元のデータを「文字列」として処理しようとしているのが間違いです。
> 渡すべきデータさえ破損していなければ、現状の COMP3_CNV_RTN の実装でも正しく変換されるようですし。
>
> 以下実験コード
>
> === Command1(Byte型の一次元配列) ===
> 000489944c --> +000489944
> 000009834c --> +000009834
> 000015048c --> +000015048
> 000007982c --> +000007982
> 000011439c --> +000011439

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。