プロが教える店舗&オフィスのセキュリティ対策術

VBをはじめたばかりなんですが、COBOLだと例えば、

01 DATA-AREA.
  03 DATA-1     PIC 9(02).
  03 DATA-2     PIC X(02).
  03 DATA-3     PIC 9(02).
01 WORK-AREA.
  03 WORK-DATA   PIC X(06).
.....
というレコードがあるとすると

  MOVE WORK-DATA  TO DATA-AREA.
で、DATA-1からDATA-3まで代入できると思いますが、VBではこういうことはできるのでしょうか?

A 回答 (3件)

VBだけの機能ならInt Longの仕様どおりしか出来ませんが・・・



APIとの併用ならバイト数を指定してのメモリコピーが可能です。
またVarPtr、StrPtr、ObjPtrなどでアドレスを見ることも可能です。
    • good
    • 0
この回答へのお礼

 ちょっと私には敷居が高いようですが、もっと勉強して試してみたいと思います。

お礼日時:2002/11/02 12:20

どうでしょうか。

出来ないような気がします。
COBOLの場合、作業項目を定義するときは属性(X、N、9)と桁数を指定します。
しかしVBの場合は、int、longなど属性しか指定しませんよね。
桁数はそれぞれの属性が持っている範囲内であればどんな値でも、指定せず代入することが出来るからです。
たしか、VBには集団項目という概念がなかったような気がします。

私もCOBOL経験者でVBは少しかじった程度なので自信がありませんが・・・。(^^;)
    • good
    • 0
この回答へのお礼

 やっぱり簡単にはいかなさそうですね。とりあえずひとつずつ入れていこうかと思います。

お礼日時:2002/11/02 11:30

COBOLの記述はよく分りませんが、



WORK-AREAという6バイトの変数に、各2バイトの構造体の値を連続した値としてセットしたいって事ですか?
もしそうなら、VBならLSetかな?APIならMoveMemoryだと思うけど、題意がつかめてないので、間違ってたら無視してください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!