AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi In Stream mehrere Dateien laden?
Thema durchsuchen
Ansicht
Themen-Optionen

In Stream mehrere Dateien laden?

Ein Thema von Mr Whoopee · begonnen am 21. Sep 2004 · letzter Beitrag vom 7. Okt 2004
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Sharky
Sharky

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

Re: In Stream mehrere Dateien laden?

  Alt 21. Sep 2004, 19:53
Zitat von Mr Whoopee:
....gesstream:=stream1+stream2?
Fast

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  st1 : TMemoryStream;
  st2 : TMemoryStream;
begin
  st1 := TMemoryStream.Create;
  st2 := TMemoryStream.Create;
  try
    st1.LoadFromFile('c:\test1.txt');
    st2.LoadFromFile('c:\test2.txt');
    st1.Position := st1.Size; // Stream auf das Ende positionieren
    st1.CopyFrom(st2,0); // Alles vom Beginn des Streams2 in Stream1 kopieren.
    st1.SaveToFile('c:\test12.txt');
  finally
    st1.Free;
    st2.Free;
  end;
end;
Es wird mit .CopyFrom der Inhalt von Stream2 ab der aktuellen Position in Stream1 kopiert.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Mr Whoopee

Registriert seit: 28. Jun 2004
73 Beiträge
 
#12

Re: In Stream mehrere Dateien laden?

  Alt 21. Sep 2004, 20:18
ah das sieht doch mal gut aus, DANKE
  Mit Zitat antworten Zitat
Mr Whoopee

Registriert seit: 28. Jun 2004
73 Beiträge
 
#13

Re: In Stream mehrere Dateien laden?

  Alt 23. Sep 2004, 19:56
Zitat von Sharky:
Zitat von Mr Whoopee:
....gesstream:=stream1+stream2?
Fast

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  st1 : TMemoryStream;
  st2 : TMemoryStream;
begin
  st1 := TMemoryStream.Create;
  st2 := TMemoryStream.Create;
  try
    st1.LoadFromFile('c:\test1.txt');
    st2.LoadFromFile('c:\test2.txt');
    st1.Position := st1.Size; // Stream auf das Ende positionieren
    st1.CopyFrom(st2,0); // Alles vom Beginn des Streams2 in Stream1 kopieren.
    st1.SaveToFile('c:\test12.txt');
  finally
    st1.Free;
    st2.Free;
  end;
end;
Es wird mit .CopyFrom der Inhalt von Stream2 ab der aktuellen Position in Stream1 kopiert.
geht das auch mit binären dateien? irgendwie kommen bei mir fehler
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

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

Re: In Stream mehrere Dateien laden?

  Alt 23. Sep 2004, 20:46
Zitat von Mr Whoopee:
...geht das auch mit binären dateien? irgendwie kommen bei mir fehler
Sollte eigentlich gehen.
Hast Du mal ein Beispiel deiner Daten?
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Mr Whoopee

Registriert seit: 28. Jun 2004
73 Beiträge
 
#15

Re: In Stream mehrere Dateien laden?

  Alt 24. Sep 2004, 15:22
Delphi-Quellcode:
Unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdHTTP, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    IdHTTP1: TIdHTTP;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  stream: TFileStream;
  stream1, stream2: TMemoryStream;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
try
stream := TFileStream.Create('c:\temp', fmCreate);
IdHTTP1.Get('http://home.arcor.de/delphi_checker/testdl/1.gif', stream);
finally
stream.Free;
end;
   try
   stream1:=TMemoryStream.Create;
   stream2:=TMemoryStream.Create;
   stream1.LoadFromFile('c:\temp');
   stream2.LoadFromFile('c:\final');
   stream1.Position:=stream1.Size;
   stream1.CopyFrom(stream2,0);
   stream1.SaveToFile('c:\final');
   finally
   stream2.Free;
   stream1.Free;
   end;
try
stream := TFileStream.Create('c:\temp', fmCreate);
IdHTTP1.Get('http://home.arcor.de/delphi_checker/testdl/2.gif', stream);
finally
stream.Free;
end;
   try
   stream1:=TMemoryStream.Create;
   stream2:=TMemoryStream.Create;
   stream1.LoadFromFile('c:\temp');
   stream2.LoadFromFile('c:\final');
   stream1.Position:=stream1.Size;
   stream1.CopyFrom(stream2,0);
   stream1.SaveToFile('c:\final');
   finally
   stream2.Free;
   stream1.Free;
   end;
try
stream := TFileStream.Create('c:\temp', fmCreate);
IdHTTP1.Get('http://home.arcor.de/delphi_checker/testdl/3.gif', stream);
finally
stream.Free;
end;
   try
   stream1:=TMemoryStream.Create;
   stream2:=TMemoryStream.Create;
   stream1.LoadFromFile('c:\temp');
   stream2.LoadFromFile('c:\final');
   stream1.Position:=stream1.Size;
   stream1.CopyFrom(stream2,0);
   stream1.SaveToFile('c:\final');
   finally
   stream2.Free;
   stream1.Free;
   end;
try
stream := TFileStream.Create('c:\temp', fmCreate);
IdHTTP1.Get('http://home.arcor.de/delphi_checker/testdl/4.gif', stream);
finally
stream.Free;
end;
   try
   stream1:=TMemoryStream.Create;
   stream2:=TMemoryStream.Create;
   stream1.LoadFromFile('c:\temp');
   stream2.LoadFromFile('c:\final');
   stream1.Position:=stream1.Size;
   stream1.CopyFrom(stream2,0);
   stream1.SaveToFile('c:\final');
   finally
   stream2.Free;
   stream1.Free;
   end;
try
stream := TFileStream.Create('c:\temp', fmCreate);
IdHTTP1.Get('http://home.arcor.de/delphi_checker/testdl/5.gif', stream);
finally
stream.Free;
end;
   try
   stream1:=TMemoryStream.Create;
   stream2:=TMemoryStream.Create;
   stream1.LoadFromFile('c:\temp');
   stream2.LoadFromFile('c:\final');
   stream1.Position:=stream1.Size;
   stream1.CopyFrom(stream2,0);
   stream1.SaveToFile('c:\final');
   finally
   stream2.Free;
   stream1.Free;
   end;
try
stream := TFileStream.Create('c:\temp', fmCreate);
IdHTTP1.Get('http://home.arcor.de/delphi_checker/testdl/6.gif', stream);
finally
stream.Free;
end;
   try
   stream1:=TMemoryStream.Create;
   stream2:=TMemoryStream.Create;
   stream1.LoadFromFile('c:\temp');
   stream2.LoadFromFile('c:\final');
   stream1.Position:=stream1.Size;
   stream1.CopyFrom(stream2,0);
   stream1.SaveToFile('c:\final');
   finally
   stream2.Free;
   stream1.Free;
   end;

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
stream := TFileStream.Create('c:\final', fmCreate);
stream.Free;
end;

end.
So sieht es aues - ist noch umständlich gemacht - ich weiß - war zu faul - wollte es geh nur testen...
rauskommen MÜSSTE eigentlich ne exe - als auf C:\ die "Final" Datei in "Final.exe" umbenennen - aber dann geht die exe nicht.
Hochgeladen habe ich es im Binary Mode.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

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

Re: In Stream mehrere Dateien laden?

  Alt 1. Okt 2004, 17:48

Mir ist nicht klar was das Programm machen soll.
Du lädst irgendwelche Bilder aus dem Internet und möchtest daraus eine EXE machen?
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Mr Whoopee

Registriert seit: 28. Jun 2004
73 Beiträge
 
#17

Re: In Stream mehrere Dateien laden?

  Alt 7. Okt 2004, 17:13
also nochmal zur erklärung:

ich habe eine exe. die habe ich zerschnitten,
einfach in mehrere dateien aufgesplittet.
wenn man die 2. Datei an die 1. hängt, die 3. an die 2. usw.
und die dann wieder in .exe umbenennt ist die exe wieso so wie sie
war. bloß ich würde das ganz gern im stream machen. also immer
reinladen und dann dann hinten ranhängen und dann zum schluss nur eine datei haebn
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#18

Re: In Stream mehrere Dateien laden?

  Alt 7. Okt 2004, 17:17
Einige Beispiele dazu:
http://www.swissdelphicenter.ch/de/showcode.php?id=1075
http://www.swissdelphicenter.ch/de/showcode.php?id=1617
http://www.swissdelphicenter.ch/de/showcode.php?id=1266
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 14:11 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