| Beim Schreiben eines 2-dimensionalen Arrays über PutArray wird eine etwas andere Technik verwendet. Das Schreiben der Daten in die Datei erfolgt zeilenweise, wobei die Elemente zuerst in ein Workarray übergeben werden und aus diesem Workarray per Join ein String mit eingestreuten (Feld) Separatoren gebildet wird. Diese Methode dürfte optimal in Bezug auf Geschwindigkeit sein, da Stringoperationen mit veränderter Stringlänge in Basic im Allgemeinen nicht schnell sind. Public Function PutArray(Filename As String, _
sArray() As String, _
Separator As String, _
Optional ErrNumber As Long, _
Optional ErrDescription As String, _
Optional ShowHourGlass _
As Boolean = True) As Boolean
Dim Work() As String
Dim FNr As Integer
Dim Ele As Long
Dim i As Long
Dim j As Long
Dim CursorNumber As Long
SetMousePointerHourGlass ShowHourGlass
Ele = UBound(sArray, 1) - LBound(sArray, 1) + 1
On Error Goto Fehler
FNr = FreeFile
Open Filename For Output As #FNr
For i = LBound(sArray, 2) To UBound(sArray, 2)
ReDim Work(LBound(sArray, 1) To UBound(sArray, 1))
For j = LBound(sArray, 1) To UBound(sArray, 1)
Work(j) = sArray(j, i)
Next
If i < UBound(sArray, 2) Then
Print #FNr, Join(Work(), Separator)
Else
Print #FNr, Join(Work(), Separator);
End If
Next
Close #FNr
SetMousePointerDefault ShowHourGlass
PutArray = True
Exit Function
Fehler:
SetMousePointerDefault ShowHourGlass
ErrNumber = Err.Number
ErrDescription = Err.Description
End Function Aufruf der Funktion: If cFF.PutArray("c:\test\test.txt", s(), Separator, ErrNumber, _
ErrDescription) Then
Exit Sub
End If |