[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2004/12/18(Sat) 00:27
投稿者名:こまる
Eメール:hi.hayashi@nifty.com
URL :
タイトル:
ファイル読み込み
C言語のPGで書き込みされた20000バイトのテキストファイルがあります。
VBで読み込みたいのですが,テキストファイルをエディタで見ると、
C言語で定義されたLONG型(4バイト),dobule型(8バイト)が化けています。
この数値を取得するには、どのように読み込んで、参照すればよいの
でしょうか

投稿時間:2004/12/18(Sat) 00:46
投稿者名:ガッ
Eメール:
URL :
タイトル:
Re: ファイル読み込み
> C言語のPGで書き込みされた20000バイトのテキストファイルがあります。
> VBで読み込みたいのですが,テキストファイルをエディタで見ると、
> C言語で定義されたLONG型(4バイト),dobule型(8バイト)が化けています。
> この数値を取得するには、どのように読み込んで、参照すればよいの
> でしょうか
テキストファイルじゃないじゃん…
そうだなぁ…VB6だと、
Openステートメントのヘルプを引けば何とかなるんじゃないかと思うぞw

投稿時間:2004/12/18(Sat) 09:24
投稿者名:こまる
Eメール:hi.hayashi@nifty.com
URL :
タイトル:
さらに教えてほしいよぅ
> > C言語のPGで書き込みされた20000バイトのテキストファイルがあります。
> > VBで読み込みたいのですが,テキストファイルをエディタで見ると、
> > C言語で定義されたLONG型(4バイト),dobule型(8バイト)が化けています。
> > この数値を取得するには、どのように読み込んで、参照すればよいの
> > でしょうか
> テキストファイルじゃないじゃん…
> そうだなぁ…VB6だと、
> Openステートメントのヘルプを引けば何とかなるんじゃないかと思うぞw

テキストファイルじゃないです。すみません。
でレコード長は短いですが、次のようにテスト的にプログラムをつくりました。
しかし、long型の値が実際は2でなければならないのですが
538976258とかの数字が帰ってきます。何が悪いのでしょうか?
教えてください。
Private Type Record
   A As String * 2
   B As Long
   C As Long
   D As String * 2
End Type
Dim MyRecord As Record

Private Sub Form_Load()
   Open "D:\test.dat" For Random As #1 Len = Len(MyRecord)
   Get #1, 1, MyRecord
   MsgBox MyRecord.A
   MsgBox MyRecord.B  '←long型正しく参照できない。
   MsgBox MyRecord.C  '←long型正しく参照できない。
   MsgBox MyRecord.D
   Close #1
End Sub

投稿時間:2004/12/18(Sat) 12:14
投稿者名:除菌ちゃん
Eメール:
URL :
タイトル:
Re: さらに教えてほしいよぅ
そのテキストファイルはカンマ(,)区切りのファイルとかで、
カンマで区切られた値を変数に格納したいという事でしょうか?
でしたら下を参考にしてみてください。

C直下にtest.txtで保存
2004/12/17,123456
2004/12/18,34512

-----------------------------------------------------------------
Private Sub Command1_Click()
Dim strDate     As String
Dim lngKingaku  As Long
Dim intFilenum  As Integer

intFilenum = FreeFile

Open "C:\test.txt" For Input As #intFilenum

    Do Until EOF(intFilenum)
    
        Input #intFilenum, strDate, lngKingaku
        MsgBox "日付:" & strDate & vbCrLf & "金額:" & lngKingaku
        
    Loop
Close #intFilenum

End Sub
--------------------------------------------------------
1回目のメッセージボックス
日付:2004/12/17
金額:123456

2回目のメッセージボックス
日付:2004/12/18
金額:34512

となります。。