Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2010, 14:31   #1
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию Прикрепить к чужом ЕХЕ строку (или ресурс), а потом прочитать её

Возможно ли это?
TwiX вне форума Ответить с цитированием
Старый 03.06.2010, 14:32   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

в конце пиши

стоп, а прочитать потом той же программой что и записала, или же должен прочесть тот самый exe?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.06.2010, 14:42   #3
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Той же прогой. А в конец как писать? Через StringList пойдёт?
TwiX вне форума Ответить с цитированием
Старый 03.06.2010, 14:44   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

TStream(точнее TFileStream)
сначало делаем seek(0,soFromEnd)
потом пишем, главное помнить размер своих данных(их смещение от конца файла)
это можно вычислить и записать как последние 4 байта.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.06.2010, 14:52   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Той же прогой
Той же не выйдет...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.06.2010, 15:20   #6
bitSoft
Programming...
Форумчанин
 
Аватар для bitSoft
 
Регистрация: 13.03.2010
Сообщений: 198
По умолчанию

Код:
Добавление данных в EXE файл и их получение
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; 

procedure TForm1.SaveClick(Sender: TObject); 
var 
 aStream: TMemoryStream; 
begin
 aStream := TMemoryStream.Create; 
 Memo1.Lines.SaveToStream(aStream); 
 AttachToFile('Test.exe', aStream); 
 aStream.Free; 
end; 

procedure TForm1.LoadClick(Sender: TObject); 
var 
 aStream: TMemoryStream; 
begin 
 aStream := TMemoryStream.Create; 
 LoadFromFile('Test.exe', aStream); 
 Memo1.Lines.LoadFromStream(aStream); 
 aStream.Free; 
end;

Отуда...
Код:
With TProgrammersForum.Create do  AddNewTopic('Title','Content...');
bitSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как записать структуру в файл? и прочитать потом. katushka-1990 Общие вопросы C/C++ 2 23.03.2010 10:07
прикрепить ресурс(.qrs) cppta Общие вопросы C/C++ 11 18.10.2009 18:35
Пожалуйста помогите прикрепить ресурс файл(qrc) к программе в Qt Suren Общие вопросы C/C++ 0 07.10.2009 10:48
Удвоить каждый символ строки, потом перевернуть строку Didi Помощь студентам 6 20.05.2008 15:33
как в Си прочитать ЕХЕ файл в HEX виде ?? Юрий_BASE Общие вопросы C/C++ 1 18.04.2008 22:54