Skip to content


Qt сборка драйвера для работы с PostgreSQL (Windows)

Написал небольшую заметку о том, как быстро и просто собрать сабж
http://habrahabr.ru/post/173283/

Posted in Без рубрики.


WPF компоненты отображения списков

Очень неплохой материал о различиях и применимости ItemsControl, ListBox и ListView в WPF:

http://www.wpfsharp.com/2012/03/18/itemscontrol-vs-listbox-vs-listview-in-wpf/

Posted in Программирование, Рабочие будни.

Tagged with , , .


Материалы про Mercurial

Очень неплохой перевод статей Спольски на habrahabr.ru:

http://habrahabr.ru/post/108443/

Ну и каталог ссылок:

http://mercurial.ru/

Posted in Программирование, Рабочие будни.

Tagged with , .


Установка Npgsql как DataProvider для .Net

Исходное описание http://npgsql.com/index.php/2009/08/how-to-set-up-entity-framework-npgsql-part-1/
Там вот такой символ Â встречается его нужно заменить на пробел
И редактировать нужно два файл machine.config, тот который в статье и вот этот
c:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config

Posted in Программирование, Рабочие будни.

Tagged with , , .


Значение по-умолчанию для TimeSpan в визуальном редакторе Visual Studio

Регулярно сталкивался с проблемой задания значения по-умолчанию для TimeSpan в дизайнере DataSet в Visual Studio. Google был наредкость бесполезен в данном вопросе и выкидывал либо общие описани, либо ссылки на неотвеченные вопросы на формумах. Запрос я пробовал писать например такой: define default value for TimeSpan in DataSet designer.
Решил пораскинуть мозгами сам. И вот что получилось.
Описание DataSet храниться в xml, т.е. нужно задавать это значение в виде принятом в xml, т.е. вот в таком http://www.w3.org/TR/xmlschema-2/#duration.

Posted in Программирование.

Tagged with , , , , .


Redmine, Mercurial и файлы с русскими именами в репозитории #2

Продолжение истории http://blog.automater.ru/?p=70.
Выяснилось, что в последней версии Redmine 1.2.0 данный баг был исправлен.
В настройках проекта (раздел Хранилище) теперь можно выбрать кодировку для имён файлов.
Проверено, работает.

Однако с новой версией вылез другой глюк.
Её отказывается запускать mongrel_service.
Падает с ошибкой:

<NoMethodError: private method `split' called for nil:NilClass>

Тикет с такой ошибкой уже есть: http://www.redmine.org/issues/8697

В качестве временного решения по запуску Redmine как службы использовал вот это http://www.redmine.org/boards/1/topics/4123. Все отлично заработало под Windows 7.

Posted in Рабочие будни.

Tagged with , , , .


Redmine, Mercurial и файлы с русскими именами в репозитории #1

Дано:
Redmine, PostgreSQL, Mercurial
Проблема:
Использую Mercurial в качестве системы контроля версий и Redmine для управления проектам. У этой пары для меня был один существенный недостаток – стоило появиться в репозитории файла с кириллицей в имени, так сразу же падала связка Redmine-Mercurial с ошибкой: PGError: ERROR: invalid byte sequence for encoding «UTF8″.
Решение:
На Ruby я программировать не умею вообще, поэтому решение получилось из серии «чтоб только работало».
Проблема кроется в файле redmine\app\models\changeset.rb, строка 175.
Изначально там написано:
:path => change[:path],
нужно написать:
:path => Iconv.conv('UTF-8', 'WINDOWS-1251', change[:path]),

Т.е. весь метод должен выглядеть как-то так:

# Creates a new Change from it's common parameters
def create_change(change)
Change.create(:changeset => self,
:action => change[:action],
:path => Iconv.conv('UTF-8', 'WINDOWS-1251', change[:path]),
#:path => change[:path],
:from_path => change[:from_path],
:from_revision => change[:from_revision])
end

Отправил ошибку на треккер Redmine: http://www.redmine.org/issues/8726

Posted in Рабочие будни.

Tagged with , , , .


Django-notes

Online книга о django: http://www.djangobook.com/

1. Начало проекта.
скопировать django-admin.py

python django-admin.py startproject <site>

2. Запуск тестового сервера.
перейти в папку с проектом

python manage.py runserver

3. Настроить подключение к базе в settings.py

DATABASES = {
'default': {
'ENGINE': 'postgresql_psycopg2', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'dbname', # Or path to database file if using sqlite3.
'USER': 'user', # Not used with sqlite3.
'PASSWORD': 'password', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}

4. Создать новое приложение.

python manage.py startapp <app>

5. Добавить его в список установленных приложений.
В файле settings.py добавить в

INSTALLED_APPS = (..., <site>.<app>

6. Определить модели приложения в models.py.

7. Проверить модели.

python manage.py validate

8. Получить SQL-скрипт.

python manage.py sqlall <app>

9. Развернуть базу на сервер.

python manage.py syncdb

10. Запусть shell для проекта

python manage.py shell

Posted in Программирование.

Tagged with , , .


ПТА-2010

6 октября я посетил выставку Передовые технологии автоматизации-2010 http://www.pta-expo.ru/moscow/2010/index.htm.
В прошлый раз я был на этом мероприятии в 2008 г.
Фоторепортаж http://www.pta-expo.ru/moscow/2010/photoreport.htm

Общее впечатление.
Минусы:

  • Меньшее количество участников. Хотя статистика организаторов говорит об обратном, но по моему впечатлению участников было немного меньше, да и сами стенды были менее масштабными. Бросилось в глаза отсутствие стендов Advantech и НПФ «КРУГ».
  • Меньшее количество посетителей. 6 октября на выставке было очень просторно.

Плюсы:

  • Один зал для конференций. В 2008 году было два конференц-зала и приходилось решать какой из докладов послушать

Конференция.

  1. Кварта Технологии подготовили неплохой ряд докладов о Windows Embedded. После докладов был розыгрыш книг от сотрудников компании и мне удалось выиграть пару:

    http://www.quarta.ru/embedded/products/books/ce60practica/

    http://www.quarta.ru/embedded/products/books/ce60/

  2. SWD-Software рассказала о новых возможностях QNX. Очень радует динамика развития этой системы. Самым интересным показалась возможность использовать Adobe Flash для создания HMI в QNX. Очень хочется попробовать.
  3. Beckhoff своим докладом открыла для меня технологию EtherCAT.
  4. Компания Овен провела презентацию новинок своей продукции. Очень здорово, что компания растет и развивается, предлагая все более широкий спектр программируемых устройств. По возможности обязательно попробую их на практике.

Выставка.
Огромной популярностью пользуется LEGO на очень многих стендах были макеты собранные на основе этого конструктора, но самым интересным был стенд Festo. Очень впечатляющая демонстрация пневматических мускулов. Установка пользовалась огромной популярностью у посетителей, я сам очень долго не хотел с нее слезать. Работа установки показана на следующем видео.

Итоги.
В целом впечатление от выставки строго положительное. Я познакомился с рядом новых технологий, новинками в области ПО и оборудования, открыл для себя технологии EtherCAT и пневматические мускулы. Отдельное спасибо ребятам со стенда Festo, которые подкинули мне ряд интересных идей для текущих проектов.

Posted in Выставки, конференции, семинары.

Tagged with , , .


Работа с OLE-объектом в Delphi

Как создать в программе OLE-объект:

uses
ComObj, Variants;
...
var
obj : OLEVariant;
...
obj  := CreateOleObject('CustBal.AutoSrv');

* This source code was highlighted with Source Code Highlighter.

Вызов методов без параметров и обращение к свойствам (самое главное – никаких скобок, иначе будет исключение):

rslt := obj.MethodOrProperty;

Вызов методов с параметрами:

rslt := obj.Method(par1,par2,...,parN);

Удаление объекта:

obj := Unassigned;

Posted in Программирование.

Tagged with , , .