AGB  ·  Datenschutz  ·  Impressum  







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

Memory Streams kopieren?

Ein Thema von FreewareFire · begonnen am 28. Okt 2003 · letzter Beitrag vom 28. Okt 2003
Antwort Antwort
FreewareFire

Registriert seit: 24. Sep 2003
51 Beiträge
 
Delphi 7 Professional
 
#1

Memory Streams kopieren?

  Alt 28. Okt 2003, 11:49
Hallo,

ich habe da eine etwas kompliziertere Frage:

Ich habe einen TMemoryStream, diesen möchte ich an das Ende eines anderen TMemoryStreams anhängen!
!Anhängen ist sehr wichtig - nichts überschreiben etc.!

Also z.B.


Stream 1: abc
Stream 2: xyz

Das Ergebnis sollte dann so aussehen:

Stream 3: abcxyz

Ich habe keine Ahnung wie sowas gehen soll, brauche es aber für ein Projekt!

Der Aufbau ist mir ja klar, aber wie setze ich die Position des Streams an das Ende und wie kopiere ich dann Daten aus dem anderen Stream an diese Stelle?

Ist verdammt wichtig!


Vielen Dank für eure mühe!
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#2

Re: Memory Streams kopieren?

  Alt 28. Okt 2003, 12:01
Delphi-Quellcode:
var
  Source,Dest: TMemoryStream;
begin
 ....
   Dest.Position := Dest.Size;
   Dest.WriteBuffer(Source.Memory^, Source.Size);
 ....
end;

// oder
var
  Source,Dest: TMemoryStream;
begin
 ....
   Source.Position := 0;
   Dest.Position := Dest.Size;
   Dest.CopyFrom(Source, Source.Size);
 ....
end;
Ersters ist schneller.


Hagen
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Memory Streams kopieren?

  Alt 28. Okt 2003, 12:07
Hai FreewareFire,

habe es zum Test mal so gemacht:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
 m_stream1,
 m_stream2 : TMemoryStream;
begin
 m_stream1 := TMemoryStream.Create;
 m_stream2 := TMemoryStream.Create;
 try
  m_stream1.LoadFromFile('c:\test.txt');
  m_stream2.LoadFromFile('c:\test.txt');
  m_stream2.Seek(0,soFromEnd);
  m_stream2.CopyFrom(m_stream1,0);
  m_stream2.SaveToFile('c:\ergebniss.txt');
 finally
  m_stream1.Free;
  m_stream2.Free;
 end;
end;
[EDIT]Hagen war schneller....[/EDIT]
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
FreewareFire

Registriert seit: 24. Sep 2003
51 Beiträge
 
Delphi 7 Professional
 
#4

Re: Memory Streams kopieren?

  Alt 28. Okt 2003, 16:09
Prima!


Danke euch beide! Ich versuche es gleich direkt mal!


CU
  Mit Zitat antworten Zitat
FreewareFire

Registriert seit: 24. Sep 2003
51 Beiträge
 
Delphi 7 Professional
 
#5

Re: Memory Streams kopieren?

  Alt 28. Okt 2003, 19:57
Super! Vielen Dank! Hat prima geklappt!

DANKE
  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 06:15 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