Pull to refresh
  • by relevance
  • by date
  • by rating

Калькулятор Windows портировали на Linux

Open source *Development for Linux *Development for Windows *Software


В марте 2019 года корпорация Microsoft открыла исходный код «Калькулятора» (см. статью «Подсчитаем баги в калькуляторе Windows» на Хабре). Программа входила во все дистрибутивы Windows начиная с 1985 года (Windows 1.0). Последняя версия написана на С++ и содержит более 35 000 строк кода, см. репозиторий на GitHub.

Полтора года потребовалось, чтобы портировать калькулятор на Linux. Это событие осветили все крупнейшие IT-издания.
Читать дальше →
Total votes 11: ↑9 and ↓2 +7
Views 8.1K
Comments 53

Автоматизация OpenOffice: Начало

C++ *
По работе мне необходимо было разработать механизм загрузки и выгрузки данных из Excel используя свободные механизмы работающие под разными ОС.
Т.к. необходимо было, чтобы сервис работал под Linux, то механизм взаимодействия через OLE не подходил.
Для реализации был выбран OpenOffice с прямым доступом к API через C++.

Open Office api на Linux

Документация оказалась весьма скудная, а примеров работы не через OLE почти не было. Так что я решил объединить все мои исследования в одной статье на хабре.

Примерный план статьи:
1. Начало работы с API OpenOffice через C++
  1.1. Генерация заголовочных файлов
  1.2. Генерация файла типов RDB
  1.3. Настройка Visual Studiо 2008
  1.4. Собираем динамическую DLL
2. Повторное использование DLL в своей программе
  2.1. Пример небольшой программы по выгрузке данных

В принципе, если возможностей DLL достаточно, то повторять действия п. 1 не обязательно.

Читать дальше →
Total votes 61: ↑53 and ↓8 +45
Views 19K
Comments 21

Подключаем Ethernet ENC28J60 через SD card-reader для WEB-Servera на Arduino

DIY
Всем привет. Столкнувшись с технической трудностью в построении WEB сервера, придумал сделать переходник которого наверное еще никто никогда не делал(хотя могу ошибаться). Вс§ оказалось просто и довольно таки практично.

image

Для чего это нужно и как это создать я расскажу и покажу, а также покажу видео обзор работоспособности web servera на переходнике.
Читать дальше →
Total votes 47: ↑38 and ↓9 +29
Views 31K
Comments 19

Arduino Pro Mini + токовый датчик GY-712 ведут контроль перегорания ламп

DIY
Всем привет. Хочу поделится одним из проектом созданным на базе Arduino.
Для меня работа с токовыми датчиками GY-712 была впервые. Перед созданием этого проекта создавался тестовый блок.

image

Если вам уже интересно, тогда продолжим.
Читать дальше →
Total votes 20: ↑17 and ↓3 +14
Views 44K
Comments 58

PyOOCalc — Библиотека для генерации отчетов, счетов Libre/Open Office Calc на Python

Python *
Sandbox
Порой возникают задачи, когда необходимо формировать отчеты и прочие документы. В моей практике данная задача возникала не раз.

Проекты, в которых возникала данная задача:

  • складской учет
  • учет объектов недвижимости
  • документооборот

Первый мой опыт был с MS Office, но позже возникла необходимость в разработке кросс-платформенных решений, посему выбор пал на OpenOffice. Т.к. в большинстве случаев нужно было формировать таблицы, то был выбран OpenOffice Calc.
Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Views 15K
Comments 2

Автоматический запуск Libre/OpenOffice в режиме прослушивания из Python

Python *
Libre/Open Office предоставляют возможность работы с офисом через UNO API. Для того, чтобы можно было обратиться к офису необходимо запустить его в режиме прослушивания.

Например:
soffice --accept="socket,host=localhost,port=2002;urp;"

Данный подход вполне логичен и понятен с точки зрения разработчиков офиса, но несет ряд неудобств. В частности, нужно самостоятельно запускать Libre/Open Office в режиме прослушивания. Лично мне не понятно, почему разработчики поленились и не предоставили функции запуска офиса. Ну да ладно, было бы все сделано, не нужны были бы программисты. Посему будем решать задачу своими силами.
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Views 9.6K
Comments 0

Одноступенчатый редуктор с приводом от Шагового Двигателя

CAD/CAM *Developing for Arduino *DIY
В этом посте я хочу рассказать про изготовление при помощи ранее изготовленного мной станка с ЧПУ одноступенчатой прямозубой передачи.


Total votes 35: ↑32 and ↓3 +29
Views 17K
Comments 39

Датчик температуры и влажности на ардуино с отправкой и отрисовкой графика (Часть1)

Developing for Arduino *
Sandbox
Основной задачей проекта является мониторинг температуры в теплице удаленной от дома на 11-15 метров. Без возможности организации прокладки UTP и питания до нее.
Читать дальше →
Total votes 20: ↑15 and ↓5 +10
Views 11K
Comments 26

Установка и настройка SDK для сборки LibreOffice extension

Cross Technologies corporate blog Programming *C++ *
Tutorial

Введение


В процессе разработки нашего продукта DSS потребовалось создать расширение для LibreOffice на C++. Выбор языка был обусловлен наличием уже существующих проектов на C++, а разводить «зоопарк» в проектах не хотелось.

Начали изучать материалы по этому вопросу, статьи, в том числе и на данном ресурсе. Казалось бы, данных довольно много, однако на самом деле информация была либо очень скудной, либо она была уже не актуальна из-за устаревших версий LO.

Пришлось изучать вопрос своими силами.

image

Сборка SDK


Для сборки под Windows понадобятся


  • LibreOffice 6.2.4/6.2.5 +LibreOffice SDK 6.2.4/6.2.5 ( LibreOffice & SDK) или версии выше.
  • GNU Zip Make CoreUtils Sed( GNU )
  • jdk (JDK)
  • Microsoft VS с установленным компилятором под C++ + MSTools и Microsoft.NET

Основные шаги


Устанавливаем LibreOffice и LibreOffice SDK, желательно в директорию «Без пробелов».

Пример C:\App\Libreoffice6.2.4.2x64 и C:\App\Libreoffice6.2.4.2x64\sdk соответственно.

Открываем консоль, переходим в директорию содержащую наше скаченное SDK:
cd C:\App\Libreoffice6.2.4.2x64\sdk
Запускаем setsdkenv_windows.bat

Данный скрипт, при первом запуске генерирует батник под Вашего пользователя в системе, в котором предлагает прописать пути до:

  1. LibreOffice;
  2. LibreOffice SDK;
  3. GNU утилит необходимых для сборки пакетов, компиляторов С ++,C# и VB.NET, и директории Java SDK.

Указываем соответствующие папки.
Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Views 1.9K
Comments 0

Оживляем деревья выражений кодогенерацией

.NET *Visual Studio *C# *Xamarin *
Sandbox

Expression Trees — это, пожалуй, самое удобное средство манипуляции кодом в run-time.

Расширять код метапрограммами в compile-time позволяют Roslyn Source Generators, с ними это стало проще, чем когда-либо.

Пора использовать одно во благо другого, даже если мир к этому еще не совсем готов.

Читать далее
Total votes 32: ↑32 and ↓0 +32
Views 10K
Comments 17

WinUI 3 — Новая эра разработки под Windows

.NET *Shells *API *C# *Development for Windows *
Sandbox

В календаре 8 марта, а я пишу эту статью. Почему? - Потому, что WinUI 3 - это важно!

В этой статье:

- WinUI 3 - это не просто новая версия библиотеки пользовательских компонентов. Это изменит разработку ПО под Windows и не только.
- Как менялась разработка графических интерфейсов?
- Эволюция системных API пошла не по плану....
- В чём провал Universal Windows Platform?
- Что такое .NET, и почему за ним будущее?

Читать далее
Total votes 58: ↑52 and ↓6 +46
Views 37K
Comments 158