| 
| 
 | Вопрос # 3 507/ вопрос открыт / | 
 |  Здравствуйте!подскажите пожалуйста как зделать чтобы моя программа сделаная в дельфи сама компелировала ехе файлы.например "конструктор програм для авторунов сд-двд дисков"
 К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса) 
|  |   Вопрос задал: cock (статус: Посетитель)Вопрос отправлен: 9 декабря 2009, 13:51
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, cock!Никто не делает обычно такие программы самокомпилируемыми. Есть два подхода.
 - использовать скриптовый язык. Например в JVCL библиотеке есть пара компонентов, которые позволяют писать дефлиподбоный код, и даже использовать формы.
 - используется файл с данными, которые интерпретируются потом.
 
 Но у обоих этих методов есть как бы "недостаток" - кроме исполнимого файла есть ещё один-два.
 Но на самом деле это не проблема. Например, можно использовать winrar, который может сделать самораспаковывающийся архив и запустить вашу программу. и рядом распакует все дополнительные файлы.
 Второй вариант - файл с конфигурацией приклеивается в конец исполнимого файла или прямо помещается в ресурсы. Для этого компилятор не надо. а извлечь назад просто. Склеить два файла можно как програмно, так и с консоли, где то так
 
 copy project.exe+data.bin newproject.exe
 
 В процессе работы приложение может открыть свой же исполнимый файл на чтение и вычитать с конца файла данные. Самая сложная задача - это решить сколько надо вычитывать. я бы сделал так. в начало файла data.bin поместил бы последовательность байт, которая будет всегда одинаковой (как бы контрольная, что это начало) - сигнатура называется.
 А в самый конец файла записал бы размер данных.
 При чтении мы просто читаем последние 4 байта и узнаем размер данных. потом проверяемся. И ко всему, данные потом не нужно сохранять на диск отдельно. можно читать даже функциями reset/read
 
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 9 декабря 2009, 14:43
 
 |  
 Мини-форум вопросаВсего сообщений: 4; последнее сообщение — 9 декабря 2009, 14:36; участников в обсуждении: 2. 
|   | min@y™ (статус: Доктор наук), 9 декабря 2009, 14:19 [#1]: Цитата (cock): чтобы моя программа сделаная в дельфи сама компелировала ехе файлы 
 Ну, если в такой формулировке, то можно прикрутить к программе внешний компилятор от Delphi dcc32.exe.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | cock (статус: Посетитель), 9 декабря 2009, 14:24 [#2]:а по подробней можно как это делаеться и где это взять. |  
|   | cock (статус: Посетитель), 9 декабря 2009, 14:25 [#3]:если можно то покажите пример |  
|   | min@y™ (статус: Доктор наук), 9 декабря 2009, 14:36 [#4]: Цитата (cock): где это взять Внешний компилятор находится в папке с Delphi. У меня, например, тут: d:\Soft\Delphi7\Bin\DCC32.EXE
 
 Цитата (cock): если можно то покажите пример  Пример не можно, ибо никогда такими делами я не занимался, но почитать хэлп от этого компилятора советую.
 
 Ты давай лучше расскажи, какую вешь тебе сотворить нужно, а то опять попахивает сагой про X-Y-Z.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |