Fortranのread/writeをVBへの書き換え方を教えて下さい。 他の方の作られたfortran.90のprogramをvisual basicに書きなおす作業をしています。その中の下記のfileのaccessが上手出来ません。このなかに有るbinary,とかbig_endianが原因のようです。 (これの無いfile accessの箇所は問題なく出来ました。) program内でdataをfileに書込み保存して蓄積しているようで、後日このdataをreadして使うようになっていますので新しくfileを作り直すわけにもいきません。 いろいろとcodeを入れてみたが、結果は文字化けばかりで10日も費してしまいました。 binary,bigendianなどの理屈が判っていないのでどうしょうもないと感じました。 どうか下記のfortranをVisual Basicへの書き変え方をご教授お願いします。 REAL ShipDim(17) '読み込みの時 filename = 'c:\pbcal\pbcal\pushdata\'//'push04' open (3,file= filename, status='old', & & form='BINARY', convert='BIG_ENDIAN',err=930) DO 10 J= 1,17 read(3) shipDim(j) 10 CONTINUE (中略) '見やすいように簡略化しています。 CLOSE (3,STATUS='KEEP') '書込みの時はopenは下記で、後readをwriteに変えただけです。 open (3,file= filename, status=pstatus,form='BINARY', convert='BIG_ENDIAN',err=940) VBでTRYしたことの一例 Dim dat() As Byte = New Byte(-1) {} Dim sr As System.IO.Stream = Nothing Dim br As System.IO.BinaryReader = Nothing Dim strf As String = filepath & "push04" 'filepathは適当にしている sr = System.IO.File.Open(strf, _ System.IO.FileMode.Open, System.IO.FileAccess.Read) br = New System.IO.BinaryReader(sr) ReDim dat(sr.Length - 1) dat = br.ReadBytes(sr.Length) dat に=572個の2-3桁の数字が入っています。encodingなどでためしてみたが文字化け ばかりです。 (System.Text.Encoding.GetEncoding("****").GetString(dat) など) どうかよろしくお願いします。
↧