|
Вопрос # 4 344/ вопрос открыт / |
|
Здравствуйте! Подскажите как можно реализовать хранение и изменение данных (например, расположение и размер окна) в самом exe-файле?
 |
Вопрос задал: Чарик (статус: Посетитель)
Вопрос отправлен: 20 июня 2010, 01:14
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 6; последнее сообщение — 21 июня 2010, 00:32; участников в обсуждении: 4.
|
SOA (статус: Посетитель), 20 июня 2010, 06:31 [#1]:
Ищи информацию по теме работа с ресурсами.
На мой взгляд неплохая книга Ревич Нестандартные приемы программирования в Delphi.
|
|
Maksell (статус: Посетитель), 20 июня 2010, 09:21 [#2]:
в откомпелированном файле вообще изменять инфу лучше не стоет - может привести к нежелательным последствиям...
для реализации хранения изменеий существуют файлы конфигурации и\или реестр. если есть такая необходимость, как настраивать параметры формы и т.п., пользуйся ими!!!
для хранения изменений в конфигах - есть класс TINIFILE, для реестра - TREGISTRY. они очень похожи в использовании и являются стандартными средствами пользования в среде DELPHI
var ini_File: TIniFile;
... для чтения настроек:
ini_File := TIniFile.Create('.\file_Name.Conf_Ext');
with ini_File do begin
Width := ReadInteger('Настройки формы', 'width', width);
Heigth := ReadInteger('Настройки формы', 'height', height);
Top := ReadInteger('Настройки формы', 'top', top);
Left := ReadInteger('Настройки формы', 'left', left);
free; // незабываем освободить память, после завершения работы с ресурсом
end;
... для записи настроек:
ini_File := TIniFile.Create('.\file_Name.Conf_Ext');
with ini_File do begin
WriteInteger('Настройки формы', 'width', width);
WriteInteger('Настройки формы', 'height', height);
WriteInteger('Настройки формы', 'top', top);
WriteInteger('Настройки формы', 'left', left);
free; // незабываем освободить память, после завершения работы с ресурсом
end;
Ищи и F1 тебе в помощь
Si numqum quaeris, raro magister eris!
|
|
Чарик (статус: Посетитель), 20 июня 2010, 18:16 [#3]:
SOA: Книгу нашел, буду читать.
Maksell: Хочется чтобы был только exe-шник...
|
|
Вадим К (статус: Академик), 20 июня 2010, 23:14 [#5]:
Программа может редактировать саму себя, но это изврещение. Дело в том, что на момент выполнения exe файл стает доступным только для чтения. Поэтому нужно скопировать файл, изменить, а потом подменить.
НО! В новомодных виндах (виста и старше) вполне может так случиться, что файл будет недоступным для записи. И тогда ничего не поможет.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Maksell (статус: Посетитель), 21 июня 2010, 00:32 [#6]:
Чарик:
>>Хочется чтобы был только exe-шник...
исполняемый файл, в данном варианте - ехе-шник, в момент выполнения становится недоступным для редактирования
Опяь же, в случае когда у пользователя нет админовских прав, к папке с программой т.ж. могут олтсутствовать права достуав.
Si numqum quaeris, raro magister eris!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|