ورود

View Full Version : ZAP-PACK



شفیعی
شنبه 03 مرداد 1383, 03:39 صبح
سلام
معادل سه دستورات فاکس پرو زیر در دلفی چیست
ZAP-PACK-REINDEX

hr110
شنبه 03 مرداد 1383, 09:58 صبح
در مورد نحوه عملکرد دستورات توضیح کوتاهی مرقوم فرمایید.

سار
شنبه 03 مرداد 1383, 11:30 صبح
از چپ به راست فکر کنم اینها باشن:
Table1.EmptyTable
نمیدونم
Table1.UpdateIndex

شرحش هم میشه:
حذف همه رکوردها
حذف رکوردها منطقا حذف شده
به روز رسانی ایندکسها

moradi_am
شنبه 03 مرداد 1383, 12:44 عصر
pack در دیتا بیسهای windows ‌غیر از فاکس پرو مفهومی ندارد . چون delete اطلاعات را حذف میکند و مثل فاکس پرو نشانگذاری نمیکند !

شفیعی
شنبه 03 مرداد 1383, 16:12 عصر
سلام
این دستورات بر روی فایلهای DBF که در دلفی لود کرده ایم نیز جواب می دهد

شفیعی
پنج شنبه 24 دی 1383, 05:17 صبح
سلام
برای بازسازی فایلهای پاراداکس باید جکار کرد
مثلا اطلاعات حذف شده را بخواهیم نمایش دهیم و یا این اطلاعات را بطور کامل از فایل حذف نماییم

شفیعی
جمعه 25 دی 1383, 19:48 عصر
سلام
وقتی پروسجر زیر را روی TABLE اعمال می کنم پیغام می دهد TABLE IS BUSY در صورتی که قبل از اجرای پروسجر TABLE.ACTIVE را FALSE می کنم


procedure PARADOXPACK(TABLE:TTABLE);
VAR
TBDESC:CRTBLDESC;
HDB:HDBIDB;
TABLEPATH:ARRAY[0..DBIMAXPATHLEN] OF CHAR;
BEGIN
FillChar(TBDESC,SIZEOF(TBDESC),0);
WITH TBDESC DO BEGIN
StrPCopy(SZTBLNAME,TABLE.TableName);
STRPCOPY(SZTBLTYPE,SZPARADOX);
BPACK:=TRUE;
END;
TABLE.Open;
HDB:=NIL;
Check(DBIGETDIRECTORY(TABLE.DBHANDLE,TRUE,TABLEPAT H));
TABLE.Close;
CHECK(DBIOPENDATABASE(NIL,'STANDARD',DBIREADWRITE, DBIOPENEXCL,NIL,0,NIL,NIL,HDB));
CHECK(DBISETDIRECTORY(HDB,TABLEPATH));
Check(DBIDORESTRUCTURE(HDB,1,@TBDESC,NIL,NIL,NIL,F ALSE));
TABLE.Open;
DBIPACKTABLE(TABLE.DBHANDLE,TABLE.HANDLE,NIL,NIL,T RUE);
END;

شفیعی
یک شنبه 04 بهمن 1383, 04:59 صبح
سلام
مشکل بالا را چه جوری باید حل کرد

شفیعی
دوشنبه 05 بهمن 1383, 21:11 عصر
سلام
:گیج:

esi022
دوشنبه 05 بهمن 1383, 23:49 عصر
شفیعی جان بازم سلام
نمیشه از خیر این foxpro و paradox بگذری؟ :mrgreen:
مطمئنی که جدولت جای دیگه exclusive باز نیست؟

من که از paradoxpack سر در نمیارم اما قبل از table.open از Table.Exclusive: = True رو تست کن.
اینم ببین : http://www.delphicorner.f9.co.uk/articles/db15.htm

شفیعی
سه شنبه 06 بهمن 1383, 15:39 عصر
سلام


نمیشه از خیر این foxpro و paradox بگذری؟

دوست عزیز بنظر شما از چه بانک اطلاعاتی در برنامه هایم استفاده کنم که این مشکلات را نداشته باشد :oops:

esi022
چهارشنبه 07 بهمن 1383, 10:09 صبح
سلام
یستگی به محیط کاری خودت داره
من پیشنهاد میکنم که اولا unicode کار کنی و دوما sqlحالا اگه محیط و platform کاریت unix , php , .... اینهاست از mysql استفاده میشه.
اگه با و windows , asp , delphiاینهاست از sql server .
البته میدونم که my sql برای windows هم استفاده میشه.
در نهایت هم اگه اینا اذیتت میکنه access انتخاب سبکیه واسه کارای معمولی
انتخاب با خودته
oracle , bd2 , dmiasm , چیزای دیگه هم هست
اما روند بازار sql server هست
:موفق: انتخاب با خودته و شرایط کاریت

شفیعی
یک شنبه 09 اسفند 1383, 21:56 عصر
سلام
یک فایل پاراداکس داریم که می خواهیم در داخل برنامه این فایل را خالی کنیم ولی نمی شود


GORUH-KALA.DB
Name Type Size
1 - CODGORUH : + (Autoincrement) 3
2 - NAMEGORUH : String 20
3 - COMENT : String 25

با استفاده از دستورات زیر فایل خالی می کنیم ولی خالی نمی شود


begin
with Table1 do
begin
Active := False;
TableType := ttParadox;
EmptyTable;
Active := true;
end ;

شفیعی
دوشنبه 10 اسفند 1383, 23:04 عصر
سلام
با دستورات بالا اطلاعات فایل به صورت واقعی حذف نمی شود مثلا وقتی اطلاعات فایل را پاک می کنیم بعد رکورد بعدی را که وارد می کنیم بجای اینکه عدد CODGORUH از یک شروع شود از دنباله اعداد پاک شده شروع می شود

شفیعی
دوشنبه 17 اسفند 1383, 20:14 عصر
سلام
کسی از دوستان می تواند بنده را کمک کند