Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
VB6時代の固定長変数
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30851#CommentId85685
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
魔界の仮面弁士
 (社会人)
投稿日時
2023/3/22 15:46:52
Microsoft.VisualBasic.Compatibility.VB6 名前空間に FixedLengthString クラスが用意されています。
https://learn.microsoft.com/ja-jp/dotnet/api/microsoft.visualbasic.compatibility.vb6.fixedlengthstring?view=netframework-4.8.1
https://chaipa.hateblo.jp/entry/20070828/1188305793
目的が、VB6 の Get # / Put # ステートメントによる ランダム アクセス ファイルの
入出力であれば、構造体フィールドに VBFixedString 属性を付与しておくことで、
FileGet / FilePut によるファイル入出力時に、固定長文字列相当のやり取りが行われます。
https://atmarkit.itmedia.co.jp/fdotnet/vb6tonet2/vbnet2_03/vbnet2_03_02.html
ただし、VBFixedString 属性による指定は、標準の System.IO 名前空間のクラスを用いた
ファイル入出力では無視されます。VB6 互換機能に頼りたくない場合には、
VB6 側を「固定長文字列を使わない実装」に直してからマイグレーションするか、あるいは
対象がテキストファイルなら、全体を文字列あるいはバイナリとして読み取ってから
文字位置あるいはバイト位置を切り出して読み書きするためのコードを自作するといった
回避策がとられることもあります。