Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi PAnsiChar mit write in Datei schreiben (https://www.delphipraxis.net/124230-pansichar-mit-write-datei-schreiben.html)

Viktorii 17. Nov 2008 10:39


PAnsiChar mit write in Datei schreiben
 
Hallo,

ich möchte mit Delphi 2009 eine Funktion nachbilden. Hier bekomme ich unter anderem folgende Parameter: buf: PAnsiChar; len: Longint

buf ist ein Buffer (bzw. der Zeiger) in dem Werte stehen und len ist die Anzahl der Werte. Nun möchte ich diese Werte in eine Datei schreiben.

Ich weiss nur nicht wie.

buf direkt an write übergeben kann ja eigentlich nicht funktionieren, da dann ja nicht klar ist wie viel geschrieben werden muss. Habe verschiedene Sachen erfolglos versucht. Unter anderem zB Typecasts:

Delphi-Quellcode:
type
  TBuf       = array[0..10000] of AnsiChar;

for i := 0 to len - 1 do
  write(FileHandle, TBuf(buf^)[i]);
Wie mache ich es richtig?
Vielen Dank

SirThornberry 17. Nov 2008 10:55

Re: PAnsiChar mit write in Datei schreiben
 
mit einem Stream würde es so aussehen:
Delphi-Quellcode:
YourStream(YourBuffer^, number_of_bytes);

coollupo 17. Nov 2008 11:04

Re: PAnsiChar mit write in Datei schreiben
 
Hi, such mal hier im Forum nach "BlockWrite". Da bekommst Du schon jede Menge Hinweise.

var
WrittenBytes : integer;
DestFile : file;


..
{$I-}
BlockWrite(DestFile,buf^[0],10000,WrittenBytes);
{$I+}

if (IOResult<>0) then exit;

if (WrittenBytes<>10000) then exit;
..


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz