tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル ランダムファイルの高速化について
投稿日: 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

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。