AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ersten Bytes einer File verändern

Offene Frage von "delphinia"
Ein Thema von delphinia · begonnen am 5. Feb 2008 · letzter Beitrag vom 6. Feb 2008
Antwort Antwort
delphinia

Registriert seit: 16. Feb 2006
444 Beiträge
 
Delphi 11 Alexandria
 
#1

Ersten Bytes einer File verändern

  Alt 5. Feb 2008, 15:03
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:
  AssignFile(F, FileName);
  Reset(F, 1);
  Seek(F, 0); // 0 zum Anfang der Datei

  s := PChar(Header);
  BlockWrite(F, S, Length(Header));
  CloseFile(F);
sowas macht nur Müll mit der datei ... hat jemand eine Bessere Lösung?
Doreen
Gruss Doreen
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Ersten Bytes einer File verändern

  Alt 5. Feb 2008, 15:11
Lade das ZIP in einen Stream, dann kannst du die Bytes verändern.
Marc
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Ersten Bytes einer File verändern

  Alt 5. Feb 2008, 15:12
oder mit der ableitung tfilestream arbeiten.
  Mit Zitat antworten Zitat
mashutu

Registriert seit: 15. Nov 2007
195 Beiträge
 
#4

Re: Ersten Bytes einer File verändern

  Alt 5. Feb 2008, 15:35
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;
utu

if it was hard to write it should be hard to read
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#5

Re: Ersten Bytes einer File verändern

  Alt 5. Feb 2008, 23:52
Warum zeigt ihm niemand den Fehler in seinem Code?

Sein Ansatz würde genauso funktionieren, wenn er dereferenziert:

Delphi-Quellcode:
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);
Und ohne PChar Cast gehts auch:

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);
  Mit Zitat antworten Zitat
Benutzerbild von peschai
peschai

Registriert seit: 15. Feb 2004
Ort: Göppingen
270 Beiträge
 
Delphi XE5 Professional
 
#6

Re: Ersten Bytes einer File verändern

  Alt 6. Feb 2008, 07:14
Ergänzung: Eventuell auch noch das original datum Uhrzeit setzen, damit das "Schützen" der Zip-Dateie nicht auffällt ...
Peter Schaible
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:25 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