FreeLSD Posted August 4, 2016 Report Share Posted August 4, 2016 Будучи тупым одинэсником, как-то всю жизнь работал с интерпретаторами и скриптами. А тут появилась одна потребность, но для этого нужно создавать "настоящий" экзешник, который не требует установки кучи софта для работы. При этом экзешник будет состоять из "постоянной" части и "переменной", содержимое которой будет зависеть от предварительно заданных условий. Создавать он должен автоматически: зашел в систему, выбрал опции, получил в ответ готовую утилиту. Ручное вмешательство ("make" и т.п. :) ) исключено. Работа по схеме "экзешник + файл со сценарием" нежелательна. Алгоритм создания "переменной" части - моя забота. Т.е. что бы я хотел: в некий шаблон дописывается переменная часть и все это оформляется в конечный исполняемый файл, не требующий дополнительных библиотек и приложений для работы. Схема работы может быть такая: пользователь зашел на сайт, понаставил там флажков в настройках, получил готовый файл, запустил и радуется.Это вообще реально в какой-то степени или чистая фантазия? Quote Или что-то случилось, или одно из двух. Link to comment Share on other sites More sharing options...
Пэтро Posted August 4, 2016 Report Share Posted August 4, 2016 Надо больше исходных данных. Что делает программа? Обращается к файлам? Рисует? ) Работает с устройствами? Теоретически простые функции можно сделать на JScript VBScript Quote Подключаем Оптический гигабитный интернет в Симферополе и районе.+79787647406http://lugovoe.su Link to comment Share on other sites More sharing options...
Neinsager Posted August 4, 2016 Report Share Posted August 4, 2016 Схема работы может быть такая: пользователь зашел на сайт, понаставил там флажков в настройках, получил готовый файл, запустил и радуется.Ну если для каждого «флажка» написан соответствующий блок кода, что мешает на стороне сервера собрать из основного массива кода и выбранных блоков готовый бинарник и отослать пользователю? Quote Link to comment Share on other sites More sharing options...
FreeLSD Posted August 4, 2016 Author Report Share Posted August 4, 2016 Мешает огромное количество вариантов :)Прормамма представляет собой сценарное тестирование. Настройки - произвольное количество строк, каждая строка соответствует экземпляру тестируемой программы, настройки - имя пользователя, пароль, место запуска, характер производимых действий, интервал, количество повторений и т.д. и т.п. Этапы работы программы:1. Создание структуры для сбора данных (статический);2. Запуск выбранного количества экземпляров тестируемого приложения;3. Запуск в каждом экземпляре индивидуального сценария, сформированного из настроек (динамический);4. После завершения работы всех сценариев загрузка собранных данных для анализа (статический). Сценарий из настроек сформировать не проблема, проблема в том, что в нем будут совсем произвольные части и объем его составит десятки строк. Перебор готовых вариантов тут никак не поможет. Quote Или что-то случилось, или одно из двух. Link to comment Share on other sites More sharing options...
Pepper Posted August 4, 2016 Report Share Posted August 4, 2016 первоначальный вопрос - реально или нет. Ответ: реально, используя любой удобный серверный язык для генерации скрипта, последующей компиляции, и возврата файла пользователюв последнем посте видно нежелание автора этот код написать, т.к. решение должно само создавать всё что хочется автору )) Quote Link to comment Share on other sites More sharing options...
FreeLSD Posted August 4, 2016 Author Report Share Posted August 4, 2016 Ответ неверный. Решение у меня уже есть, но оно работает в виде обработки 1с. Меня этот вариант вполне устраивает, на мой взгляд, вышло универсальней и, что характерно, дешевле того, что сами 1с предлагают. Следующий этап - довести решение до продакшн варианрта. Изначально я хотел автоматически создавать именно готовую обработку 1с, как стандартное все таки решение, но быстро выяснилось, что 1с этого не умеет, а использование недокументированных возможностей - просто способ получить нерабочее решение после очередного релиза платформы. Поэтому стал думать в сторону экзешника, а не epfника. И вот тут главное препятствие, что я не имею представления о современном состоянии зоопарка серверных языков для автоматической компиляции полученного скрипта. А то бы и спрашивать было не о чем. Формулирую вопрос по-другому:назовите, чем бы вы воспользовались для автоматического получения экзешника из сгенерированного (неважно чем и каким способом) кода. Quote Или что-то случилось, или одно из двух. Link to comment Share on other sites More sharing options...
Pepper Posted August 4, 2016 Report Share Posted August 4, 2016 Формулирую вопрос по-другому:назовите, чем бы вы воспользовались для автоматического получения экзешника из сгенерированного (неважно чем и каким способом) кода.компилятором того языка, код которого был сгенерирован. Не важно чем код сгенерирован, важно что получилось на выходе генераторагрубо говоря берете команду, которая при выполнении из командной строки создает исполняемый файл из Вашего скрипта - и записываете ее в скрипт операционки где крутится веб-сервер - *.bat или *.ps1 для виндовс, что-то другое на выбор для линукс.Этот скрипт операционки дергается веб-сервером, полученный исполняемый файл выдается в http-ответеP.S. нужно таки начинать с типа скрипта, кто его исполняет Quote Link to comment Share on other sites More sharing options...
Пэтро Posted August 4, 2016 Report Share Posted August 4, 2016 1. Создание структуры для сбора данных (статический);2. Запуск выбранного количества экземпляров тестируемого приложения;3. Запуск в каждом экземпляре индивидуального сценария, сформированного из настроек (динамический);4. После завершения работы всех сценариев загрузка собранных данных для анализа (статический).есть пример? или скриншот? Quote Подключаем Оптический гигабитный интернет в Симферополе и районе.+79787647406http://lugovoe.su Link to comment Share on other sites More sharing options...
FreeLSD Posted August 5, 2016 Author Report Share Posted August 5, 2016 Есть рабочая обработка для 1с. Соответственно, код на метаязыке 1С :) Не уверен, что он что-то прояснит сверх того, что уже. Если интересно, выложу.Что касается языка, код которого был сгенерирован., то тут, как говорил выше, две части: 1 часть написана неважно на чем, вот с этим я и хочу определиться. Это просто "обертка", там код будет не сильно сложней "hello world", его задача - создать несколько dbf файлов для сбора данных и запустить другое приложение с параметром командной строки. Quote Или что-то случилось, или одно из двух. Link to comment Share on other sites More sharing options...
FreeLSD Posted August 5, 2016 Author Report Share Posted August 5, 2016 Подумал тут и переформулировал задачу. Надеюсь, упростил :)Итак, полный алгоритм: Программа создает в каталоге временных файлов несколько папок, в каждую папку пишет два файла, один из них одинаковый в любом случае, содержимое второго (как и общее количество) зависит от настроек, заданных пользователем.Программа запускает несколько экземпляров другой программы, передавая им в параметре командной строки созданные ранее каталоги с настройками (то есть это выполнение команды Windows, по сути).После этого продолжает просматривать созданные каталоги, как только в них появится некий флаг завершения работы - информация из всех временных каталогов собирается в один файл, сами каталоги уничтожаются. Я так понимаю, на это вообще любой язык способен. Остаются только требования:- исполняемый файл должен создаваться на стороне веб-сервера;- работать должен под виндой;- не должен в готовом виде требовать для работы установки дополнительных компонентов и приложений, разве что что-нибудь совсем стандартное;- не должен должен даже теоретически вызывать юридических проблем, связанных с использованием соответствующего компилятора и т.п. (т.е. чем свободней, тем лучше). Quote Или что-то случилось, или одно из двух. Link to comment Share on other sites More sharing options...
Пэтро Posted August 5, 2016 Report Share Posted August 5, 2016 Все это можно сделать на HTML Applications или Windows Script Host. Такие же интерпретируемые языки. В Windows работающие нативно. Файлы будут в виде исходного кода соответственно. Не пользовались Driver pack solution ? Он как раз отличный пример. Quote Подключаем Оптический гигабитный интернет в Симферополе и районе.+79787647406http://lugovoe.su Link to comment Share on other sites More sharing options...
AnatoliZ Posted August 5, 2016 Report Share Posted August 5, 2016 Из того что я понял, думаю что вы можете генерировать powershell код на сервере .... затем конвертировать его в ехе и отдавать клиенту.Недостаток: требуются права клиента на выполнение PShell (set-executionpolicy unrestricted), можно удалённо разрешить.Собственно запуск exe тоже требует прав.P.s. И кроме того выучите совсем не бесполезный PowerShell.P.p.s. Собственно это тот же вариант Windows Script Host предложенный Пэтро. "Файлы будут в виде исходного кода соответственно" не обязаткльно, у WSH можно зашифровать файлы. Они будут исполнятся как скрипт, но тело скрипта будет зашифрованно (нечитабельно). С правами таже песня, нужны :) Quote Confederation Link to comment Share on other sites More sharing options...
FreeLSD Posted August 5, 2016 Author Report Share Posted August 5, 2016 Ну права - это понятно. Буду пробовать в этом направлении, спасибо. Quote Или что-то случилось, или одно из двух. Link to comment Share on other sites More sharing options...
BenTen Posted October 27, 2016 Report Share Posted October 27, 2016 Ну права - это понятно. Буду пробовать в этом направлении, спасибо.Интересно, получилось что-то?Как по мне, то такие вещи легко пишутся на любом языке программирования, который ты хорошо знаешь.Я бы, например, спокойно реализовал этот алгоритм на делфи. Кто-то на джаве, сях, шарпе и проч. Quote Link to comment Share on other sites More sharing options...
Инквизитор Posted October 27, 2016 Report Share Posted October 27, 2016 Формулирую вопрос по-другому:назовите, чем бы вы воспользовались для автоматического получения экзешника из сгенерированного (неважно чем и каким способом) кода.HTML+javascript + обертыватель типа html2exe. или собрать из готовых кусков виндовый же скрипт типа bat/cmd и засунуть в bat2exe Quote - Что они хотят? - Ку они хотят… Link to comment Share on other sites More sharing options...
FreeLSD Posted October 27, 2016 Author Report Share Posted October 27, 2016 Тема отложена на неопределенный срок А для внутреннего пользования всё отлично пашет в виде нативной внешней обработки 1С. Была задумка сделать максимально дружелюбную в использовании обработку сценарного нагрузочного тестирования 1Сных баз данных. Поскольку пока вопрос снят, лично мне хватает с лихвой текущего "дружелюбия". Получилось удобней и быстрей в применении, чем предлагаемая 1С за 100500 рублей конфигурация, к тому же не требует вмешательства в текущую конфигурацию, т.е. можно применять на рабочих БД, не опасаясь последствий. А вопрос из темы относился к попытке добиться того, чтобы пользователю вообще никуда "ручками" лезть не надо было - покрутил настройки, нажал кнопку и алга. Вполне реально, но достаточно трудоемко (не только в отношении заданного вопроса), так что "для себя" не вижу смысла тратить время. Quote Или что-то случилось, или одно из двух. Link to comment Share on other sites More sharing options...
BenTen Posted October 27, 2016 Report Share Posted October 27, 2016 пашет в виде нативной внешней обработки 1С.Проясните, пожалуйста, что значит "нативный" в контексте 1С?Обработка может работать в Винде без платформы 1С? так что "для себя" не вижу смысла тратить время.Вот так всегда, на себя нам времени жалко Quote Link to comment Share on other sites More sharing options...
FreeLSD Posted October 27, 2016 Author Report Share Posted October 27, 2016 "Нативный" для платформы, т.е. достаточно одной таблетки внутренних средств 1С для работы - открыл, запустил, зажужжало )Цель и была сделать ее работоспособной без 1с, но на себя нам времени жалко , а больше никому вроде не нужно Просто "для саморазвития" нет времени сейчас ковыряться. Да и потом, если у человека вызывает затруднение действие вида "Файл/Открыть" или нет рабочего аккаунта в системе, то, может, и не нужно ему такие инструменты давать? Quote Или что-то случилось, или одно из двух. Link to comment Share on other sites More sharing options...
CIBAS Posted December 15, 2020 Report Share Posted December 15, 2020 Дабы не открывать новую тему задам вопросик тут.С предыдущими постами вопрос не связан, просто название темы располагает ... Собственно вопрос:На чём сейчас "модно" писать программки под Вин для десктопа?Задачи чисто технические - обмен по COM портам, обмен по TCP/UDP,простенький интерфейс (кнопочки, поля ввода/редактирования) без наворотов. Quote Link to comment Share on other sites More sharing options...
Iverton Posted December 22, 2020 Report Share Posted December 22, 2020 так на чем хотите на том и пишите ) ну из того на чем под десктоп пишут, используйте правильные библиотеки под свои запросы ) например c++, с#, java Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.