вторник, 18 июня 2013 г.

Vala и конфиг в json

Как то в один прекрасный день потребоволось хранить дерево в одной программе на vala. И обуяла меня жажда велосипедостроения (ну за одно и потренироваться в работе с json оказалось неплохо).  В результате родился ниже приведенный класс. Класс умеет проверять наличие ключа (не значения) в json - структуре. Читать с диска и сохранять на диск результат а так же работать с строковыми значениями. Остальные значения допустимые в json  в данном примере не включены из за эконимии места, и строкового типа хватить для показа работоспособности.

Так как используется модуль Json то при сборке проэкта не забудьте указать пакет json-glib-1.0. К примеру строка сборки тестового примера у меня выглядит как vala --pkg json-glib-1.0 -o test_config_d -g
Для разделения веток конфига используется символ "/".
К примеру чтение значение cfg.get_string_value("Key 1/Key 2/Key 3") примененое к json файлу вида
 {
           "Key 1":{"Key 2":{"Key 3":"value 2"},
                          "Key 4":"value 1"
                        }
}
 вернет значение value 2

четверг, 14 марта 2013 г.

Zebra Ununtu и проблемма с "прыгающими" принтерами

При открытии нового объекта возникла забавная проблема. На операторской машине стоит Ubuntu 12.04 и подключены 2 принтера по usb. В Ubunt'е при подключении принтеров по usb создаются каналы вида /dev/usb/lpxx , где xx - номер от 0 и дальше. Данная особенность позволяет печатать из программ которые про cups ничего не знают. К примеру cat 1.txt > /dev/usb/lp0 выведет файл 1.txt на печать. Данная особенность использовалась для печати на принетера Zebra из под wine. Ясно что это костыль но вот если печатать через cups то растеризатор делает очень забавные весчи с тем что на него отправили. Правда делает он, что попало при 203 dpi, если поставить 300 dpi то все нормально, но только возникают проблемы с тем что картинка получается в 300 dpi а принтер умеет 203 dpi и не все что можно было вывести на печать входит. Это была только присказка. 

понедельник, 14 января 2013 г.

Добавлен собраный пакет MT Loadera (теперь клубничный !!!)

Добавлен новый пакет MT Loadera. В текущей версии сделана работа с загрузкой - выгрузкой программируемых товарных кнопок на весах.

Работать с нопками луште всего при заргуженом списке PLU (иначе не имеет смысла). При сохранении списка PLU сохраняются и назначенные конпки.