On-line: alex_II, гостей 0. Всего: 1 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 2759
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.03.13 12:00. Заголовок: Как "зашить" ini-ник в ЕХЕ-файл ?


Всем привет.

Хочется перенести INI-файл внутрь EXE-ника. И чтобы была возможность отредактировать его.
Какие есть варианты ?


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 16 [только новые]


администратор




Пост N: 2811
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 20.03.13 12:21. Заголовок: В MEMO перенеси..


В MEMO перенеси

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 848
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 20.03.13 13:01. Заголовок: Андрей, тогда точно ..


Андрей, такой exe-шник будет хитом №1 у ВСЕХ антивирусов... :)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 169
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.03.13 13:51. Заголовок: Andrey пишет:Хочется..


Andrey пишет:
 цитата:
Хочется перенести INI-файл внутрь EXE-ника


Скрытый текст



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 171
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.03.13 15:01. Заголовок: SergKis пишет:Скрыты..


SergKis пишет:
 цитата:
Скрытый текст


Не уследил за [ i ] - текст исказился. Повторю часть:
 
pName = (char *) hb_parc(2);
k = hb_parclen(2);
k = (k < 256)? k : 255;

for(i=0;i<k;i++) Name[ i ] = *pName++;

pType = (char *) hb_parc(3);
k = hb_parclen(3);
k = (k < 256)? k : 255;

for(i=0;i<k;i++) Type[ i ] = *pType++;


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2760
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.03.13 15:26. Заголовок: PSP пишет: Андрей, ..


PSP пишет:

 цитата:
Андрей, такой exe-шник будет хитом №1 у ВСЕХ антивирусов... :)


Почему ?

SergKis СПАСИБО БОЛЬШОЕ !
Буду разбираться....


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 849
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 20.03.13 15:30. Заголовок: Andrey пишет: Почем..


Andrey пишет:

 цитата:
Почему ?


Ты же хочешь

Andrey пишет:

 цитата:
чтобы была возможность отредактировать его



Как должен антивирус реагировать на то, что некий exe-файл вдруг изменился? :)


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2761
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.03.13 15:33. Заголовок: PSP пишет: Как долж..


PSP пишет:

 цитата:
Как должен антивирус реагировать на то, что некий exe-файл вдруг изменился? :)


Да нормально... Каспер при изменении ЕХЕ-ника заново его сканирует и потом выдает, что все ок !
А у других тоже так же должно быть...
Вообще то это разовая операция, настроил и забыл....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2762
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.03.13 15:37. Заголовок: SergKis пишет: pvn0..


SergKis пишет:

 цитата:
pvn0.dbf CUSTOM Pvn0.dbf


Смотрю даже dbf-ку в ресурсы затолкали... Классно !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 172
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.03.13 15:40. Заголовок: PSP пишет:такой exe-..


PSP пишет:
 цитата:
такой exe-шник будет хитом №1 у ВСЕХ антивирусов...


Давно использую такую штуку, как хранение первоначальных настроек программы в dll или exe и пока все OK!

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 2774
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 21.03.13 09:55. Заголовок: SergKis пишет: Давн..


SergKis пишет:

 цитата:
Давно использую такую штуку, как хранение первоначальных настроек программы в dll или exe и пока все OK!



Для этого достаточно оператора:

Параметр := if( ЕстьПараметр, ЕгоЗначение, ЗначениеПоУмолчанию )

У меня определяется массив вида:
{ {ИмяПараметра, ЗначениеПоУмолчанию }, ... }
При старте программы я считываю конфигурацию из dbf+fpt, если параметр есть - беру его значение, иначе - значение по уполчанию.
Это и есть первоначальные настройки программы.
При изменении значения параметра записываю его в dbf+fpt

Зачем делать лишний подарок антивирусам в виде самомодифицирующихся exe ? У них и так тяжелая работа.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 179
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.03.13 12:47. Заголовок: Pasha пишет:У меня о..


Pasha пишет:
 цитата:
У меня определяется массив вида:
{ {ИмяПараметра, ЗначениеПоУмолчанию }, ... }
При старте программы я считываю конфигурацию из dbf+fpt, если параметр есть - беру его значение, иначе - значение по уполчанию.
Это и есть первоначальные настройки программы.
При изменении значения параметра записываю его в dbf+fpt
Зачем делать лишний подарок антивирусам в виде самомодифицирующихся exe ? У них и так тяжелая работа.


Можно делать как угодно и так и по другому - как кто считает удобным. Имея любой др.файл к exe надо контролировать соответствие версии их, т.к. сколько угодно раз делают exe один, а файл другой оставляют или наоборот - проблемы телефонные начинаются. Языковые ini выгрузил, потом пользовтели меняют тексты под себя, зашитое в программу не поменяешь, потом dbf - разработанная форма (по департаменту) с формулами, константами, с правилами отбора, таких объектов набирается ..., есть xml-ы с алгоритмами к печатям, для получения др. xml на export - все это удобно относить к той версии exe к которой они разработаны.
Если добавил функцию в prg или png, bmp в ресурсы и собрал new exe - разве от этого получается самомодифицирующихся exe ? На лету никогда exe не модифицировал и не собираюсь.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3287
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 25.03.14 20:08. Заголовок: SergKis пишет: // В..


SergKis пишет:

 цитата:
// В MiniGui есть функция GetInstance(), похоже ее можно использовать вместо BKAPI_GETINST()



А как ?
Почему то эти функции в МиниГуи не собираются.

SergKis пишет:

 цитата:
pvn0.dbf CUSTOM Pvn0.dbf



А почему CUSTOM ?
В BCC советуют использовать RCDATA ... http://www.sources.ru/cpp/faqs/75.htm


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 290
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 25.03.14 22:29. Заголовок: Andrey пишет:А почем..


Andrey пишет:
 цитата:
А почему CUSTOM ?


Исторически сложилось с VO 2.0.
GetInstance() сам не использую, но давно смотрел по тексту - было как bkApi_GetInst().

 цитата:
Почему то эти функции в МиниГуи не собираются


добавил их в пример IconAssociatedFile demo4.prg бросил hbwapi.h из Harbour\contrib\hbwin к demo4.prg ... все собралось.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3289
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 25.03.14 23:15. Заголовок: SergKis пишет: брос..


SergKis пишет:

 цитата:
бросил hbwapi.h из Harbour\contrib\hbwin


Да теперь у меня тоже собралось.
Но не работает ?
Вот отдельный пример - http://files.mail.ru/5259FFDF1F054CB9AAB7E128538EB097

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 291
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 26.03.14 00:14. Заголовок: Andrey пишет:В BCC с..


Andrey пишет:
 цитата:
В BCC советуют использовать RCDATA ...


для хранения exe в ресурсах, наверно, надо использовать RCDATA, а не CUSTOM. Сам такое не использую.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3290
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.03.14 01:30. Заголовок: SergKis пишет: для ..


SergKis пишет:

 цитата:
для хранения exe в ресурсах, наверно, надо использовать RCDATA, а не CUSTOM.



Сделал пример, заработало - http://files.mail.ru/B87770D830CC41B68F1523B400924877
Для ехе тоже можно использовать CUSTOM.

Но вот прикол, BCC 5.5.1 НЕ МОЖЕТ ИСПОЛЬЗОВАТЬ фаил .RES если он больше 1Мб (или чуть меньше), т.е. суммарный объем ресурсов не должен превышать этот размер.
НЕ ЛИНКУЕТСЯ ресурсный файл, выдает ошибку:
Turbo Incremental Link 5.66 Copyright (c) 1997-2002 Borland
Fatal: Access violation. Link terminated.
hbmk2[demo]: Error: Running linker. 2



Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 26
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет