VB5で固定長、可変長の2種類のファイルを読み込み、編集して、またファイルに書き込むという処理を作成します。
固定長は、構造体にしてランダムアクセスによって、一気に読み書きしています。
問題は可変長のときどのようにファイルアクセスをし、読み書きするのがいいのかよくわかりません。
ファイルデータのフォーマットは
項目 属性
データ長 6バイト
データ 可変
データ長 6バイト
データ2 可変
・
・
・
といくつか可変長のデータが並びます。
バイナリーでアクセスし、1つ1つ区切りながら読み込むしかないのですか?
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
データの間に","(カンマ)などがはいってるなど決ま毎があるのなら
Private Sub subBunkai(ByVal strData As String,_
ByVal strKey As String, _
ByRef strARec As CRT.A_REC_TYPE)
Dim lonLoop As Long
If UBound(Split(strData, strKey)) <= 0 Then
Exit Sub
End If
For lonLoop = 0 To UBound(Split(strData, strKey))
Select Case lonLoop
Case 0
strARec .A= Split(strData, strKey)(lonLoop)
Case 1
strARec .B = Split(strData, strKey)(lonLoop)
Case 2
strARec .C = Split(strData, strKey)(lonLoop)
Case 3
strARec .D = Split(strData, strKey)(lonLoop)
End Select
Next
End Sub
この関数を作成していけます。
strData には呼び元で取得したファイルデータをいれます。
例:"123,45678,ABC"
strKey には可変長データを区切ってある区切り文字をいれます。
例:,(カンマ)など
strARec モジュール.BASに作成した構造体です。
参考になるでしょうか?
No.2
- 回答日時:
#1の方の回答にありますSplitはVB6でのみ使用できるかと
思います。
「データ長」というのは何のデータ長なのでしょうか?
可変長のデータの長さなら、MidBでデータを取得すれば良いのではないですか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- その他(プログラミング・Web制作) 【python】Excelファイルを読み込む際の日付の表示形式を任意にする 2 2022/11/24 14:21
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- その他(プログラミング・Web制作) プログラミング python pandas 固定長データの出力 2 2022/08/16 11:22
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- Excel(エクセル) [Excel2016] 相関表等の自動作成 2 2022/08/01 20:34
- PDF PDFに精通した方に質問。JPEGファイル群を一つのPDFファイルにするときの容量変化について 6 2023/07/23 19:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel VBA】先頭の「0」飛び...
-
GASでスプレッドシートの一番上...
-
コンパイルエラーSubまたは...
-
DataGrdViewに関連付けたデータ...
-
Listviewのデータを上から順番...
-
VBSやVBAでXMLファイルを読み込...
-
【ASP.NET MVC】一覧編集画面
-
C# データ配列から画像を作成す...
-
エクセルVBA、数式の入ったセル...
-
DataGridViewで表示に制限をつ...
-
asp+vbscriptで「文字列がある...
-
こんばんわ。
-
ASP C# データベースから1行取得
-
EXCEL2000のマクロ(ADO)にてCSV...
-
GridViewにバインドせずにデー...
-
PDFメニューバーの右端にある(...
-
ListViewで条件によって表示を...
-
カンマ区切りの文字列にPOSTデ...
-
特定のセルが空白だったら、そ...
-
ExcelVBAを使って、値...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel VBA】先頭の「0」飛び...
-
DataGrdViewに関連付けたデータ...
-
Listviewのデータを上から順番...
-
GASでスプレッドシートの一番上...
-
GridViewにバインドせずにデー...
-
VBAでページ番号、ページ最終行...
-
.NET SqlDataReader のレコー...
-
MSFlexGridのデータ表示位置の設定
-
【ASP.NET MVC】一覧編集画面
-
DataGridViewで表示に制限をつ...
-
VBによる可変長ファイルの読み書き
-
エクセルマクロ小数点桁数
-
GoogleスプレッドシートからExc...
-
ListViewで条件によって表示を...
-
ACCESSのVBAで[Split]について
-
C# データ配列から画像を作成す...
-
ASP.Net ObjectDataSource
-
スプレッドシート 一括でQRコー...
-
ASP.NET DataGridの項目数(列...
-
GridViewを自動的にスクロール...
おすすめ情報