|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
Возможно ли както из программы выгружать заранее загруженный в нее файл. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 08:33 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
Вернее выгружать то понятно как integer li_FileNum blob blob1 li_FileNum = FileOpen("C:\1.xls", StreamMode!, Write!, Shared!, Replace!) FileWrite(li_FileNum, blob1) вот только как загрузить файл в blob1, не во время выполнения, а изначально, тоесть чтоб файл был внутри программы. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 09:18 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
DDD06Вернее выгружать то понятно как integer li_FileNum blob blob1 li_FileNum = FileOpen("C:\1.xls", StreamMode!, Write!, Shared!, Replace!) FileWrite(li_FileNum, blob1) вот только как загрузить файл в blob1, не во время выполнения, а изначально, тоесть чтоб файл был внутри программы. Какого размера файл? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 10:15 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
Файл 27КБ ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 10:23 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
DDD06Файл 27КБ В принципе, это не важно, просто хотел воспользоваться реестром, но функция, реализованая в PB напрямую для этого не подходит... Делать надо как-то так Код: plaintext
Весь фокус в том, что значение gf_getmyblob() будет посчитано на момент компиляции... Можно сделать и более экзотическими способами... Например прикреплять предварительно подготовленную bmp в которой в растре содержится нужный файл, или ресурс в виде двоичного файла к программе подсоединять и извлекать его, но в этом случае просто сборкой из PB нельзя будет ограничиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 10:32 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
А можно более подробно... Что должно быть в gf_getmyblob() И куда совать bmp ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 10:43 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
DDD06А можно более подробно... Что должно быть в gf_getmyblob() И куда совать bmp gf_getmyblob должен возвращать blob содержащий нужный файл. BMP засунуть в PBR файл, тогда он подлинкуется к проекту. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 11:50 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
Локшин Марк gf_getmyblob должен возвращать blob содержащий нужный файл. так я собственно и спрашивал как это сделать. BMP засунуть в PBR файл, тогда он подлинкуется к проекту и это как сделать я тоже не знаю, я конечно могу поизучать. Но если не сложно напишите пожалуйста как это сделать. И какой вариант лучше? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 12:14 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
DDD06Локшин Марк gf_getmyblob должен возвращать blob содержащий нужный файл. так я собственно и спрашивал как это сделать. Написать функцию, которая читает нужный файл в блоб и возвращает его. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 12:38 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
Локшин Марк Написать функцию, которая читает нужный файл в блоб и возвращает его. Так в том и проблема что мне нужен файл внутри ехе, а не снаружи. Так я бы просто воспользовался бы FileCopy ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 13:34 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
Локшин МаркДелать надо как-то так Код: plaintext
Весь фокус в том, что значение gf_getmyblob() будет посчитано на момент компиляции... К сожалению для блобов этот способ не годится, т.к. блобы не поддерживают инициализацию переменной при объявлении. Да и вообще я сомневаюсь что в инициализации можно вызывать юзерские ф-и. Мне кажется можно только встроенные. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 14:00 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
Локшин Марк Весь фокус в том, что значение gf_getmyblob() Дошло до меня, но когда я так пишу Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 14:11 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
А можно както это провернуть через объект picture на форме? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 14:27 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
Anatoly MoskovskyЛокшин МаркДелать надо как-то так Код: plaintext
Весь фокус в том, что значение gf_getmyblob() будет посчитано на момент компиляции... К сожалению для блобов этот способ не годится, т.к. блобы не поддерживают инициализацию переменной при объявлении. Да и вообще я сомневаюсь что в инициализации можно вызывать юзерские ф-и. Мне кажется можно только встроенные. С утра проверял - вроде нормально компилировалось. Сейчас билдер падает... Ну а если не поддерживается инициализация blob'ов и с пользовательскими функциями проблема, то уж точно можно вернуть строку, в которой содержится искомый файл, правда предварительно его придется подготовить, если там содержатся символы с кодом 0, а потом при записи изменить обратно. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 14:27 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
Прочитав например содержимое файла при помощи функции ProfileString (но тут тоже есть проблема, т.к. не возвращается содержимое файла длинной более 4 кб). Нужно будет объявлять несколько переменных и потом их склеивать... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 14:32 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
DDD06А можно както это провернуть через объект picture на форме? Через объект picture провернуть можно, только нужно будет получить изображение в массив при помощи вызова нескольких функций Windows API и предварительно его подготовить в виде картинки. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 14:41 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
Можно еще перевести бинарник в base64 потом разбить на строки по макс. размеру строкового столбца в DW и сформировать синтаксис DW с этими встроенными данными. Это DW можно импортировать при сборке, а в рантайм инстанцировать, слить все строки и обратно перекодировать. Вариаций много. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 14:48 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
Через ProfileString - не понял как. Через объект picture - мне бы эти самые Windows API функции, а еще лучше пример. бинарник в base64 - както мудренно, но наверно самое для меня выполнимое, но опять таки пример бы функции для конвертации ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 16:36 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
DDD06Через ProfileString - не понял как. Поставить вместо getmyblob() - будет работать и не будет падать. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 17:04 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
DDD06 бинарник в base64 - както мудренно, но наверно самое для меня выполнимое, но опять таки пример бы функции для конвертации какая часть непонятна? 1) перевод в/из base64 2) формирование синтаксиса DW с данными ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 17:44 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
DDD06Возможно ли както из программы выгружать заранее загруженный в нее файл. Попробуйте как-то так: - создайте в программе строковую переменную с максимальной длинной и заранее известным значением, например "000...0"; - после компиляции, используя HEX-редактор найдите в ехе-файле эту последовательность, запомните адрес и замените её на "нужную" информацию; - в программе должна быть пользовательская функция, которая сможет прочитать часть файла начиная с указанного адреса. На выходе этой функции необходимый Вам Blob. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 19:50 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
AIS Попробуйте как-то так: - создайте в программе строковую переменную с максимальной длинной и заранее известным значением, например "000...0"; - после компиляции, используя HEX-редактор найдите в ехе-файле эту последовательность, запомните адрес и замените её на "нужную" информацию; - в программе должна быть пользовательская функция, которая сможет прочитать часть файла начиная с указанного адреса. На выходе этой функции необходимый Вам Blob. Этому может помешать следующее: В PBL/PBD данные хранятся в связанном списке блоками по 512 байт, в каждом из которых есть заголовок. Поэтому шаблонная строковая константа не будет непрерывной в PBD. Хотя конечно зная формат PBL можно обойти это. Но в этом случае проще просто воспользоваться библиотекой как архивом и хранить файл прямо в иcходном виде в PBD (указав его в файле ресурсов). ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 20:04 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
Anatoly Moskovsky , вообще-то я ориентировался на "ехе-файл" (как в теме), но Ваш вариант с "PBL/PBD" - интересней. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 20:11 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
DDD06Возможно ли как то из программы выгружать заранее загруженный в нее файл. А зачем? :-))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2010, 20:12 |
|
Вставить файл внутрь exe
|
|||
---|---|---|---|
#18+
ФилиппА зачем? :-))))) Ждал этот вопрос. У меня возникают проблемы с копированием файла через FileCopy. Запускаю от себя - все нормально. Запускаю от пользователя файл не копируется. Копирую от пользователя вручную, через explorer - копируется. Кроме того хотелось бы иметь такой прием взапасе. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2010, 08:19 |
|
|
start [/forum/topic.php?fid=15&msg=36701103&tid=1335914]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 305ms |
total: | 566ms |
0 / 0 |