Autor Beitrag
arnydaniel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 80

hoffentlich bald Linux
Delphi 6
BeitragVerfasst: So 13.11.05 20:45 
Hi,

ich bin dabei eine Anwendung zu schrieben, bei der ich 2 zusammengehörige Dateien speichern muss. Damit bei der Weitergabe von einem Speicherstand nicht 2 Datei sondern nur eine weitergeben muss, will ich diese in einen Container speichern, ähnlich einer Zip-Datei.

Wie mach ich das am besten??

Gruß

_________________
Wenn jeder nur an sich denkt, wird an jeden gedacht.
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: So 13.11.05 20:53 
4 Byte Länge der 1.Datei
Dann die Datei
4 Byte Länge der 2.Datei
Dann die Datei

_________________
Na denn, dann. Bis dann, denn.
arnydaniel Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 80

hoffentlich bald Linux
Delphi 6
BeitragVerfasst: So 13.11.05 20:56 
Hab noch nicht so viel Erfahrung.
Wie soll das konkret aussehen?

_________________
Wenn jeder nur an sich denkt, wird an jeden gedacht.
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: So 13.11.05 21:26 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
Procedure MergeTwoFiles (aFileName1, aFileName2, aDestFile : String);
Var
  fDest : TFileStream;

  Procedure _AddFile (Const aFileName : String);  // Eine Datei hinten ranhängen
  Var
    fSrc : TFileStream;
    iSize : Integer;

  Begin
    fSrc := TFileStream.Create (aFileName, fmOpenRead); // Datei zum Lesen öffnen
    Try
      iSize := fSrc.Size;
      fDest.Write (iSize, SizeOf (Integer));  // 4 Byte Länge schreiben
      fDest.Copy (fSrc,0); // Die ganze Datei schreiben
    Finally
      fSrc.Free;
    End;
  End;

Begin
  fDest := TFileStream.Create (aDestFile, fmCreate);
  Try
    _AddFile (aFileName1);  // Erste Datei
    _AddFile (afileName2);  // Zweite Datei
  Finally
    fDest.Free;
  End;
End;

Sollte klappen. Das Einlesen schaffst Du selbst! Nur die Onlinehilfe verwenden, die Methoden der T(File)Streams anschauen und knobeln. Dann schaffst Du das!

_________________
Na denn, dann. Bis dann, denn.