![]() |
Ersten Bytes einer File verändern
Ich habe eine ZIP archiv das fängt ja mit PK an
das würde ich gerne löschen und später wieder ersetzen!
Delphi-Quellcode:
sowas macht nur Müll mit der datei ... hat jemand eine Bessere Lösung?
AssignFile(F, FileName);
Reset(F, 1); Seek(F, 0); // 0 zum Anfang der Datei s := PChar(Header); BlockWrite(F, S, Length(Header)); CloseFile(F); |
Re: Ersten Bytes einer File verändern
Lade das ZIP in einen Stream, dann kannst du die Bytes verändern.
|
Re: Ersten Bytes einer File verändern
oder mit der ableitung tfilestream arbeiten.
|
Re: Ersten Bytes einer File verändern
So funktioniert das:
Delphi-Quellcode:
procedure Tpkfak_frm_Main.btnStartClick(Sender : TObject);
const casNewHead : array[0..1] of char = 'HY'; var f : file; begin system.assign(f,'template.zip'); reset(f,1); blockwrite(f,casNewHead,2); system.close(f); end; |
Re: Ersten Bytes einer File verändern
Warum zeigt ihm niemand den Fehler in seinem Code?
Sein Ansatz würde genauso funktionieren, wenn er dereferenziert:
Delphi-Quellcode:
Und ohne PChar Cast gehts auch:
AssignFile(F, FileName);
Reset(F, 1); // Seek(F, 0); // unnötig, dort steht man nach dem Öffnen... s := PChar(Header); BlockWrite(F, s^, Length(Header)); CloseFile(F);
Delphi-Quellcode:
AssignFile(F, FileName);
Reset(F, 1); // Seek(F, 0); // unnötig, dort steht man nach dem Öffnen... BlockWrite(F, Header[1], Length(Header)); CloseFile(F); |
Re: Ersten Bytes einer File verändern
Ergänzung: Eventuell auch noch das original datum Uhrzeit setzen, damit das "Schützen" der Zip-Dateie nicht auffällt ...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:53 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