Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.9.168] |
|
Сообщ.
#1
,
|
|
|
Доброго дня!
Столкнулся с такой задачкой, не при выполнении обязанностей, а для общего развития, так сказать Итак: Интроспективная программа, это программа, которая печатает при выполнении свой собственный код. Напрямую считывать код исходного текста программы и выводить его нельзя. Код должен генерироваться самой программой. Нужно написать такой код на 1С 8. Выводимый код должен полностью совпадать с исходным кодом самой программы. Для проверки сгенерированный код будет использован в качестве программного кода решения. Задача зацепила. Думаю заняться в свободное время. Ну и сюда кинул, вдруг кто тоже заинтересуется |
Сообщ.
#2
,
|
|
|
Цитата Rust @ Выводимый код должен полностью совпадать с исходным кодом самой программы. Скомпилированный код нельзя обратно преобразовать до "полностью совпадать". |
Сообщ.
#3
,
|
|
|
Цитата ^D^ima @ Скомпилированный код нельзя обратно преобразовать до "полностью совпадать". не нужно преобразовывать используй сообщить() и выполнить() |
Сообщ.
#4
,
|
|
|
Цитата Rust @ Напрямую считывать код исходного текста программы и выводить его нельзя. Хм. Допустим можно. И как это сделать? Если знаешь, поделись как. |
Сообщ.
#5
,
|
|
|
нашел в интернетах:
Стр="Сообщить(""Стр=""+Символ(34)+Стр+Символ(34)+"";Выполнить(Стр);"")";Выполнить(Стр); |
Сообщ.
#6
,
|
|
|
Цитата niknet @ Хм. Допустим можно. И как это сделать? Если знаешь, поделись как. Если коротко - пакетным запуском конфигуратора выгружаем конфигурацию в файлы, а потом из текстового файла получаем код нужного модуля. Добавлено Цитата ^D^ima @ нашел в интернетах: Да, есть еще вариант, но смысл тот же. |
Сообщ.
#7
,
|
|
|
Цитата Rust @ выгружаем конфигурацию в файлы, а потом из текстового файла получаем код нужного модуля Неуж. так просто. Я аж полез в конфигуратор посмотреть, мож. я от жизни отстал. Да нет, из конфигуратора выгружаем только в *.cf. А это бинарный файл. Я читал бинарные файлы (давно это было) и это были файлы *.dbf и на языке СИ. Нужно знать структуру файла, чтобы прочитать. |
Сообщ.
#8
,
|
|
|
Цитата niknet @ Неуж. так просто. Я аж полез в конфигуратор посмотреть, мож. я от жизни отстал. Да нет, из конфигуратора выгружаем только в *.cf. А это бинарный файл Отстал. В конфигураторе меню Конфигурация - Выгрузить конфигурацию в файлы, указываешь каталог и конфигурация выгружается в набор файлов, формы в xml, модули в bsl. Все читается и редактируется обычным Блокнотом. У меня сейчас платформа 8.3.10.2561. А возможность такая появилась, если не ошибаюсь, в каком-то древнем релизе платформы 8.2. Цитата niknet @ Я читал бинарные файлы (давно это было) и это были файлы *.dbf и на языке СИ. Нужно знать структуру файла, чтобы прочитать. Это было раньше. Сейчас все можно сделать средствами 1С. |
Сообщ.
#9
,
|
|
|
Цитата Rust @ В конфигураторе меню Конфигурация - Выгрузить конфигурацию в файлы, указываешь каталог и конфигурация выгружается в набор файлов, формы в xml, модули в bsl. Такой набор файлов я в гит складываю. Очень удобно. |