LINUX.ORG.RU
ФорумJob

Написать программу под wine.

 


0

1

Update: вакансия закрыта. задача решена.

Есть неспешная потребность соорудить описанную ниже конструкцию.
Работать будет на Линуксе под wine.

Есть проприетарная промышленная программа (ППП) (расчет импеданса PCB) под виндовс. Она работает под wine.

Кроме своего GUI, есть .ocx через который в Excel импортируются вычислительные функции.

Собственно хочется избавиться от виндовс (здесь есть рабочий wine) и от Excel и в результате получить консольную программу с одной стороны предоставляющую функции расчета импеданса, а с другой сетевой доступ к этим функциям для клиентов.

Так как с ППП идет .xls файл с vba прослойкой, думаю что для быстрого написания следует исп. VB, но впрочем это на ваше усмотрение, главное чтобы все работало на Линуксе и требовало минимум установки под wine.

★★★★★

Последнее исправление: sdio (всего исправлений: 1)

нет проблем, оплата time & materials (по индусско-украинскому фрилансовому рейту + налоги Российской Федерации), никаких оценок трудоёмкости дать не могу, сделаю как сделается (или сообщу, что зашел в тупик). Оформление - бессрочный трудовой договор, бухгалтерские вопросы решаются работодателем. Документы по почте.

StrongDollar
()

А подробности?

Под каким дистрибутивом работает ППП? Какой видится API ППП? В каком виде предполагается сетевой доступ для клиентов?

seyko2
()
Ответ на: А подробности? от seyko2

Проверил под debian jessie, установил playonlinux, из под playonlinux установил wine 1.7.34 и ППП --- запустил, работает.

Какой видится API ППП?

То что дает производитель — это xls файл с запуском ActiveX, который импортирует функции в Excel, которые теперь можно использовать в формулах. Всё.

С этого файла я снял пароль и можно видеть как код VBA обращается к функциям программы (dll)

В VisualStudio при подкл. к проэкту COM объекта (файл ocx из пакета ППП) видны его интерфейсы (функции)

Собственно надо заменить Excel своей программой.

В каком виде предполагается сетевой доступ для клиентов

Самый примитивный. Клиент посылает текстом функцию с параметрами, программа передает функцию в dll и возвращает результат клиенту.

На данный момент клиент/сервер работают, но в качестве сервера выступает связка «windows --> моя сетевая программа c# --> excel --> ППП» и мне такая комбинация не нравится.

sdio ★★★★★
() автор топика
Последнее исправление: sdio (всего исправлений: 1)

Написать консольную прогу для работы с проприетарной DLL и вызывать её через CGI на линуксе через wine или винде.

tnodir
()
Ответ на: комментарий от tnodir

а это переложить сетевую работу с клиентом на веб сервер. сейчас важно написать программу, а уж привязать ее к сети дело техники.

sdio ★★★★★
() автор топика
Ответ на: комментарий от sdio

сейчас важно написать программу,

консольная прога - сердито и дешёво

а уж привязать ее к сети дело техники.

ну да. как вариант - CGI

tnodir
()
Последнее исправление: tnodir (всего исправлений: 1)

Я готов написать, думаю python c pywin32 подойдет. Контакты в профиле.

hizel ★★★★★
()
Ответ на: комментарий от tnodir

Читай исходное сообщение

Собственно хочется избавиться от виндовс (здесь есть рабочий wine) и от Excel и в результате получить консольную программу

sdio ★★★★★
() автор топика
Ответ на: комментарий от sdio

Боюсь ты долго будешь подобное искать, там явно какие то подводные камни будут, если честно, не один программист не свяжется с такой работой, не зная названия программы и клиентской части. Или названия программ секретная информация? Просто далеко не всё увы можно заменить. У меня у знакомого в ЛМЗ куча старого софта, уже 3 раза пробовали переписывать, всё время бес толку. В итоге у них почти 80 единиц техники с досом....

erzent ☆☆
()
Ответ на: комментарий от sdio

Часть нужных вычислений выполняется в Excel? Хорошо бы попробовать повторить эксперимент с Wine.

seyko2
()
Ответ на: комментарий от sdio

Ничего страшного, квалификацию подтяну на ваши деньги. Пока никто другой ведь не берется за выполнение?

StrongDollar
()

в результате получить консольную программу с одной стороны предоставляющую функции расчета импеданса, а с другой сетевой доступ к этим функциям для клиентов.

Желающих наверное много, а жаль - задача интересная.

С моей т.з. расчётное ядро нужно сделать json rpc - сервисом, а всё остальное реализовать как обвязку поверх него. Функции VBA можно переписать, вряд ли они очень сложные. Если уж очень много кода, можно реализовать на Gambas, он во многом совместим с Visual Basic и умеет конечно клиент-серверное взаимодействие.

В идеале языком для реализации должен быть R, но я бы сделал на Perl :)

DRVTiny ★★★★★
()
Последнее исправление: DRVTiny (всего исправлений: 1)
Ответ на: комментарий от sdio

Интересно, каким образом решена задача?

Удалось избавиться от Excel и ничего не порушить? А что тогда мешало при написании программы на c# подключить ocx и избавиться от Excel?

seyko2
()
Ответ на: Интересно, каким образом решена задача? от seyko2

А что тогда мешало при написании программы на c# подключить ocx и избавиться от Excel?

28000 строк (пусть и однотипного) кода на VBA и отсутствие квалификации. Я админ, программирую со словарем.

sdio ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.