Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.13;
Скачать: CL | DM;

Вниз

Как удалить физически   Найти похожие ветки 

 
Смолин   (2002-04-17 12:36) [0]

КАк в DELPHI физически удалить строки из dbf файла VFP 5.0.
Пожалуста код напишите.
Спасиба.


 
Kuusiniemi ©   (2002-04-17 12:56) [1]

Г-н Смолин! А конференцию почитать слабо?? Не только первых две страницы, а чуть дальше??


 
Den_   (2002-04-17 13:19) [2]

Kuusiniemi ©
Всю конференцию просматривать долго, люди на работе всетаки а не дома ляжки тянут. Я очень корошо помню, здесь был отличный пример, я его искал поиском, но к сожелению ничего не нашел. У Вас нет ссылочки случайно на ветвь конференции с этим вопросом?


 
Kuusiniemi ©   (2002-04-17 13:30) [3]

> Den_

Я, в общем-то, тоже на работе. :)) Но если мне надо что-то найти, я сначала САМ буду искать, а уж потом, если не найду - тогда буду спрашивать.

Что до ответа на вопрос, то функция эта - dbiPackTable.
А что до того, чтоб поискать - то вот Вам - ТОЖЕ САМОЕ ОБСУЖДЕНИЕ. Вопрос за 9е и последний ответ за 10е апреля этого года!!

http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1018349645&n=1


 
Den_   (2002-04-17 14:11) [4]

> Kuusiniemi ©
Оно понятно....В этом обсуждении я не нашел нужной информации :( Все же хотелось бы так, по дубовому:

uses BDE

Table1.Close;
Table1.Exclusive := true;

dbiPackTable( Что нужно писать здесь??);

Table1.Open;
Table1.Exclusive := false;


Вот был такой пример, блин и я его записывал, но он был случайно удален. И теперь видимо не один я мучаюсь. Слышал что этот пример хорошо работает с dBase. Спасибо за ответы :)))


 
Kuusiniemi ©   (2002-04-17 14:23) [5]

Ну вы, блин, даете. ©

Справка по BDE.
Пример:

DbiPackTable(Table1.DBHandle, Table1.Handle, nil, szDBASE, True);


 
sniknik ©   (2002-04-17 14:31) [6]

для VFP 5.0 BDE не очень то и подходит. до foxpro 2.5 только. так что не удивляйся очень если не получится.


 
Смолин   (2002-04-17 15:37) [7]

> Kuusiniemi ©
Я конечно прошу прощения за настойчивость, но записи с помощью этой функции все равно не удаляются, а только помечаются. Я правильно пишу:

Table1.Delete;

Table1.Close;
Table1.Exclusive := true;

DbiPackTable(Table1.DBHandle, Table1.Handle, nil, szDBASE, True);


Table1.Open;
Table1.Exclusive := false;


И еще вопрос: что такое nil?



 
sniknik ©   (2002-04-17 16:20) [8]

возми полную процедуру для db и dbf
но еще раз если у тебя VFP 5.0 то это не сработает. (скорей всего)

procedure TDatMod.PackTable(Table: TTable);
var
Props: CURProps;
hDb: hDBIDb;
TableDesc: CRTblDesc;
begin
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");
Check(DbiGetCursorProps(Table.Handle, Props));
if (Props.szTableType = szPARADOX) then begin
FillChar(TableDesc, sizeof(TableDesc), 0);
Check(DbiGetObjFromObj(hDBIObj(Table.Handle), objDATABASE, hDBIObj(hDb)));
StrPCopy(TableDesc.szTblName, Table.TableName);
StrPCopy(TableDesc.szTblType, Props.szTableType);
TableDesc.bPack := True;
Table.Close;
Check(DbiDoRestructure(hDb, 1, @TableDesc, nil, nil, nil, False));
end else
if (Props.szTableType = szDBASE) then Check(DbiPackTable(Table.DBHandle, Table.Handle, nil, szDBASE, True))
else raise EDatabaseError.Create("Table must be either of Paradox or dBASE type to pack");
Table.Open;
end;


 
Anatoly Podgoretsky ©   (2002-04-17 16:27) [9]

Вай, ты серьезно про nil



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

Текущий архив: 2002.05.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
1-39718
Сатир
2002-04-26 16:45
2002.05.13
Создание компонента


4-39906
Aric
2002-03-12 15:24
2002.05.13
Перерисовать Image


3-39662
ShaH
2002-04-17 08:23
2002.05.13
Interbase и безопасность


6-39817
VELK
2002-02-27 09:24
2002.05.13
Chat без сервера


1-39714
Stocker:)
2002-04-27 09:56
2002.05.13
функция и динамический массив