Поиск по этому блогу

понедельник, 19 сентября 2011 г.

ExtJS 3.1.0. Дерево и Tab panel с Grid'ом



Пример. Дерево, по клику на ноде создается tab с гридой.
За отображение и заполнение дерева отвечают:
    mainwin/spr-main-win.js
    mainwin/spr-main-tree.php
За отображение гриды
    mainwin/grid-class-vdoc.js
    mainwin/model-vdoc.php
Интерфейс   состоит из одного окна (window), в котором на западе растет дерево, в центре tab panel. На дереве поставлен listener, который обрабатывает событие on click - добавляется новая tab panel.

понедельник, 12 сентября 2011 г.

ExtJs 3.1.0. Динамическое создание колонок

Фактически для динамического создания колонок мы должны передать метаданные и построить по ним модель колонок. Метаданные передаются JsonReader'у вместе с данными и начинаются со слова "metaData", они содержат параметры для конфигурации reader'а, полей и могут содержать произвольные данные.
При чтении наш JsonReader должен выделить метаданные, сконфигурировать себя, заполнить модель колонок и массив полей.
Массив полей он заполнит и без нашего участия, а вот модель колонок придется создавать ручками.

пятница, 29 июля 2011 г.

ExtJs 3.1 + PHP + Firebird. Шаблон формы авторизации.


Задача: Рыба формы авторизации. Пользователь вводит данные, которые отправляются php скрипту, обрабатываются, после чего юзер получает ответ. 

понедельник, 11 июля 2011 г.

Почитать

http://event.msdevcon.ru/schedule/ - доклады, почитать

Новый язык go от google (поддержку win обещают)
http://www.ibm.com/developerworks/ru/library/l-go_04/index.html
(серия статей по языку: синтаксис, web разработка, gui, базы)

четверг, 23 июня 2011 г.

Обмен информацией между процессами vs WM_COPYDATA

Реализация IPC vs  WM_COPYDATA

Немного теории.
Сообщения WM_COPYDATA дают возможность обмениваться информацией между процессами. Обмен происходит через ядро (kernel). В принимающем процессе выделяется память (space) и удерживается для скопированных ядром данных. Отправитель обязан передать указатель на структуру с данными (COPYDATASTRUCT).
WM_COPYDATA
wParam = (WPARAM) (HWND) hwnd;   // дескриптор передающего окна
lParam = (LPARAM) (PCOPYDATASTRUCT) pcds;   // pointer COPYDATASTRUCT  - указатель на структуру с данными
Результат true - если принимающая программа обработала сообщение, false - нет.
Реализация.

Fix SOAPHTTPTrans.pas (D7)


Фикс D7 для корректного отображения progress'а загрузки от  Deepak Shenoy 2.2.2004
SOAPHTTPTransp.pas

среда, 22 июня 2011 г.

Delphi. Web службы SOAP

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

Сервисы - это модульные приложения, которые могут быть вызваны и опубликованы в инете.
Работа с ними ведется с помощью протокола SOAP - стандарт легковесного протокола обмена информацией (simple object protocol). Это протокол использует XML для кодирования удаленных вызовов процедур и использует коммуникационный протокол HTTP.

Приложения Web-служб публикуют информацию о том, через какой интерфейс они доступны и как осуществить их вызов с помощью документов WSDL.

CGI на Lazarus с использованием fcl-web

CGI на Lazarus с использованием fcl-web
Lazarus 0.9.30 FPC 2.4.2 fcl-web (ставила только weblaz.lpk rev.15359)
грузим отсюда http://code.google.com/p/qxpascal/downloads/list свежую библиотеку

понедельник, 20 июня 2011 г.

Delphi 2007 CGI приложение. Отправляем поток в формате utf-8

Этот код:
1. Кодирует обычную строку в utf-8
2. Помещает эту строчку в поток (stream)
3. И пишет этот поток в ответ (Response)
В результате клиент в браузере получает строчку Это данные из потока ...

вторник, 12 апреля 2011 г.

Регулярные выражения в Delphi

Задача. Выделить параметры из SQL запроса.
INSERT INTO DB2ADMIN.LHEADER(IDH, KEYW, VERNUMB, REGNUM, REGNAME, DESCR)
VALUES(:IDH, :KEYW, :VERNUMB, :REGNUM, :REGNAME, :DESCR);

понедельник, 14 марта 2011 г.

Преобразование даты из одного формата в другой, без использования TDateTime.

Задача. Получить дату в виде строки (из txt файла), преобразовать ее в формат понятный для БД. В дальнейшем преобразованная дата может быть залита в базу или в CSV файл (файл с разделителями)
Необходимо учесть, что разделители могут отсутствовать вовсе, и не совпадать с системными.
To-do Функции проверки даты ...