Пожалуйста
Код:
function AttachToFile(const AFileName: string; MemoryStream: TMemoryStream): Boolean;
var
aStream: TFileStream;
iSize: Integer;
begin
Result := False;
if not FileExists(AFileName) then
Exit;
try
aStream := TFileStream.Create(AFileName, fmOpenWrite or fmShareDenyWrite);
MemoryStream.Seek(0, soFromBeginning);
aStream.Seek(0, soFromEnd);
aStream.CopyFrom(MemoryStream, 0);
iSize := MemoryStream.Size + SizeOf(Integer);
aStream.Write(iSize, SizeOf(iSize));
finally
aStream.Free;
end;
Result := True;
end;
function LoadFromFile(const AFileName: string; MemoryStream: TMemoryStream): Boolean;
var
aStream: TFileStream;
iSize: Integer;
begin
Result := False;
if not FileExists(AFileName) then
Exit;
try
aStream := TFileStream.Create(AFileName, fmOpenRead or fmShareDenyWrite);
aStream.Seek(-SizeOf(Integer), soFromEnd);
aStream.Read(iSize, SizeOf(iSize));
if iSize > aStream.Size then
begin
aStream.Free;
Exit;
end;
aStream.Seek(-iSize, soFromEnd);
MemoryStream.SetSize(iSize - SizeOf(Integer));
MemoryStream.CopyFrom(aStream, iSize - SizeOf(iSize));
MemoryStream.Seek(0, soFromBeginning);
finally
aStream.Free;
end;
Result := True;
end;
Это функции сохранения и загрузки в/из ЕХЕ файла. Сохраняет текст.
То бишь функции сохраняют текст в ЕХЕ файл, после этого текст можно оттуда прочитать соответствующей функцией.
Если надо в ЕХЕ сохранить другие файлы просто читаешь их как текст (F: TextFile) и сохраняешь в ЕХЕ.
ЗЫ если надо сохранять ЕХЕ в ЕХЕ, то это уже джойнер. Исходников джойнеров довольно много, поищите в гугле, точно найдете.