ViewDEF.d32 - просмотр структур, сравн. с другим def, получение B_STAT (аналог butil -stat), B_STAT != структуре в def, а теперь и удаление и импорт структур.

Автор:sdo
Дата:14.03.2007
Просмотров:4567
Скачиваний:905
Оценка: - , Оценок - 0
Скачать (zip-файл; Размер - 66437)

Обсудить в форуме

Описание

RSL_CLASS_BEGIN(TViewDEF)
RSL_PROP_METH (StdDataBaseDirs) // возвращает директории где искать базы данных
RSL_PROP_METH (DefPath) // возвращает путь к открытому словарю
RSL_METH (OpenDef) // открытие словаря

RSL_METH (TableNext) // переборы: таблиц
RSL_METH (FieldNext) // полей
RSL_METH (KeySegNext) // сегментов

RSL_METH (GetTableId) // получение из словаря Id таблицы по имени
RSL_METH (GetStat) // получение статистики по файлу
RSL_METH (GetStatSegment) // получение из статистики по файлу информации о сегменте ключа

RSL_METH (IsTableEqual) // сравнение с таблицей из другого словаря
RSL_METH (TableActualStat) // сравнение статистики и структуры в словаре

RSL_METH (DeleteRecord) // удаление записи по id
RSL_METH (DeleteTable) // удаление таблицы

RSL_METH (ImportTable) // Заимствование структуры из другого словаря

RSL_INIT
RSL_CLASS_END

Текст примера

 import "ViewDEF.d32";

var DicName = "j:\\rsbank\\dbfile\\bank.def";
var TableName = "bank.dbt";
var ob = TViewDEF ();            // создание TViewDEF

println("opening "+ DicName + " -> " + String(ob.OpenDef(DicName) ) );      // открытие словаря. обязательно указывать полный путь

var st = tarray;st[0] = "Ok :)"; st[1] = "Table :("; st[2] = "Fields :("; st[3] = "Keys :(";

                                   // соответствие структуры в DEF реальному файлу
println ("TableActualStat of "+TableName+"-> "+st[ ob.TableActualStat(TableName) ] );

OnError(er)
    println(er.Module+":"+er.Line+"\n"+er.Message);