![]() |
Re: Mit BlockRead() Datei kopieren
Hi,
vermutlich testest du immernoch ohne Streams:
Delphi-Quellcode:
const
BUF_SIZE = 1024; var // ... bDlDat: array [1..BUF_SIZE] of Byte; bytes: Integer; begin // ... if FileExists(tmpReplace) then begin // sizeDlDat := SizeOfFile(tmpReplace)-1; // unnötig AssignFile(hDlDat, tmpReplace); Reset(hDlDat, 1); repeat BlockRead(hDlDat, bDlDat, BUF_SIZE, bytes); if bytes > 0 then Socket.SendBuf(bDlDat, bytes); // Sleep(7); Application.ProcessMessages; until bytes = 0; CloseFile(hDlDat); end; tmpReplace := ''; // ... end; |
Re: Mit BlockRead() Datei kopieren
Mal nebenbei, haben Streams einen Vorteil gegenüber den anderen Routinen?
Du benutzt gar kein Seek(). Das braucht man doch, um zu den nächsten Bytes zu springen? |
Re: Mit BlockRead() Datei kopieren
Vorteile ist vielleicht nicht das richtige Wort, aber lies selbst:
![]() Aufeinender folgende Lesevorgänge lesen nur dann denselben Dateiabschnitt, wenn du dazwischen die Lesemarke verschiebst, denn bei jedem Lesevorgang wird die Lesemarke entsprechend weiter geschoben. Bei den Streams benutzt du übrigens statt Seek() die Eigenschaft Position. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:36 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