Как стать автором
Обновить
7
5
Павел @kkmspb

фулстек разработчик С, С++,PHP,JS

Отправить сообщение

Как добавить в Qt QVariant свой тип данных Currency (он же Decimal)

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.1K

Как добавить свой тип данных в QVariant для совместимости с VT_CY VARIANT от корпорации Майкрософт.

Речь о фреймворке Qt, решаем проблему с подключением ккт Штрих к программе на С++.

Читать далее

Маркировка по ФФД 1.2 м сканеры штрих кода в режиме клавиатуры

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.1K

Поводом написания этой маленькой статьи послужила странная ситуация, сложившаяся с настройкой сканеров штрих кода для работы с маркировкой в режиме именно клавиатуры.

Я думаю многие уже бились головой об стену не понимая как настроить сканер для корректной работы с маркировкой по ФФД 1.2.

Под корректной работой понимается, что считанный сканером код должен хотя бы распознаваться сначала корректно онлайн сервером ОФД и конечно далее сервером честного знака.

Суть проблемы в том, что в коде маркировка по формату Datamatrix присутствуют обычно 2 разделителя со значением 0x1d или их ещё называют GS. 

Это управляющие символы, как они ещё применялись со времён программирования на перфокартах. Проблема в том, что они отсутствуют на клавиатуре визуально, располагаются в самом начале таблицы ASCII, и не имеют символьного представления. То есть в текстовом редакторе вы их просто так не увидите.

Да, надо отметить,развлекаемся со сканерами мы в Виндоус. На Винде, как я понял, USB драйвер  клавиатуры всегда передавал сканкоды в соответствии с таблицей XT стандарта, где за каждой клавишей закреплёно конкретное значение.

USB драйвер всегда передает байты, как вы понимаете, и всегда от конкретной клавиши идёт одно конкретное значение (байт если хотите).

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

Читать далее

Свой первый модуль для админки битрикс, первое субъективное впечатление

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров5K

Итак после первых плагинов для ВордПресс и джумла пришла пора сделать что-то похожее в Битрикс.

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

И вот так получилось, что свежие мозги прошлись по ВордПрессу, Джумла и теперь взялись за Битрикс.

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

Главное отличие отечественной CMS - оплата вперед

Итак не нужные проблемы у Битрикс начинаются уже на этапе установки, разработчики как бы говорят вам - нафига ты сюда лезешь (это наша корова и доить ее будем сами).

Имеется ввиду, что так называемая демо версия (на месяц) виснет при установке и до конца ну никак не доходит.

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

Читать далее

Первый плагин/модуль для админки joomla 4, свежие впечатления, субъективное мнение

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров706

После плагин на вордпресс решили написать такой же плагин для joomla, вроде как вторая по популярности система.

Читать далее

Первый плагин на wordpress, общее впечатление, некоторые нюансы

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.3K

Итак эта статейка по горячим следам о том как написать свой первый плагин для движка какого-то сайта. И в данном случае поговорим о ВордПресс.

Эта статья для начинающих. В нашем случае мы считаем себя дилетантами в вэб разработке.

Читать далее

Небольшая доработка QMap в Qt

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.1K

Решаем одну старую проблему с QMap. Есть многоуровневый QVariantMap, то есть один вложен в другой и так много раз. И надо иметь возможность изменять в любом месте иерархии ключ/значение.

Штатные возможности Qt 4 не предусматривают изменение части дерева, только полная перезапись целиком всей ветки дерева (в Qt5,6 не знаю).

Но у нас появилась реализация, выносим на ваш суд и делимся результатами.

Читать далее

Окно индикации какого-то процесса на Qt

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров4.2K

Итак хочу поделится большой радостью ибо наконец-то сделал универсальное всплывающее окно (на Qt) для индикации (логгирования) хода выполнения каких-то долгих команд.

Основная идея универсальности в вызове у об'екта слота по наименованию , передача параметров через QVariant (до 10шт.), возврат результата тоже через QVariant.

Все это реализуется без проблем через вызов метода invokeMethod.

Через параметры QVariant мы можем передавать и возвращать все , что угодно - какие-то свои классы, главное не забыть в конце определения таких классов добавлять макрос Q_DECLARE_METATYPE(имя вашего класса)

Читать далее

Пишем свой QTableView (продолжение: кастомные стили)

Уровень сложностиСложный
Время на прочтение1 мин
Количество просмотров4.1K

Создаем свой кастомный стиль для QTableView без css стилей и переопределения ролей модели данных. Занимаемся отрисовкой напрямую.

Читать далее

Пишем свой QTableView с нуля

Уровень сложностиСложный
Время на прочтение6 мин
Количество просмотров13K

Итак жил был фреймворк Qt и последние 10 лет ничего в нем не менялось. И захотел один чел написать свой QTableView с нужным ему функционалом, а именно захотелось ему выводить ячейки в несколько рядов (по горизонтали) в одной строке. Ещё ему хотелось растягивать одну из ячеек по ширине двух других.

Искал, искал чел готовый пример в интернете и не находил. И вот однажды подумал он посмотреть как сделан внутри сам QTableView и стало плохо ему от количества строк кода, не одна тысяча там.

Читать далее

Развитие QSqlTableModel и QTableView

Уровень сложностиСложный
Время на прочтение2 мин
Количество просмотров3.1K

Возможно вам тоже покажется, что развитие Qt как минимум в части Sql остановилось этак лет 12 назад.

А ведь фреймворк заслуживает развития ибо базовые классы уровня QSqlTabelModel и QTableView предоставляют богатый функционал для реализации ваших запросов.

Как на Qt работать с таблицами базы данных

Информация

В рейтинге
907-й
Откуда
Парголово, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Fullstack Developer
Senior
От 250 000 ₽
OOP
Database
MySQL
PHP
C++
Programming microcontrollers
Qt
Software development
Development of drivers
C