タイトル | : ランダムファイルの高速化について |
記事No | : 11683 |
投稿日 | : 2016/06/02(Thu) 18:56 |
投稿者 | : SUZUKI |
VB6.0からVB2005に変換挑戦中のSUZUKIです 度々 お世話になっております 下記は試行錯誤しながらランダムファイルの読込を変換したコードです 苦労して変換しましたが、読込速度が遅く実用にならない事が判明しました
色々検索しましたがなかなか対策が見つかりません
VB6互換を使うと遅い FILESTREAMを使うとよくなる (約10年前のが多く、時代遅れという感じをますます強くしていますが、、、)
までで、FILESTREAMは何だと言うレベルです それも固定長の例題が見つかりません この後 どう進めたらよいかアドバイスお願いした方がよいのでは 思うようになりました どうぞ、よろしくお願いします
Structure FKANRI <VBFixedString(10)> Public 管理NO As String <VBFixedString(101)> Public AA As String Dim A As Short Dim B As Short Dim C As Short Dim D As Short <VBFixedString(41)> Public BB As String End Structure
Private Sub Button1_Click() Dim RECORD_POS As Integer Dim KANRI_PATH As String Dim KANRI_FNUM As Integer Dim O As ValueType Dim KANRI As New FKANRI O = CType(KANRI, ValueType) KANRI_PATH = "C:\FKANRI.DAT" RECORD_POS = 0 KANRI_FNUM = FreeFile() FileOpen(KANRI_FNUM, KANRI_PATH, OpenMode.Random, , , Len(KANRI)) Seek(KANRI_FNUM, 1) Do If Not EOF(KANRI_FNUM) Then FileGet(KANRI_FNUM, O) RECORD_POS = RECORD_POS + 1 KANRI = DirectCast(O, FKANRI) Debug.Print(KANRI.管理NO) End If Loop Until EOF(KANRI_FNUM) FileClose(KANRI_FNUM) MsgBox("正常に読み込めました" & RECORD_POS & "件") End Sub
|