| 
| 
 | Вопрос # 1 712/ вопрос открыт / | 
 |  Здравствуйте!Появился такой вопрос:
 Есть программа состоящая из мини подпрограмм, и есть функция добавления новых, но хотелось бы сделать чтобы в окне добавления новой программы можно было в Memo ввести необходимый програмный код для работы "Оболочки" с новой подпрограммой(различные функции например, нада проверить ее в неком списке и т.д). Суть проблемы чтобы после нажатия кнопки "Ок" введенный в мемо текст сохранялся в определенном месте в UNIT'е основной программы и был  доступен после ее закрытия. (Прошу так же разобрать возможность работы с .ехе файлом скомпилированой программы).
 
|  |   Вопрос задал: TeM (статус: Посетитель)Вопрос отправлен: 21 июня 2008, 13:31
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 21; последнее сообщение — 26 июня 2008, 23:35; участников в обсуждении: 4. Страницы: [1] [2] [Следующая »]  
|   | Вадим К (статус: Академик), 21 июня 2008, 17:02 [#1]:А можно попроще сформулировать? общая идею вроде прослеживается, но никак не могу связать воедино. Вы что, хотите на лету самомодифицировать программу? Галочка "подтверждения прочтения" - вселенское зло. |  
|   | TeM (статус: Посетитель), 22 июня 2008, 14:09 [#2]:Есть программа которая вызывает из списка другие программы(т.е это окно приветствия , а за ним окно выбора программ ). Так вот в окне выбора программ есть функция "добавить новое приложение в список выбора", после добавления в окне выбора появляется новая строка после нажатия на котору открывается добавленное приложение. -эт все есть и работает, но у "встроенных" програм есть некие функции связи с окном приветствия и выбора программ(впринципе это разные программы поэтому они обмениваются информацией через ини файл), а у новых добавляемых программ нет такой возможности, поэтому я хотел бы дать возможность дописать в обработчик события "OnClick" некого обьекта, необходимый ,для корректной работы нового приложения, часть кода.  Т.е. он должен вносится в мемо и сохранятся в unite окна выбора приложений, на будущее. |  
|   | Вадим К (статус: Академик), 23 июня 2008, 09:16 [#3]:Половину ответа я понял. До тех пор, пока это относилось к старым программам. А вот отностительно новой функциональности, начиная со слов "возможность дописать в обработчик события "OnClick" некого обьекта" какой то не связанный между собой текст Галочка "подтверждения прочтения" - вселенское зло. |  
|   | TeM (статус: Посетитель), 23 июня 2008, 13:42 [#4]:хм. Допустим есть программа которая проверяет ини файл на наличие некого значения(к примеру а=1, если а=1 то приложение запустится, если нет -то закроется). мы добавляем эту программу в список окна выбора программ(т.е это новая пограмма) и мне нада чтобы пользователь ,который производит добавление новой программы, мог в мемо дописать код чтобы при клике на название программы помимо ее открытия он еще дописывал в ини файл значению "а",единицу(а=1). 
 Вся суть проблеммы - я не знаю как вносить изменения в Unitы чтобы они сохронялсь после закрытия программы.
 |  
|   | Dron (статус: Студент), 23 июня 2008, 14:50 [#5]:Какая-то очень навороченная у вас задачка. Мне кажется, нужно пересмотреть весь этот механизм и придумать что-то проще. Если вы хотите изменять код программы, то нужно взять с собой её исходники, Delphi-компилятор (dcc.exe) и все сторонние юниты, которые в ней используются (например, сторонние компоненты). Дальше нужно запустить компилятор, натравив его на эти исходники. Тогда программа перекомпилируется и вы получите обновлённый экзешник. С юнитами в этом случае можно работать как с обычными текстовыми файлами, но, естественно, в коде не должно быть ошибок.
 А теперь подумайте - нужно ли вам всё это? Наверняка можно найти альтернативный вариант.
 С уважением. |  
|   | TeM (статус: Посетитель), 24 июня 2008, 13:32 [#6]:в таком случае переформулирую задачу, ибо вопрос мне кажется интересным уже долгое время - -как сделать так чтобы отдельную часть текста из (скажем ини) файла программа считала своим и проводила алгоритмы с его участием.
 |  
|   | Dron (статус: Студент), 24 июня 2008, 13:37 [#7]:Не уверен на 100%, но по-моему в Delphi это невозможно. Такое можно сделать в скриптовых языках программирования (PHP, JavaScript и т.п.) С уважением. |  
|   | Мережников Андрей (статус: Абитуриент), 24 июня 2008, 16:38 [#8]:Не только в скриптовых, но и, например, в FoxPro можно это сделать. |  
|   | Мережников Андрей (статус: Абитуриент), 24 июня 2008, 16:47 [#9]:<<мне нада чтобы пользователь ,который производит добавление новой программы, мог в мемо дописать код чтобы при клике на название программы помимо ее открытия он еще дописывал в ини файл значению "а",единицу(а=1).>> А не проще, сразу при добавлении новой программы дописывать в ini соответствующую строчку?
 |  
|   | TeM (статус: Посетитель), 24 июня 2008, 17:02 [#10]:то не то, если например его программа реагирует не на "а" как все мои а на "Б" (все условно и для примера) |  
|   | Мережников Андрей (статус: Абитуриент), 24 июня 2008, 18:29 [#11]:т.е. строчка в ini добавляется не для обработки программой-оболочкой, а программой, которая из нее запускается? |  
|   | TeM (статус: Посетитель), 24 июня 2008, 18:39 [#12]:строчка в ini связывает программу в которую добавляется и саму добавляемую программу. у меня(вс е так же пример) при открытии программы строка в ини присваивает "а" значение 1(а=1), но возможно что будут добавлять другую программу которой (пример очень груб покрайней мере) для открытия нада присвоить "В" единичу(в=1) и нада прописать чтобы при открытии добавленной программы окно выбора дописывало в ини в=1. где то так. з.Ы учитывая что я не знаю какиме параметры могут понадобится в новых программах я хотел чтобы при добавлении можно было вписать часть кода необходимого для корректной работы добавляемой программы.
 |  
|   | TeM (статус: Посетитель), 25 июня 2008, 12:27 [#13]:Т.е нету команды конвертации(типа stringtostr) из string в формат командной строки? |  
|   | Мережников Андрей (статус: Абитуриент), 25 июня 2008, 17:33 [#14]:такой команды нет. Перевод строк в команды выполняется на этапе компиляции программы. Только трансляторы и скриптовые языки позволяют легко модифицировать программы на этапе выполнения |  
|   | Dron (статус: Студент), 25 июня 2008, 18:20 [#15]:Отсюда выход один: если без модификаций никак не обойтись, пишите свой транслятор с ограниченным набором команд. С уважением. |  
|   | Вадим К (статус: Академик), 25 июня 2008, 20:56 [#16]:В библиотеке JVCL  есть транслятор для языка паскаль. Достаточно гибкий и расширяемый. И что важно - вполне хорошо работающий. Понимает обычный синтаксис делфи. к TeM :
 Что понимается под "формат командной строки"?
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Мережников Андрей (статус: Абитуриент), 25 июня 2008, 22:15 [#17]:to Вадим К: где можно скачать JVCL и бесплатная ли это библиотека? |  
|   | Вадим К (статус: Академик), 25 июня 2008, 23:44 [#18]:а набрать в гугле? и уже в первой строке увидели ссылку на оффсайт. http://homepages.codegear.com/jedi/jvcl/. Естественно, всё бесплатно, только при скачке дистрибутива на вредничайте и качайте полный вариант (потом всё равно прийдётся "докачивать остатки" - выйдет гораздо больше). Файл имеет имя JVCL332CompleteJCL1100-Build2646.7z. Внутри есть инсталлятор, который всё установит и настроит. Правда их на самом деле там два - один это JCL (библиотека классов и хедеров) и собственно сам JVCL
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Мережников Андрей (статус: Абитуриент), 26 июня 2008, 05:44 [#19]:Спасибо, кстати, там есть более свежая версия |  
|   | TeM (статус: Посетитель), 26 июня 2008, 14:48 [#20]:Я имл ввиду чтобы программа читала sring строки(mb srings) как часть свого кода. |  Страницы: [1] [2] [Следующая »]  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |