Domino 9 und frühere Versionen > ND6: Entwicklung

DTA Dateien per Script lesen / schreiben

<< < (4/4)

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