Компоненты VisualTech, версия 1.0.2:
Изменения в TxDBGrid
добавлено свойство Autosort: Boolean.
В модуле xDBGrid объявлена глобальная переменная - указатель на метод сортировки данных
TAutoSortDataSet = procedure (DataSet: TDataSet; Column: TxColumn; CellCursorPos: TCellCursorPos);
var
AutoSortDataSet: TAutoSortDataSet;
Если AutoSort = True и AutoSortDataSet <> nil то при щелчке мышью на заголовке,
вызывается AutoSortDataSet(DataSet: TDataSet; Column: TxColumn; CellCursorPos: TCellCursorPos);
Метод будет вызываться абсолютно для всех сеток TxDBGrid, в которых свойство AutoSort = True
Пример процедуры для IBX:
- Код: Выделить всё
uses xDBGrids;
.............................
procedure OnAutoSortDataset(DataSet: TDataSet; Column: TxColumn; CellCursorPos: TCellCursorPos);
begin
{$IFDEF IBX}
if DataSet is TIBCustomDataSet then
begin
if CellCursorPos = ccpTop then
TIBCustomDataSet(DataSet).OrderFields := Column.FieldName
else
TIBCustomDataSet(DataSet).OrderFields := Column.xFieldName;
end;
{$ENDIF}
end;
........................
begin
AutoSortDataSet := @OnAutoSortDataset;
end;
Компоненты IBX, версия 1.0.8.
Исправлено то, что накосячено в прошлой версии.
Добавлено свойство OrderFields, с помощью которого можно упорядочить данные по любому полю.
Внимание! Этот метод не производит локальную сортировку данных в буфере, а изменяет SQL запрос
в QSelect, добавляя или изменяя инструкцию ORDER BY.
изменен метод Locate, в нем UpperCase заменены на UTF8UpperCase(при регистронезависимом поиске), найденная строка центрируется.
DieselPascal, версия 1.0.5
Собрано на новых компонентах visualTech 1.0.2 и IBX 1.0.8
Добавлены функции
function IsDigit(C: Char): Boolean;
function IsLetter(C: Char): Boolean;
function IsSimbol(C: Char): Boolean;
Параметр С должен быть приведен к Ansi
пример:
- Код: Выделить всё
var
S: string;
B: Boolean;
begin
S := 'абв';
S := UTF8ToCP1251(S);
B := IsLetter(S[1]);
end;