Hola escafandra.
Yo había pensado en eso, es más había probado este código y funciona bién:
Código Delphi
[-]
function FileLength(const NomArch:String): DWord;
var
Hndw: integer;
begin
Hndw:= FileOpen(NomArch, 0);
try
Result:= (GetFileSize(Hndw, nil));
finally
FileClose(Hndw);
end;
end;
procedure Concatenar(const FileNames: array of string);
var
i: Integer;
Ori, Des: TextFile;
s: string;
Len: DWord;
begin
AssignFile(Des,'C:\TODOS.TXT');
Rewrite(Des);
for i:= High(FileNames) downto Low(FileNames) do
begin
Len:= FileLength(FileNames[i]);
AssignFile(Ori, FileNames[i]);
Reset(Ori);
Writeln(Des,FileNames[i]+':'+IntToStr(Len));
while not eof(Ori) do
begin
ReadLn(Ori,s);
Writeln(Des,s);
end;
Flush(Des);
CloseFile(Ori);
end;
CloseFile(Des);
end;
Pero luego me puse a pensar, ¿ Como encuentro despues la cabecera si un archivo contiene el identificador que uso para distinguirla ?
Es decir como hacer para usar un identificador que sea diferente a cualquier combinación de caracteres posibles dentro de un archivo.
Por eso luego pensé en obtener previamente el tamaño en bytes.
¿ Se te ocurre algún modo ? Por que de esa forma es muchísimo más simple.
Un saludo.