Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi TFIleStream Read füllt Buffer nicht (https://www.delphipraxis.net/192162-tfilestream-read-fuellt-buffer-nicht.html)

himitsu 23. Mär 2017 22:57

AW: TFIleStream Read füllt Buffer nicht
 
Dann ist Seek/Position wohl hinter das Dateiende gelangt. :stupid:

Darum gibt es BlockRead bzw. TStream.ReadBuffer, wenn man das selber nicht prüfen mag.

EWeiss 23. Mär 2017 23:05

AW: TFIleStream Read füllt Buffer nicht
 
Zitat:

BlockRead
Hmmm hört sich interessant an denn ich habe 2 Blöcke die ich nacheinander lesen muss.

Ist beides das selbe der einzige unter schied ist dieser.
Delphi-Quellcode:
//Buffer 2

        BufferSize := FileStream.Size - anih.offset - sizeof(anih) + 1;
        SetLength(sBuffer, BufferSize);
        FileStream.Seek(anih.offset - 1, soBeginning);
        FileStream.Read(sBuffer[0], integer(BufferSize));

//Buffer 1

        BufferSize := anih.offset - 1;
        SetLength(sBuffer, BufferSize);
        FileStream.Seek(0, soBeginning);
        FileStream.Read(sBuffer[0], integer(BufferSize));
Vielleicht könnte man das mit BlockRead verkürzen.

gruss

himitsu 23. Mär 2017 23:14

AW: TFIleStream Read füllt Buffer nicht
 
Verkürzen...

http://docwiki.embarcadero.com/Libra....IOUtils.TFile
Es fehlt nur noch ein ReadBytes, dem man einen Offset+Lenght geben kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:20 Uhr.
Seite 2 von 2     12   

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