Habe 3 Arrays und Einstellungen in eine Datei zu speichern bzw. laden

Folgende Funktion macht das gleiche, benötigt jedoch den Bruchteil einer Sekunde:

Code:
Type SchluesselTyp
   Einstellung(1 To 5) As String * 200
End Type

Public Sub Test()
   Dim myArray(1 To 10, 1 To 5) As String
   Dim FNr As Integer
   Dim FName As String
   Dim i As Integer
   Dim j As Integer
   Dim Schluessel As SchluesselTyp
   
   FName = App.Path + "\MyArray.dat"
   FNr = FreeFile
   Open FName For Random As #FNr Len = Len(Schluessel)
   For i = 1 To 10
      For j = 1 To 5
         Schluessel.Einstellung(j) = myArray(i, j)
      Next
      Put #FNr, i, Schluessel
   Next
   Close #FNr
   MsgBox "Fertig"
End Sub

Grüsse
ronaldh
 
Ok. Werd ich gleich mal testen.

Wie sieht es da dann mit dem Laden der Daten aus? (Dauert bei derzeit genauso lang, wie das speichern)

Vielen Dank,

Black-Zero
 
Code:
Private Type SchluesselTyp1
   S_DMX_data(0 To 287) As String * 200
End Type

Er bringt mir folgenden Fehler: "Unveränderliche oder statische Daten können maximal 64kB umfassen"

Wie kann ich das beheben?

Vielen Dank,

Black
 
Code:
Private Type SchluesselTyp1
   S_DMX_data(0 To 287) As String * 200
End Type
Er bringt mir folgenden Fehler: "Unveränderliche oder statische Daten können maximal 64kB umfassen"

Wie kann ich das beheben?

Vielen Dank,

Black

Du reservierst 288 Einträge mit je 400 Bytes (=115200 Bytes) pro SchluesselTyp1-Variable
 
Code:
Private Type SchluesselTyp1
   S_DMX_data(0 To 287) As String * 200
End Type
Kann ich das Array nicht als eine andere Variable als String deklarieren? Ich hätte nur Zahlen zwischen 0 und maximalst 1500-2500 zu speichern (je nach dem wie weit ich mein Programm noch ausbaufähig lassen will) und vielleicht noch "" (leer). Und nach dem Maximalwert richten sich auch 2 meiner 3 Arrays in Ihrer einen Größe.
=> würde zum Problem werden, denk ich mal

Gäbe es nicht eine Möglichkeit, dass ich den kompletten Text, den ich so jetz in die Textdatei schreibe, in eine Art Zwischenspeicher (Beispielsweise eine Textbox) zusammenfasse und dann das Alles zusammen in einem Schreibzyklus in die Datei schreibe?

Vielen Dank,

Black
 
Wenn Du nur maximal 4-stellige Zahlen speichern willst, ist eine Dimensionierung auf eine String-Länge von 200 natürlich völlig überzogen.
Code:
Private Type SchluesselTyp1
   S_DMX_data(0 To 287) As Integer
End Type
...ist dann natürlich der richtige Weg.
 

Neue Beiträge

Zurück