Последние записи
- Склеить несколько файлов в один
- Windows 10 сменить администратора
- Рандомное слайдшоу
- Событие для произвольной области внутри TImage
- Удаление папки с файлами
- Распечатка файла
- Преобразовать массив байт в вещественное число (single)
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
5th
Янв
Склеить несколько файлов в один
Posted by obzor under Delphi
Как в Делфи сделать аналог дос команды
copy file1 + file2 + file3 (+ …) file_res
Другими словами, объединить несколько файлов в один копированием.
Вариант реализации на TFileStream:
uses
System.Classes, System.SysUtils;
procedure MergeFiles(const SourceFiles: array of string; const DestinationFile: string);
var
DestStream: TFileStream;
SrcStream: TFileStream;
Buffer: array[0..4095] of Byte; // Буфер для чтения
BytesRead: Integer;
FileName: string;
begin
// Создаем поток для файла назначения
DestStream := TFileStream.Create(DestinationFile, fmCreate);
try
for FileName in SourceFiles do
begin
// Открываем каждый исходный файл для чтения
SrcStream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
// Копируем содержимое исходного файла в файл назначения
repeat
BytesRead := SrcStream.Read(Buffer, SizeOf(Buffer));
if BytesRead > 0 then
DestStream.Write(Buffer, BytesRead);
until BytesRead = 0;
finally
SrcStream.Free;
end;
end;
finally
DestStream.Free;
end;
end;
procedure TestMergeFiles;
begin
// Объединяем файлы file1.txt, file2.txt, и file3.txt в result.txt
MergeFiles(['file1.txt', 'file2.txt', 'file3.txt'], 'result.txt');
end;
begin
try
TestMergeFiles;
Writeln('Файлы успешно объединены!');
except
on E: Exception do
Writeln('Ошибка: ', E.Message);
end;
end.
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)