![]() |
Re: In Stream mehrere Dateien laden?
Zitat:
Delphi-Quellcode:
Es wird mit .CopyFrom der Inhalt von Stream2 ab der aktuellen Position in Stream1 kopiert.
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; |
Re: In Stream mehrere Dateien laden?
ah das sieht doch mal gut aus, DANKE :D
|
Re: In Stream mehrere Dateien laden?
Zitat:
|
Re: In Stream mehrere Dateien laden?
Zitat:
Hast Du mal ein Beispiel deiner Daten? |
Re: In Stream mehrere Dateien laden?
Delphi-Quellcode:
So sieht es aues - ist noch umständlich gemacht - ich weiß - war zu faul - wollte es geh nur testen...
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. 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. |
Re: In Stream mehrere Dateien laden?
:gruebel:
Mir ist nicht klar was das Programm machen soll. Du lädst irgendwelche Bilder aus dem Internet und möchtest daraus eine EXE machen? |
Re: In Stream mehrere Dateien laden?
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 |
Re: In Stream mehrere Dateien laden?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 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