none
Random access soubory a dynamické pole ve struktuře

    Dotaz

  • Dobrý den,

    Chtěl jsem použít pro načítání ze souboru naměřených hodnot kód z VB v excelu, který tam i ve staších verzích VB tuším až do verze 6 normálně fungoval a teď ve VB.NET 2013 express končí při pokusu o načtení ze souboru hláškou "Additional information: Rozměry pole neodpovídají hodnotám určeným atributem VBFixedArray". Nevím si s tím rady, teprve začínám ve VB.Net.

    Mám strukturu deklarovanou takto:

    Structure Soubor_mereni
      <VBFixedString(8)> Dim cas as string
      Dim mval() as single
      Dim mfyz() as single
    End Structure

    a potom v proceduře:

    Dim Namer As New Soubor_mereni
    ---
    Redim namer.mval(pocetmist-1)
    Redim namer.mfyz(pocetmist-1)
    ---

    delkanamer = 8 +  2 * (2 + 1 * 8 + (pocetmist) * 4)
    FileOpen(2, "d:\soubor.dat", OpenMode.Random, , , delkanamer)
    FileGet(2, namer, 1)  ' TADY TO ZAŘVE
    FileClose(2)

    Jde to nějak upravit, aby to fungovalo? Smyslem je, abych mohl mít soubory velké podle počtu měřicích míst, a nepoužít sekvenční přístup čtení a zápisu, protože je to nešikovné pro rychlé přečtení třeba 321. odečtu.

    Díky za radu
    Dalik.

    7. února 2014 20:07