Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.07.15;
Скачать: [xml.tar.bz2];

Вниз

Сохранение настроек программы в её исполняемом файле.   Найти похожие ветки 

 
AlexanderMS ©   (2007-06-19 19:21) [0]

Хотелось бы осуществить сохранение настроек программы в её exe-файле. Как можно и как лучше: через сохранение данных в ресурсы либо непосредственной записью в exe-файл без использования ресурсов? Посоветуйте, пожалуйста. Просто я не нашёл примера записи ресурса в файл (искал плохо, быть может: везде - чтение уже присоединённого). Во втором случае я нашёл пример, где настройки пишутся в конец исполняемого файла. Это правильно? Ошибок не будет? Объясните, пожалуйста, как правильно сделать.


 
Kolan ©   (2007-06-19 19:24) [1]

По сабжу поиши по форуму, с месяу назад было.

По нормальному — ненадо так делать, используй отдельный файл(.ini, .xml)&#133


 
TUser ©   (2007-06-19 19:30) [2]

В ресурсы. См. UpdateResource. Запускаешь из себя вспомогатльную прорграмму, которая ждет завершения твоей проги и обновляет ресуры основного экзешника.


 
Anatoly Podgoretsky ©   (2007-06-19 19:55) [3]

> AlexanderMS  (19.06.2007 19:21:00)  [0]

Из другой программы.


 
oxffff ©   (2007-06-19 20:39) [4]


> Объясните, пожалуйста, как правильно сделать.


Производишь разбор PE файла.
Добавляешь секцию необходимого размера, и производишь запись в нее.


 
oxffff ©   (2007-06-19 20:48) [5]

Либо дописываешь в существующую секцию согласно FileAlignment из  IMAGE_OPTIONAL_HEADER, если конечно хватит.


 
Desdechado ©   (2007-06-19 21:32) [6]

> сохранение настроек программы в её exe-файле
Дурь, имхо.
Из папок без возможности записи не запустится (тем паче с CD), да и антивирусы визжать будут.


 
Rial ©   (2007-06-20 00:49) [7]

А еще можно вот так сделать:

Type
    TOptions = record //тут все настройки
     ...
    end;

    TMyRec = record
     Flag    : Array[0 .. $10 - 1] of Byte;
     Options : TOptions;
    end;

Const
     MyRec : TMyRec =
     (Flag : (...); - рандомный набор байт
      Options : (..) - настройки
      );

Теперь в программе можно просто читать настройки из константы.
А при закрытии запускать еще один процесс, который будет
находить уникальную последовательность байт, а сразу за ней
перезаписывать данные в нашу константу.

П.С. но не стоит этим увлекаться, не всегда тут все так просто. %)


 
Плохиш ©   (2007-06-20 01:27) [8]

Да не переведутся любители изобретать велосипеды с квадратными колёсами. Аминь...


 
Германн ©   (2007-06-20 01:35) [9]


> Плохиш ©   (20.06.07 01:27) [8]
>
> Да не переведутся любители изобретать велосипеды с квадратными
> колёсами. Аминь...
>

Переведутся. Виста (не к ночи будь упомянуто это ненавистное для меня имя!) их всех вырвет с корнем :)


 
Rial ©   (2007-06-20 01:59) [10]

> [8] Плохиш ©   (20.06.07 01:27)
> Да не переведутся любители изобретать велосипеды с квадратными
> колёсами. Аминь...

А еще можно сохранять настройки в заголовке mp3 файла
или в загрузочном секторе диска...


 
Джо ©   (2007-06-20 05:59) [11]

2 AlexanderMS ©
Ну, вот, пожалуйста, объясните, зачем это нужно?


 
Riply ©   (2007-06-20 06:26) [12]

> [11] Джо ©   (20.06.07 05:59)
А самому не догадаться ? :)
По моему все очевидно. :)


 
TUser ©   (2007-06-20 07:39) [13]

Я видел программу, которая настройки сохраняла стеганографически в картинке на раб. столе. Выяснилось эот применением бубна при устранении глюка, возникшего после смены обоев.


 
Dimaxx ©   (2007-06-20 10:10) [14]

offtop:


> $10 - 1

Никогда не понимал людей пишущих такой изврат... Тяжело написать 15? :)


 
Rial ©   (2007-06-20 10:27) [15]

> [14] Dimaxx ©   (20.06.07 10:10)
> > $10 - 1
> Никогда не понимал людей пишущих такой изврат... Тяжело
> написать 15? :)

В конечном счете код все равно будет сгенерирован идентичный,
но только $10 - 1 сразу намекает на размер массива.
И проще модифицировать в случае, если вместо числа
там будет константа.
Да и вид шестнадцатеричный как- то привычнее.

П.С. видимо, утро не задалось ? :)


 
Dimaxx ©   (2007-06-20 14:35) [16]


> но только $10 - 1 сразу намекает на размер массива

Ыы, вот как раз 0..15 сразу намекает на размер массива, а $10-1 как-то не особо.


 
Сергей М. ©   (2007-06-20 14:53) [17]


> AlexanderMS ©   (19.06.07 19:21)


В ресурсы гораздо проще.
Впрочем, хоть даже и не в ресурсы, но метода "грязного хака" не миновать.
Ну а "грязный хак" есть "грязный хак" - этим все сказано.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.07.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.052 c
2-1181021026
Цукор5
2007-06-05 09:23
2007.07.15
запрос с датой и временем


3-1173792940
Ega23
2007-03-13 16:35
2007.07.15
Сортировка ADODataSet


2-1182284105
nord489
2007-06-20 00:15
2007.07.15
Работа с Zip


15-1181669771
Ivannn
2007-06-12 21:36
2007.07.15
DDE


2-1182462324
wesel
2007-06-22 01:45
2007.07.15
Востановить файлы проэкта





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский