Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Die ersten paar bytes einer Datei überschreiben (https://www.delphipraxis.net/77300-die-ersten-paar-bytes-einer-datei-ueberschreiben.html)

skyquaker 17. Sep 2006 12:17


Die ersten paar bytes einer Datei überschreiben
 
Hi !
Ich möchte gerne die ersten paar bytes einer Datei ändern um sie nutzlos zu machen.
Später möchte ich die Datei wieder benutzen also mus ich die geänderten bytes wieder ändern.
Ich glaube das geht mit TFileStream aber ich weiß nicht wie das zu benutzen ist.
Vielen Dank im Voraus

CalganX 17. Sep 2006 12:25

Re: Die ersten paar bytes einer Datei überschreiben
 
Hi,
TFileStream ist schon der richtige Ansatz. Am Besten schaust du dir in der Hilfe die Beschreibung und die Beispiele für Delphi-Referenz durchsuchenTFileStream an.

Chris

skyquaker 17. Sep 2006 14:21

Re: Die ersten paar bytes einer Datei überschreiben
 
Danke ! Könnte mir jemand vielleicht ein Beispiel schreiben ?
Ich komme mit diesen FileStrings nicht zurecht.

Sunlight7 17. Sep 2006 18:14

Re: Die ersten paar bytes einer Datei überschreiben
 
Warum so Kompliziert?

Probiere mal das...

So ein ähnliches Beispliel habe ich, um den Header einer AVI Datei nach Crash beim aufnehmen wiederherzustellen.
Der Code ist nicht getestet, Tippfehler möglich...

Delphi-Quellcode:
procedure OverrideBytes(const FileName:String; const Num:Byte);
   var F:File;
       PC:PChar;      
begin
   GetMem(PC, Num);

   AssignFile(F, FileName);
   Reset(F, 1);
   Seek(F, 0); // 0 zum Anfang der Datei
   BlockWrite(F, PC^, Num);
   CloseFile(F);

   FreeMem(PC);
end;

procedure RestoreBytes(const FileName, Header:String);
   var F:File;
begin
   AssignFile(F, FileName);
   Reset(F, 1);
   Seek(F, 0); // 0 zum Anfang der Datei
   BlockWrite(F, PChar(Header), Length(Header));
   CloseFile(F);
end;
:???:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 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