Problem: Datensätze Schreiben/Lesen in Datei

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Problem: Datensätze Schreiben/Lesen in Datei

von RainerUnfug » Do, 06.07.2006 14:19

Bin immer noch net arg viel weiter, hab aber nochmal ne Frage bzgl der Put-Funktion:

Kann mir jemand hier sagen, mit welchem/welchen Zeichen die Put-Funktion die restlichen ungenutzten Speicherbytes auffüllt und ggf. welches Trennzeichen zwischen den Datensätzen verwendet wird??? Dann bau ich mir des Put nämlich selber zusammen!

BITTE!!!

von RainerUnfug » Mi, 05.07.2006 13:14

naja, wenn ich mir die ausgabe-datei anschau sieht alles ziemlich gut aus,
das einzige was eben nicht stimmt ist die länge der datensätze, die infos lassen sich im notepad locker manuell auslesen

put schreibt halt immer nur exakt soviel wie benötigt wird (also ungleichmäßig, mal 10, mal 6, ...), damit kommt dann aber weder die get-anweisung noch des andre programm, für dass ich die datei brauch, klar

gibts da net irgendwie ne möglichkeit des dem put-befehl zu verklickern? also immer gleichlange datensätze, so wies in der hilfe von OOo auch drin steht.

oder gibts ne äquivalente lösung dazu, bzw eine mit der ich auf des gleiche ergebnis komm? Also eben ne datei, die des andre programm verarbeiten kann.

bin halt leider noch überhaupt net mit der materie vertraut, mach des ganze makro-zeugs gerade zum ersten mal und muss sagen, VBA sieht da wesentlich logischer und verständlicher aus.

von Toxitom » Mi, 05.07.2006 13:00

Hallo RainerUnfug,
Das Ganze funktioniert bloß nicht so wie ich des haben will, weil die put-Funktion immer unterschiedlich Lange Datensätze schreibt, sodass die get-Funktion nicht damit klar kommt
Ja, die sind nicht mehr stabil. Die "Put" Methode schreibt (m.W.) sowieso nur Binary-Daten, ist alos nicht unbedingt geeignet.
Nach meinen Erfahrungen funktionieren noch zuverlässig die Print-Methoden und das zeilenweise einlesen.

Ansonsten gibt es inzwischen eine API-Klasse, die bevorzugt verwendet werden sollte. Siehe auch :
http://api.openoffice.org/docs/common/r ... le-ix.html

Viele Grüße
Thomas

Problem: Datensätze Schreiben/Lesen in Datei

von RainerUnfug » Mi, 05.07.2006 09:22

Hallo erstmal!

Bin momentan dabei ein Makro in Calc zu schreiben, dass mir unterschiedliche Datensätze in eine Datei schreibt und sie danach auch wieder auslesen kann.

Das Ganze funktioniert bloß nicht so wie ich des haben will, weil die put-Funktion immer unterschiedlich Lange Datensätze schreibt, sodass die get-Funktion nicht damit klar kommt

Anbei mal ein Quelltextbeispiel:

Code: Alles auswählen

Sub Schreiben

Dim tmpStr As String
Dim UtilFileHook As Integer

UtilFileHook = FreeFile

Open "E:\Andreas\test.txt" For Random Access Write As #UtilFileHook Len = 10

tmpStr = "hallo1"
Put #UtilFileHook, , tmpStr

tmpStr = "hallo20"
Put #UtilFileHook, , tmpStr

tmpStr = "hallo300"
Put #UtilFileHook, , tmpStr

Close #UtilFileHook

End Sub
'--------------------------------------
Sub Lesen

Dim Sheet As Object
Dim tmpStr As String
Dim UtilFileHook As Integer

Sheet = thisComponent.Sheets(0)

UtilFileHook = FreeFile

Open "E:\Andreas\test.txt" For Random Access Read As #UtilFileHook Len = 10

Get #UtilFileHook, 1, tmpStr
Sheet.getCellByPosition(0, 4).String = tmpStr

Get #UtilFileHook, 2, tmpStr
Sheet.getCellByPosition(0, 5).String = tmpStr

Get #UtilFileHook, 3, tmpStr
Sheet.getCellByPosition(0, 6).String = tmpStr

Close #UtilFileHook

End Sub
Laut OOo-Hilfe müsste alles stimmen und die put-Funktion sich an die bei Open angegebene Datensatzlänge halten, tut sie aber nicht...

Wär super, wenn mir jemand sagen kann woran des liegt, verzweifel echt langsam daran!

Ach ja, verwende OOo 2.0.2 deutsch und ne andre Art des Speicherns kann ich net verwenden, da ich die gespeicherte Datei zur Weiterverarbeitung mit nem andren Programm so brauche!

Nach oben