Упаковка таблиц Paradox и dBaseDelphi , Базы данных , ParadoxУпаковка таблиц Paradox и dBase
Автор: Александр { **** UBPFD *********** by delphibase.endimus.com **** >> Упаковка таблиц Paradox & dBase Процедура упаковки таблиц Paradox & dBase. В процедуру передается TTable c любым состоянием свойства Active. Состояние Active после выполнения процедуры остается предыдущим. Процедура предусматривает отключение всех визуальных DbControls, с последующим их подключением. Зависимости: Bde, Db, DbTables Автор: Александр, dbwork@kor.kes.ru, Кореновск Copyright: Из исходного кода Database Workshop 4.12 (c)2002 Degisy Software Дата: 23 мая 2002 г. ***************************************************** } procedure Bde_PackTable(DataSet: TDataSet); var hDb: hDBIDb; Tbl: TTable; Props: CURProps; CrDesc: CRTblDesc; Save: Boolean; begin if (DataSet is TTable) then begin Tbl := TTable(DataSet); Save := Tbl.Active; Tbl.Active := True; try Check(DbiGetCursorProps(Tbl.Handle, Props)); if (Props.szTableType = szPARADOX) then begin FillChar(CrDesc, SizeOf(CRTblDesc), 0); StrCopy(CrDesc.szTblName, Props.szName); StrCopy(CrDesc.szTblType, Props.szTableType); CrDesc.bPack := True; Check(DbiGetObjFromObj(hDBIObj(Tbl.Handle), objDATABASE, hDBIObj(hDb))); Tbl.DisableControls; Tbl.Active := False; Check(DbiDoRestructure(hDb, 1, @CrDesc, nil, nil, nil, False)); end else if (Props.szTableType = szDBASE) then begin Tbl.Active := True; Check(DbiPackTable(Tbl.DBHandle, Tbl.Handle, nil, szDBASE, True)); end; finally Tbl.Active := Save; Tbl.EnableControls; end; end; end; Пример использования: Bde_PackTable(Table1); Статья Упаковка таблиц Paradox и dBase раздела Базы данных Paradox может быть полезна для разработчиков на Delphi и FreePascal. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |