AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Inhalt eines Streams teilweise in anderen Stream kopieren
Thema durchsuchen
Ansicht
Themen-Optionen

Inhalt eines Streams teilweise in anderen Stream kopieren

Ein Thema von Tyrael Y. · begonnen am 30. Okt 2003 · letzter Beitrag vom 30. Okt 2003
Antwort Antwort
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#1

Inhalt eines Streams teilweise in anderen Stream kopieren

  Alt 30. Okt 2003, 13:19
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
  FileStream.Read(Value, SizeOf(Value)) lese ich einige Werte aus..

dann kommt innerhalb der Datei ein Blob Feld das ich gespeichert habe.

Um dieses BlobFeld zu lesen erstelle ich ein TMemoryStream
  MemStream := TMemoryStream.Create; dann versuche ich die Daten aus dem FileStream auf das MemoryStream zu übertragen
  FileStream.ReadBuffer(MemStream, Length); ist das überhaupt bis hierhin ok?

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]
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Inhalt eines Streams teilweise in anderen Stream kopiere

  Alt 30. Okt 2003, 13:27
Wenn jemand einen Vorschalg hat wie man einen Stream teilweise in einen anderen Kopieren kann

bitte melde dich *grins*

Grüße
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Benutzerbild von Wormid
Wormid

Registriert seit: 26. Aug 2003
Ort: Steinfurt
292 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Inhalt eines Streams teilweise in anderen Stream kopiere

  Alt 30. Okt 2003, 13:40
function CopyFrom(Source: TStream; Count: Int64): Int64; CopyFrom kopiert laut meiner OH nicht den ganzen Stream... sondern nur die in Count angegeben Anzahl an Bytes...

Gruß

Wormid
Debuggers don't remove Bugs, they only show them in Slow-Motion.
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Inhalt eines Streams teilweise in anderen Stream kopiere

  Alt 30. Okt 2003, 13:43
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
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Benutzerbild von Wormid
Wormid

Registriert seit: 26. Aug 2003
Ort: Steinfurt
292 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Inhalt eines Streams teilweise in anderen Stream kopiere

  Alt 30. Okt 2003, 14:00
Öhm... das ist nicht ganz korrekt...

Zitat von Delphi's Online Hilfe:
Wenn Count 0 enthält, setzt CopyFrom vor dem Lesen die Position in Source auf 0 und kopiert dann den gesamten Inhalt von Source in den Stream. Wenn Count größer oder kleiner als 0 ist, liest CopyFrom ab der aktuellen Position in Source.
Debuggers don't remove Bugs, they only show them in Slow-Motion.
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Inhalt eines Streams teilweise in anderen Stream kopiere

  Alt 30. Okt 2003, 14:11
hab gerade auch mal gelesen du hast Recht, ups

hm komisch

ich schreib nämlich den stream in eine DB (der Blob ist ein Bild)

Code:
TBlobField(aTable.FieldByName(aFieldName)).LoadFromStream(MemStream);
und wenn ich das Feld auslesen möchte, bekomme ich kein Bild als Ergebnis..

hm..komisch...muss nochmal gucken.....

...danke dir schonmal....


Gruß
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  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 20:47 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