Daten 16x12 untereinander auf Datei schreiben.

Anfängerfragen zum Programmieren mit PureBasic.
funkheld
Beiträge: 636
Registriert: 31.12.2009 11:58

Daten 16x12 untereinander auf Datei schreiben.

Beitrag von funkheld »

Hallo, guten Tag.

Ich habe eine Bin-Datei 16x12 Daten

Ich möchte bitte jeweils 12 Daten untereinander auslesen von der Reihe 1-16 und dann in eine Datei schreiben.
Beim lesen der ersten 12 Daten ist das dann die erste Reihe ....nächsten 12 Daten die zweite Reihe usw.

Wie geht das bitte.

Danke.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8679
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Daten 16x12 untereinander auf Datei schreiben.

Beitrag von NicTheQuick »

Du gibst in deinen Fragen häufig zu wenig Informationen. Deswegen erst mal ein paar Gegenfragen:
- Was ist eine Bin-Datei?
- Welche Form haben diese 16x12 Daten?
- In welcher Form möchtest du die Daten in eine neue Datei schreiben?

Ansonsten solltest du mittlerweile die üblichen Dateibefehle kennen: ReadFile, OpenFile, WriteString, ReadString, usw.
Bild
funkheld
Beiträge: 636
Registriert: 31.12.2009 11:58

Re: Daten 16x12 untereinander auf Datei schreiben.

Beitrag von funkheld »

Eine Bin-datei : ff 12 ed 44 .....

Daten-Bild:
16 Daten nebeneinander und 12 Daten untereinander.
H.Brill
Beiträge: 356
Registriert: 15.10.2004 17:42
Wohnort: 66557 Neunkirchen

Re: Daten 16x12 untereinander auf Datei schreiben.

Beitrag von H.Brill »

Sind es jetzt 12 oder 16 Byte pro Zeile ?
Oder willst du die Daten einfach nur umstellen, sodass
dann 16 Bytes nebeneinander und 12 Reihen entstehen ?
Oder gar umgekehrt 12 Bytes zu 16 Reihen ?
Sind die Bytes durch ein Leerzeichen o. ä. getrennt, oder
stehen die direkt hinter einander ?
Ich gehe mal jetzt von keinem Trennzeichen aus.
Die Größe steht ja dann mit 192 (16 x 12) fest. Da würde ich
ReadData() und eine Memory-Variable zum Einlesen nehmen
und zum erneuten Schreiben mit WriteByte() und Mod (Modulo
- % für integer) in einer For-Schleife arbeiten. Wenn
i % 12 oder i % 16 (je nachdem was du willst) = 0 sind, einfach
ein Chr$(13) + Chr$(10) als Bytes in die Datei schreiben.
Wenn du ein Leerzeichen o.ä. zwischen jedem Byte haben willst,
muß du das natürlich auch noch extra schreiben.
PB 5.60
Antworten