![]() |
Readbuffer in mehrdimensionales Array
Hallo. Ich habe folgendes problem:
Ich lese 20 Bytes aus einem Filestream in ein 2dimensionales Array ein. Wie kann ich nun beeinflussen, dass die Bytes horizontal oder vertikal (grafisch vorgestellt) eingelesen werden. Bei meinen versuchen klappt nur ein vertikales Einlesen (also in eine Spalte); Bei diesem Versuch in Zeilen einzulesen kommt nur Müll heraus:
Delphi-Quellcode:
var dummyy:integer;
Incoming:TFileStream; cbytes:longint; begin Incoming:=TFilestream.Create(Th_PfadDaten,fmOpenRead); for dummyy:=0 to 19 do //Zeilen abarbeiten begin Incoming.Seek(XY2Pos(Th_x0,dummyy,Th_xmaxdat,Th_typedefdat),soFromBeginning); //Zu Position im Filestream gehen Incoming.Readbuffer(Th_DataArray[1,dummyy],20); end; FreeAndNil(Incoming); |
Re: Readbuffer in mehrdimensionales Array
hi,
irgendwie werde ich aus deiner fragestellung nicht ganz schlau? welche daten liegen wie vor? und welchen Sinn macht das horizontale oder vertikale einlesen der Daten? |
Re: Readbuffer in mehrdimensionales Array
Ich habe eine Binärdatei mit Grauwerten eines Bildes. Die Zeilen des Bildes liegen nacheinander
in der Datei. Ich möchte nun diese Werte in ein zweidimensionales Array einlesen. Dabei soll die Urposition jedes Pixels im Bild die gleiche im Array sein. (die Pixelinformation ist 2byte lang) Lese ich nun z.B. die erste Zeile mit 20Bytes länge ein soll diese in der ersten Zeile meines Arrays stehen. Dieses einlesen funktioniert bei mir leider nur Spaltenweise. Die erste Bildzeile wird in die erste Arrayspalte eingelesen: Incoming.Readbuffer(Th_DataArray[Th_Posy,0],20); //für Einlesen in eine Spalte Für das Einlesen in Zeile müsste das gehen - eben leider nicht: Incoming.Readbuffer(Th_DataArray[0,Th_Posy],20); //für Einlesen in eine Zeile Das Array ist definiert: TDataArray = array of array of word; setlength(Th_DataAttay[9,9]); |
Re: Readbuffer in mehrdimensionales Array
Da wirst Du wohl erst in ein eindimensionales Array einlesen und dann die Werte umspeichern müssen.
|
Re: Readbuffer in mehrdimensionales Array
Vielen Dank für den Tip.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz