ユーザー定義型のデータをStringに引き渡すには、また参照するには?


若葉印  2003-10-29 03:23:36  No: 80070

他装置にデータを送信したいのですが、提供されているI/Oの標準インターフェースライブラリに引き渡すデータの型がStringになっています。
送信するデータは文字列ではなく、種別毎に構造が違うのでユーザー型を定義して編集しています。
このユーザー型定義したデータバッファをライブラリコールに指定するとコンパイルエラーになります。

Public Type strUsd
    ai As Integer
    ue As Integer
    wo As ILong
End Type

Dim Usd As strUsd

Call IOlib(Usd,.....)

また、このユーザー定義型のデータを参照して、その内容を16進ダンプするプロシージャをつくりたいのですが、そのプロシージャではどのように参照すればよいのでしょう。

Sub Dump(Buf As String, Size As Integer,....)


H.T  2003-10-29 04:15:33  No: 80071

提供されているI/Oの標準インターフェースとしての情報は、
データの型がStringであるとしかないのでしょうか?
通常、他装置とのデータのやりとりでは、
きちんとした約束事が取り決められているはずです。
例:固定長文字列で ai のデータは1文字目から3文字目、
    ueのデータは4文字目から6文字目、また数値データならば
    空白箇所はゼロ埋めをするのか、また空白でよいのか 等・・・

インタフェースの約束事に合わせて、型変換などをしたらいかがでしょうか


若葉印  2003-10-29 18:50:24  No: 80072

>提供されているI/Oの標準インターフェースとしての情報は、
>データの型がStringであるとしかないのでしょうか?
提供されているI/Oの標準インターフェースとは、使用するHWのドライバのインターフェースです。従って指定するデータの型はStringです。
ドライバはStringで渡されたデータを可変長のByteストリームデータとしてHWに渡しているだけです。

>通常、他装置とのデータのやりとりでは、
>きちんとした約束事が取り決められているはずです。
こちらから送ったデータを受け取る相手装置のアプリケーションとの間には取り決めがあります。
それに従ってユーザー型を定義しています。


いちゆ  2003-10-29 20:00:23  No: 80073

>Sub Dump(Buf As String, Size As Integer,....)
インポート関数なら、As String を As Any にして見てください。
多分大丈夫のはずです…多分


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加