![]() |
Inhalt eines Streams teilweise in anderen Stream kopieren
Hi zusammen,
mittels eines TFileStreams lese ich Daten aus einer Datei. In dieser Datei sind verschiedene Daten gespeichert. Das Format ist etwa so ... Länge Wert Länge Wert Länge Wert ... usw. über
Delphi-Quellcode:
lese ich einige Werte aus..
FileStream.Read(Value, SizeOf(Value))
dann kommt innerhalb der Datei ein Blob Feld das ich gespeichert habe. Um dieses BlobFeld zu lesen erstelle ich ein TMemoryStream
Delphi-Quellcode:
dann versuche ich die Daten aus dem FileStream auf das MemoryStream zu übertragen
MemStream := TMemoryStream.Create;
Delphi-Quellcode:
ist das überhaupt bis hierhin ok?
FileStream.ReadBuffer(MemStream, Length);
MemStream.CopyFrom() kann ich nicht einsetzen, da nach dem Blob Wert noch andere Werte folgen und CopyFrom den ganzen Stream kopiert. Grüße Tyrael [edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit] |
Re: Inhalt eines Streams teilweise in anderen Stream kopiere
Wenn jemand einen Vorschalg hat wie man einen Stream teilweise in einen anderen Kopieren kann
bitte melde dich *grins* Grüße |
Re: Inhalt eines Streams teilweise in anderen Stream kopiere
Delphi-Quellcode:
CopyFrom kopiert laut meiner OH nicht den ganzen Stream... sondern nur die in Count angegeben Anzahl an Bytes...
function CopyFrom(Source: TStream; Count: Int64): Int64;
Gruß Wormid |
Re: Inhalt eines Streams teilweise in anderen Stream kopiere
Ja hast recht.
hab mich falsch ausgedrückt. CopyFrom fängt am Anfang des Streams an zu kopieren und kopiert angegebene Zahl an Bytes. Der FileStream ist aber an einem bestimmtem Platz innerhalb der Datei und ich möchte gerne das angegebene Anzahl Bytes ab dieser Position kopiert werden. Hoffe jetzt ist es verständlicher. sry nochmal Gruß Tyrael |
Re: Inhalt eines Streams teilweise in anderen Stream kopiere
Öhm... das ist nicht ganz korrekt...
Zitat:
|
Re: Inhalt eines Streams teilweise in anderen Stream kopiere
hab gerade auch mal gelesen du hast Recht, ups :oops:
hm komisch ich schreib nämlich den stream in eine DB (der Blob ist ein Bild)
Code:
und wenn ich das Feld auslesen möchte, bekomme ich kein Bild als Ergebnis..
TBlobField(aTable.FieldByName(aFieldName)).LoadFromStream(MemStream);
hm..komisch...muss nochmal gucken..... ...danke dir schonmal.... Gruß |
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