Domino 9 und frühere Versionen > ND6: Entwicklung
DTA Dateien per Script lesen / schreiben
aki:
Hi,
habe mich auch gerade in die DTA-Strukturen für ZV-Dateien eingearbeitet.
Wenn jemand Infos braucht, helfe ich gerne aus.
Das Lesen der Dateien würde ich in Notes per Java machen.
Grüße,
Andreas
cococo69:
Hallo,
da sich weder Andreas (aki - auf eine PM) noch Alexander meldet (sind wohl beide im Urlaub ;D) nochmal die Frage an alle:
Hat jemand ein Grundgerüst zum Erstellen von DTA-Dateien aus Notes das er/sie mir zur Verfügung stellen kann?
Gruß
Armin
Semeaphoros:
Schon interessant, solche Sachen waren früher mal unser täglich Brot .... ;)
Tatsächlich müsste das ganze sowohl über Random als auch über Binary Filehandles abwickelbar sein.
Die wohl einfachste Variante, die auch R5 tauglich sein sollte, müsste über Random und eine User-Type Variable gehen (in alten Basic-Versionen gabs dafür noch den Record Befehl ... ;D ). Mit der Struktur, die ein DTA-File aufweist, heisst es dann aber aufpassen, dass man nicht mit variablen Strings sondern mit Fixed-Length Strings arbeitet.
Sorry, ich hab auch kein Grundgerüst dafür .... ich werd aber mal versuchen, ob ich das im Prinzip wieder hinbekomme.
Semeaphoros:
So, hier ein rasch zusammegeklöppelter "Proof of concept", ohne Struktur, ohne Errorhandling und was sonst noch dazu kommt, zeigt einfach das Prinzip und lässt sich auch ausprobieren:
--- Code: ---Type recorddata
anInteger As Integer
aDouble As Double
aString10 As String*10
aString15 As String*15
End Type
Sub WriteData
Dim filenum As Integer
Dim Record As RecordData
filenum = Freefile
Open "testfile.dta" For Random Access Write As fileNum Len = Len(Record)
record.anInteger=1
record.aDouble=10.456
record.aString10="1st Rec"
record.aString15="1st String 15"
Put #fileNum, , record
record.anInteger= 2
record.aDouble=3.15432
record.aString10="2nd Record"
record.aString15="2nd String 15"
Put #fileNum, , record
record.anInteger=3
record.aDouble=1.45612342d15
record.aString10="3rd Record"
record.aString15="3rd String 15"
Put #fileNum, , record
Close filenum
End Sub
Sub ReadData
Dim filenum As Integer
Dim Record As RecordData
filenum = Freefile
Open "testfile.dta" For Random Access Read As fileNum Len = Len(Record)
Do While Not Eof(filenum)
Get #fileNum, , record
Loop
Close filenum
End Sub
--- Ende Code ---
Daraus lässt sich jetzt under Anpassung des Record-Types (im Falle von DTA durchgängig mit Fixed-Length Strings) der DTA-Access problemlos realisieren.
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln