ДОРОГОЙ МОЙ МУЖ,
Отправляю тебе это письмо по электронной почте, чтобы быть уверенной, что ты его прочтешь. Думаю, ты простишь мне эту небольшую хитрость, но просто я хотела держать тебя в курсе событий за два года, прошедших с того момента, как компьютер вошел в наш дом.
С детьми все хорошо. Пете в прошлом месяце исполнилось 8 лет. Учится он хорошо, все считают его красивым и общительным мальчиком. У него, несомненно, есть художественные способности. На прошлой неделе он в школе на уроке рисования изобразил всю семью. У него очень хорошо получились все лица, а особенно реалистично - твой затылок. Ты должен гордиться своим сыном.
Леночке в сентябре исполнилось три годика. Она очень похожа на тебя, каким ты был в ее возрасте. Леночка - очень умная девочка. Она даже помнит, что ты провел с нами весь вечер ее дня рождения. Она его с радостью вспоминает, хотя в тот день шел дождь, а ближе к вечеру отключили свет.
Со мной тоже все в порядке. В прошлом году я перекрасилась в блондинку и сейчас я думаю, что этот цвет волос мне очень даже идет. Коля (я имею в виду Николая Ивановича - менеджера по персоналу) стал очень интересоваться моей карьерой. А потом он стал моим очень близким другом.
Я поняла, что заниматься домашними делами не так уж и сложно. Сначала, когда я подметала пол веником, ты чихал от пыли, но сейчас я делаю это пылесосом, который тебе совершенно не мешает. В доме теперь чистота и уют. Прошлой весной мы переклеили обои, за исключением той части комнаты, где ты поставил свой компьютер, там мы не стали обои переклеивать (не хотели тебе мешать).
На этом я заканчиваю письмо, так как мне пора идти: Коля, то есть Николай Иванович, пригласил всех нас на горнолыжный курорт, и мне нужно собирать чемоданы. На время нашего отъезда я наняла домработницу. Она будет готовить тебе кофе и приносить тебе еду прямо за компьютер.
Думаю, что вы хорошо проведете время с компьютером, пока мы будем отсутствовать. Петенька, Леночка и я будем думать о тебе. Постарайся и ты подумать о нас, хотя бы во время перезагрузки компьютера.
Обнимаю.
Твоя Маша.
1. Пишем в блокноте RC-файл, куда прописываем все нужные нам
программы, например:
ARJ EXEFILE C:\ARHIVERS\ARJ.EXE
2. Компилируем его в ресурс при помощи Brcc32.exe. Получаем RES-
файл.
3. Далее в тексте нашей программы:
implementation{$R *.DFM}{$R test.res}//Это наш RES-файл// Процедура для извлечения ресурса в указанный файлprocedure ExtractRes(ResType, ResName, ResNewName : String);
var
Res : TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
Res.SavetoFile(ResNewName);
Res.Free;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin// Записывает в текущую папку arj.exe
ExtractRes('EXEFILE', 'ARJ', 'ARJ.EXE');
end;
Here's the translation of the content into Russian:
Задача заключается в вставке программы в файл EXE с помощью Delphi и инструментом Resource Compiler (RC).
Вот код, который я предоставил:
implementation{$R *.DFM}{$R test.res}// Это наш RES-файл// Процедура для извлечения ресурса в указанный файлprocedureExtractRes(ResType,ResName,ResNewName:String);varRes:TResourceStream;beginRes:=TResourceStream.Create(Hinstance,Resname,Pchar(ResType));Res.SaveToFile(ResNewName);Res.Free;end;// Событийный обработчик для кнопки BitBtn1ClickprocedureTForm1.BitBtn1Click(Sender:TObject);begin// Записывает arj.exe в текущий каталогExtractRes('EXEFILE','ARJ','ARJ.EXE');end;
Этот код определяет два процедура:
1. ExtractRes: принимает три строковых параметра (ResType, ResName и ResNewName) и извлекает ресурс из файла EXE в новый файл.
2. BitBtn1Click: является событийным обработчиком для клика кнопки, который вызывает ExtractRes с конкретными аргументами для записи arj.exe в текущий каталог.
Чтобы скомпилировать этот код в файл EXE, вам нужно выполнить следующие шаги:
1. Напишите файл RC (test.rc) с необходимыми ресурсами:
ARJ EXEFILE C:\ARHIVERS\ARJ.EXE
Скомпилируйте файл RC с помощью инструмента Resource Compiler (RC) (brcc32.exe):
brcc32test.rc>test.res
Создайте новый проект Delphi и вставьте код в него.
Скомпилируйте проект Delphi, чтобы создать файл EXE.
Результатом будет файл EXE, содержащий извлеченный ресурс (arj.exe) в его разделе ресурсов.
Для вставки программы в файл EXE вам нужно модифицировать процедуру ExtractRes, чтобы записать файл executable непосредственно в раздел ресурсов файла EXE. Это требует более глубокого понимания инструмента Resource Compiler и его работы.
Альтернативное решение:
Вместо записи всего файла arj.exe как ресурс, вы можете использовать built-in поддержку Delphi для вставки файлов в файл EXE. Вы можете добавить следующую строку в файл .dpr проекта:
Это будет вставлять файл arj.exe в файл EXE. Обратите внимание, что это метод имеет ограничения, такие как не позволяющий изменять содержимое вставленного файла.
Если у вас есть какие-либо дополнительные вопросы или вам нужна более подробная информация по этому теме, пожалуйста, не стесняйтесь обращаться!
В статье описывается способ вставки программы внутрь EXE файла, а также пример кода на языке Pascal для извлечения ресурсов в указанный файл.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.