Domino 9 und frühere Versionen > ND6: Entwicklung

DTA Dateien per Script lesen / schreiben

<< < (3/4) > >>

koehlerbv:
Nachtrag:
Wenn Du Zeichen ersetzen willst, dann wäre Binary wohl das Ideale für Dich: Byte mit Get aus Datei 1 holen, ggf. ersetzen und zurück in Datei 2 schreiben. Die Zwischenschritte über Records und deren Auswertung können so entfallen.

Bernhard

Glombi:
1000 Dank erstmal. Ich muss jetzt weg und melde mich dann später nochmal...

R6 sollte gehen, Du brauchst also wg. R5 nichts zu ändern!

Andreas

koehlerbv:
Das interessiert mich aber selber. So, wie das in R5 implementiert ist, ist es ja völlig nutzlos für tatsächlich byteweises Lesen. Ein String*1 hilft da auch überhaupt gar nichts !

Bernhard

koehlerbv:
Mit List und Tücke und auf Umwegen kommt man doch ans Ziel - auch unter R5  ;D

Hier ein Beispiel, wie man Open For Binary auch byteweise unter R5 hinbekommt:


--- Code: ---Sub Click(Source As Button)
   
   Dim iFileNum As Integer
   Dim szFileName As String
   Dim iPosition As Integer
   Dim szResult As String
   Dim iRead As Integer
   Dim iResult As Integer
   
   iFileNum = Freefile ()
   szFileName = "c:\tmp\0-test5.txt"
   
   Open szFileName For Binary As #iFileNum
   
   iPosition = 1
   
   If Eof (iFileNum) Then Exit Sub      'File does not exist or is empty !
   
   Do Until Eof (iFileNum)
      Get #iFileNum, iPosition, iRead
      iResult = iRead And 255
      szResult = szResult & Chr$ (iResult)
      iPosition = iPosition + 1   
   Loop
   iResult = (iRead And 65280) / 256
   szResult = szResult & Chr$ (iResult)
   
   Close iFileNum   
   
   Msgbox szResult
   
End Sub
--- Ende Code ---

Zur jeweiligen Verarbeitung steht das empfangene Byte in der Integer-Variablen iResult - das Zusammenschnüren des Ergebnisses im String szResult dient lediglich der Demonstration / Visualisierung. Der Trick besteht einfach darin, dass im Binary-Modus immer soviel Zeichen eingelesen werden, wie die für Get vorgesehene Variable von Hause aus verbraucht. Dummerweise bietet LS in R5 keinen Ein-Byte-Variablentyp wie R6 mit Byte. Also lesen wir eben immer zwei Byte in eine Integer-Variable ein und holen uns das interessierende Lower - bzw. am Ende Higher Byte heraus.

Bernhard

cococo69:

--- Zitat von: AC am 01.07.04 - 16:30:06 ---Hi Glombi,

ich hab mit nem Kollegen bei meiner alten Firma mal was gemacht bei dem Bankeinzüge auf Diskette geschrieben wurden und dann zusammen mit Datenträgerbegleitschein an die Bank übergeben wurde, damit die Bank dann die Einzüge eintreibt.

...

--- Ende Zitat ---

Hallo Alexander,

genau sowas bräuchte ich momentan gerade (Schreiben von DTA-Dateien).
Hast du oder sost wer sowas gerade parat bevor ich mich in die Spezifikationen von DTAUS-Dateien einlese?

Gruß
Armin

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln