Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.05.27;
Скачать: [xml.tar.bz2];

Вниз

PackTable   Найти похожие ветки 

 
pilot   (2002-04-30 13:06) [0]

Здраствуйте
Как испоьзовать PackTable?
PackTable(Table1) не воспринимает , может как-то по другому?
Мне нужно запаковать таблицы.Нелп я прочитал но по английскому
у меня плохо хотелось бы поподробнее.когда ставлю как в примере ругается почти на каждую строку что незарегестированный индентификатор.Помогите!!!
Pilot


 
DenNNis   (2002-04-30 14:19) [1]

Работает для *.dbf таблиц:


var res:DbiResult;


Table4.Active:=FALSE;
Table4.Exclusive:=TRUE;
Table4.Active:=TRUE;

res:=DbiPackTable(Table4.DbHandle,Table4.Handle, nil, szFoxPro, True);


 
DenNNis   (2002-04-30 14:22) [2]

да, еще надо использовать модуль bde


 
Erlend   (2002-04-30 21:10) [3]


procedure PackTable(Table: TTable);
var
Props: CURProps;
hDb: hDBIDb;
TableDesc: CRTblDesc;
begin
// Make sure the table is open exclusively so we can get the db handle...
if not Table.Active then
raise EDatabaseError.Create("Table must be opened to pack");
if not Table.Exclusive then

raise EDatabaseError.Create("Table must be opened exclusively to pack");

// Get the table properties to determine table type...
Check(DbiGetCursorProps(Table.Handle, Props));

// If the table is a Paradox table, you must call DbiDoRestructure...
if Props.szTableType = szPARADOX then begin
// Blank out the structure...
FillChar(TableDesc, sizeof(TableDesc), 0);
// Get the database handle from the table"s cursor handle...

Check(DbiGetObjFromObj(hDBIObj(Table.Handle), objDATABASE, hDBIObj(hDb)));
// Put the table name in the table descriptor...
StrPCopy(TableDesc.szTblName, Table.TableName);
// Put the table type in the table descriptor...
StrPCopy(TableDesc.szTblType, Props.szTableType);
// Set the Pack option in the table descriptor to TRUE...
TableDesc.bPack := True;
// Close the table so the restructure can complete...
Table.Close;
// Call DbiDoRestructure...

Check(DbiDoRestructure(hDb, 1, @TableDesc, nil, nil, nil, False));
end
else
// If the table is a dBASE table, simply call DbiPackTable...
if (Props.szTableType = szDBASE) then
Check(DbiPackTable(Table.DBHandle, Table.Handle, nil, szDBASE, True))
else
// Pack only works on PAradox or dBASE; nothing else...
raise EDatabaseError.Create("Table must be either of Paradox or dBASE " +

"type to pack");

Table.Open;
end;



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.05.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
3-88346
nikulin
2002-04-30 15:51
2002.05.27
КАК?????


14-88626
INNOCHENTI
2002-04-19 18:46
2002.05.27
Как зделать игру по Модему?


1-88535
Alex_Ph
2002-05-15 22:32
2002.05.27
Необходимо запустить программу из Delphi


7-88653
Xlinuxadmin
2002-03-02 17:49
2002.05.27
Пишу небольшую говорилку, каких много в инете! Подскажите кто сталкивался, как допустим из файла брать произвольную строку Файл


3-88371
Вика
2002-05-01 23:09
2002.05.27
Table Language ........ again





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский