Bonjour,

je develope en VB.NET 2010, et je souhaite enregistrer des fichiers de gros volume. on m'a sugeré d'utiliser le format de fichier HDF5, qui semble une solution pour faire des gros fichiers de données numériques.

J'ai telechargé la librairie, et j'ai trouvé un exemple pour un array de 1 dimension, qui fonctionne bien.

Mais je voudrais creer des tableau de 2 dimensions, avec par exemple, 10 reel et 10 integer sur chaque ligne.

Quelqu'un s'y connait ?

merci de vos idées

Armin


voila mon code actuel :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 Dim RANK As Integer = 1
        Dim DATA_ARRAY_LENGTH As Integer = 10
        Dim fileId As H5FileId
 
        fileId = H5F.create("F:\SRV_MDOC\Informatique\HDF5\myVBFile.h5", H5F.CreateMode.ACC_TRUNC)
 
        Dim groupId As H5GroupId
        groupId = H5G.create(fileId, "/vbGroup")
 
        Dim dims(RANK) As Long
        dims(0) = DATA_ARRAY_LENGTH
 
        Dim dset_data(DATA_ARRAY_LENGTH - 1) As Double
 
        Dim i
        For i = 0 To DATA_ARRAY_LENGTH - 1
            dset_data(i) = i
        Next i
 
        Dim spaceId As H5DataSpaceId
        spaceId = H5S.create_simple(RANK, dims)
 
        Dim typeId As H5DataTypeId
        typeId = H5T.copy(H5T.H5Type.NATIVE_LDOUBLE)
 
        Dim dataSetId As H5DataSetId
        dataSetId = H5D.create(fileId, "/vbExample", typeId, spaceId)
 
        Dim h5Data As New H5Array(Of Double)(dset_data)
 
        H5D.write(dataSetId, typeId, h5Data)
 
 
        Dim readDataBack(DATA_ARRAY_LENGTH - 1) As Double
        Dim h5DataBack As New H5Array(Of Double)(readDataBack)
        H5D.read(dataSetId, typeId, h5DataBack)
 
        For i = 0 To DATA_ARRAY_LENGTH - 1
            Console.WriteLine("read " & i & " " & readDataBack(i))
        Next
        ' 
        ' Close all the open resources.
        H5D.close(dataSetId)
        H5S.close(spaceId)
        H5T.close(typeId)
        H5G.close(groupId)
        H5F.close(fileId)
 
        Console.WriteLine("Processing complete!")
        Console.ReadLine()