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

среда, 29 февраля 2012 г.

Справочники в списке

Компоненты:  TJvMemoryData (из JEDI), ADO
Работа со списками и объектами в них.
Для того, чтобы снять нагрузку с сервера баз данных и возложить ее на клиента, можно создать хранилище из кэшированных запросов. Пользователь не будет обращаться к базе всякий раз, когда ему придет в голову открыть справочник, вместо этого он поищет справочник сначала в кэше, а уж если там такового не оказалось, тогда он обратиться к базе.
Хранить запросы можно и на диске клиента, компонент TJvMemoryData позволяет без труда сохранять данные на диске и загружать их с диска. (реализация этой возможности достаточно тривиальна, я ее опустила). А этот код просто схематично демонстрирует работу подобного хранилища.

четверг, 16 февраля 2012 г.

Устанавливаем новую версию fpc для Lazarus

he Lazarus team is glad to announce the 0.9.30.4 release. Зарелизило
Можно не париться http://sourceforge.net/projects/lazarus/files/

Lazarus 9.30 + FCL 2.6.0
lazarus-0.9.30.2-fpc-2.4.4-win32.exe (http://cdnetworks-kr-1.dl.sourceforge.net/project/lazarus/Lazarus Windows 32 bits/Lazarus 0.9.30.2/lazarus-0.9.30.2-fpc-2.4.4-win32.exe)

Качаем FCL + source
ftp://ftp.freepascal.org/pub/fpc/dist/2.6.0/i386-win32/fpc-2.6.0.i386-win32.exe
ftp://ftp.freepascal.org/pub/fpc/dist/2.6.0/sources/fpc-2.6.0.source.zip - сорцы

воскресенье, 12 февраля 2012 г.

вторник, 31 января 2012 г.

Лекарство от тормозов в сети RDP+MS

Симптомы: Тормозит соединение RDP (для некоторых сетевых карт)
на сайте Microsoft более подробная информация

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

UDF для Firebird на Lazarus

Задача. Найти вхождение подстроки в строке.
(Эта задача (функция) реализована в составе UDF библиотеки RFunc, но она использует тип данных VARCHAR(16383) и написана на C, т.е. можно ее допилить.) 
Функция должна принимать два параметра: подстроку и строку, и возвращать целое значение - позицию подстроки.
Чтобы написать UDF для Firebird используем Lazarus.
Создаем dll. Файл - Создать - Библиотека
И используем возможности функции pos, которая возвращает позицию подстроки
Function  Pos(const substr:shortstring;const s:shortstring):SizeInt;


среда, 21 декабря 2011 г.

Администрирование DB2. Требования к конфигурированию операционной системы (Linux и UNIX)

data -Максимальный размер частной памяти, разрешенный для процесса
Объем памяти, доступной на компьютере


Администрирование DB2. Буферные пулы


Производительность работы главным образом зависит от настройки буферных пулов.
И к их созданию и конфигурации стоит подойти со всей ответственностью )

Администрирование DB2 - ее память

В этом посте формула расчета необходимой для db2 памяти.
Итак, DB2 тратит память на:

вторник, 20 декабря 2011 г.

Компонент для чтения больших файлов TJclAnsiMappedTextReader

TJclAnsiMappedTextReader - Быстрое чтение текстового файла очень больших размеров
Unit JclFileUtils
В JCL есть TJclAnsiMappedTextReader и TJclWideMappedTextReader основанных на mapped-файлах. Есть свойства Lines[LineNumber: Integer] и LineCount.
При создании Reader'ов можно задать параметр создания индекса.
Произвольный доступ к строкам работает очень быстро и память расходуется только на массив позиций строк.
Но, конечно, есть ограничение винды на максимальный размер mapped-файла.

Максимальный размер файла на FAT16 = 2Гб, на FAT32 = 4Гб. На NTFS максимальный размер ну очень большой

вторник, 13 декабря 2011 г.

Firebird 2.5. Особенность.

Версия FB 2.5 Firebird-2.5.0.26074_1_Win32.exe ODS 11.2
Скачала FB 2.5.1 Firebird-2.5.1.26351_1_Win32.exe - та же особенность
БД в кодировке UTF-8
UNION in VIEW
String truncation error when selecting from a VIEW with UNION inside
особенность пофиксена

среда, 9 ноября 2011 г.

понедельник, 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.