Dateien verschmelzen |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
Möchten Sie mehrere Dateien zu einer Datei verschmelzen, hilft Ihnen die untenstehende Routine weiter.
Folgende Routine erwartet zwei Parameter: Eine Liste mit Dateinamen, aus denen später die Zieldatei gebildet wird und den Dateinamen der Zieldatei. Die Dateien aus der Dateiliste müssen sich nicht im gleichen Verzeichnis befinden.
var
f1, f2: TFileStream;
i: integer;
begin
f1 := TFileStream.Create(Filename, fmCreate or fmShareDenyWrite);
try
for i:=0 to Files.Count-1 do
begin
f2 := TFileStream.Create(Files[i], fmOpenRead or fmShareDenyNone);
try
f1.CopyFrom(f2, 0);
finally
f2.Free;
end;
end;
finally
f1.Free;
end;
end;
Die Procedure überprüft nicht, ob es Sinn macht die angegebenen Dateien zu verschmelzen. Es lassen sich beliebige Dateien kombinieren, die später aber nicht unbedingt wieder getrennt werden können, da die Dateigröße eines jeden Segments unbekannt ist.
Die Dateien werden in der Reihenfolge verschmolzen, wie sie in der Liste stehen. Bitte beachten Sie, dass TFileStream, den die Routine intern verwendet, mit großen Dateien über 2GB Probleme bekommt.
Die Routine kann so aufgerufen werden:
var
sl: TStringlist;
begin
sl := TStringlist.Create;
try
sl.Add('c:\Bild.bmp.001');
sl.Add('c:\Bild.bmp.002');
ReUniteFile(sl, 'c:\NeuesBild.bmp');
finally
sl.Free;
end;
end;
- Datei mit zugeordneter Anwendung öffnen
- Programm ohne sichtbares Fenster starten
- Größe einer Datei ermitteln
- Feststellen, ob eine Datei existiert
- Erstellungsdatum von Dateien ermitteln
- Letzten Dateizugriff ermitteln
- Ist eine Datei in Benutzung
- Dateiversion ermitteln
- Datei nach einem bestimmten String durchsuchen
- Anwendung ermitteln, die mit einer Dateiendung verknüpft ist