Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Упаковка dbf [D6, dBase, FoxPro]


veres ©   (2005-12-05 16:33:00) 

Добрый день! Помогите, пожалуйста разобраться с упаковкой dbf-таблиц. В справке нашел DbiPackTable, но не могу понять, как ее использовать. Если можно, напишите, пожалуйста пример если не сложно.
Спасибо.


veres   (2005-12-05 17:31:00) [1]

Спасибо!
Типа сам себе ответил?


veres   (2005-12-05 17:20:00) [2]


> veres   (05.12.05 17:02) [6]


Вот тебе выжимка для Dbase:

procedure PackTable(Table: TTable);
var
 Props: CURProps;
 ta,te: Boolean;
begin
 ta := Table.Active;
 te := Table.Exclusive;
 Table.Close;
 Table.Exclusive := True;
 Table.Open;
try
 Check(DbiGetCursorProps(Table.Handle, Props));
 if (Props.szTableType = szDBASE) then
   Check(DbiPackTable(Table.DBHandle, Table.Handle, nil, szDBASE, True))
 else
   raise EDatabaseError.Create('Table must be dBASE type to pack');
finally
 Table.Close;
 Table.Exclusive := te;
 Table.Active := ta;
end;
end;


veres   (2005-12-05 17:02:00) [3]

Вот уж действительно парюсь, ну что поделаешь, если новичок... не могу еще с пониманием читать справку.
Может все таки с копированием проще...


veres   (2005-12-05 16:59:00) [4]


> Anatoly Podgoretsky ©   (05.12.05 16:57) [4]

Да, спасибо, но я не пойму куда и как использовать
procedure PackTable(Table: TTable);


Anatoly Podgoretsky   (2005-12-05 16:57:00) [5]

veres   (05.12.05 16:42) [1]
Так оно и есть и пример рабочий.


veres   (2005-12-05 16:55:00) [6]


> ANB ©   (05.12.05 16:45) [2]


> Решение - паковать копированием и не парится.

Поясни, пожалуйста...


ANB   (2005-12-05 16:45:00) [7]


> veres   (05.12.05 16:42) [1]

dbf таблицы не рекомендуется упаковывать командой PACK.
1. Рисковая операция (можно потерять данные)
2. Не упаковываются мемо файлы

Решение - паковать копированием и не парится.


veres   (2005-12-05 16:42:00) [8]

Я понимаю, любой может ответить, что с той справке и есть пример. Но в том то и дело, не могу с тем примером разобраться, помогите на конкретной одной Table1, пожалуйста.


Наверх

Титульная страница Поиск, карта сайта Написать письмо