AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi TFileStream Speichern nach Vergrößerung
Thema durchsuchen
Ansicht
Themen-Optionen

TFileStream Speichern nach Vergrößerung

Ein Thema von SyntaxXx · begonnen am 4. Apr 2010 · letzter Beitrag vom 4. Apr 2010
 
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#1

TFileStream Speichern nach Vergrößerung

  Alt 4. Apr 2010, 15:09
Hallo leute,
bin gerade an einem neuen kleinen Projekt dran.

Ich erkläre nur einmal ganz kurz die Funktion:
Also ich habe jetzt die Größe einer Datei als MD5 Hash.

Jetzt möchte ich eine belibige Datei in mein Programm laden, die ein wenig kleiner ist als meine Original Datei.
Sprich:
Original Datei = 5 MB
Datei2 = 4,5 MB

Wenn ich nun Datei2 in mein Programm lade, wird von der Größe dieser Datei ein MD5 Hash erstellt.
Sollte dieser Hash nun gleich sein mit dem Hash der Original Datei, dann soll die Datei gespeichert werden.

Sollte der MD5 Hash nicht gleich sein, wir gehen davon aus, das die Datei2 kleiner ist, dann soll auf die Datei 1 Bit daz addiert werden und wieder von der neuen Größe der MD5 Hash erstellt werden.
Und das so lange, bis eben die beiden Hashs gleich sind.

Soweit ist das ganze auch kein Problem.
Hier mal ein wenig Code von mir:

var lstream : TFileStream; Sollte klar sein.
Delphi-Quellcode:
begin
 Opendialog1.Execute();
 try
 lStream := TFileStream.Create(OpenDialog1.Filename, fmOpenReadWrite);
Hier wähle ich eine Datei aus, und lade sie auf lStream.

lstream.Size := lstream.Size + 1 Und hiermit erhöhe ich die Größe der Datei immer um 1 Bit.


Sollte soweit richtig sein, hoffe ich^^.

Nunja jetzt zu meinem Problem.
Wenn nun die beiden Hashs übereinstimmen, soll die Datei Natürlich gespeichert werden.
Nur wie mache ich das jetzt?

Habe schon lstream := TFileStream.Create('E:\MD5 After.txt', fmCreate); probiert, aber dann wird immer nur eine leere Datei erstellt, die 0 Byte groß ist.

Die Datei die ich auf lStream lade (in meinem falle eine Textdatei) steht aber "1234567890" drin.
Also sollt doch auch wenigstens das nach dem speichern auch wieder drin stehen.

Könnt ihr mir helfen?
  Mit Zitat antworten Zitat
 


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 08:05 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