ÖNCELİKLE MUSTAFA HOCAM SENDEN ÖZÜR DİLİYORUM
hocam kurallarımızı biliyorum.(yani yan yattım, çamura battım gibi bir bahane uydurmaya gerek yok)
ama hocam yanlış anlaşılma var...ben sizden cevap istemedim.sadece bir ricada bulundum.Sadece daha önce de bu soruyu sorduğum için formu meşgul etmek istememiştim.
benim sorum DBASE TABLODA KAYITLARI KALICI OLARAK SİLMEK için PACK olayını nasıl uygulayacağız...
viewtopic.php?t=835&highlight=dbase+kay%FDt
formunda Mustafa hocam
http://www.borland.com/devsupport/bde/d ... blpack.zip
http://www.borland.com/devsupport/bde/d ... packex.zip
linklerini vermiş.Bunları indirdim ama kullanamadım.
Yapılan uygulamayı kendim yapmaya calıştım ama PACK komutunu tanıtamadım..
Bu pack olayını nasıl uygulayabileceğimin mantığı ve püf noktaları hakkında biraz bilgilendirebilirseniz çok memnun olurum.
Tüm forma şimdiden teşekkürler.
Mustafa hocam senden tekrar özür dilerim .
Hatasız kul olmaz [/url]
dbase tabloda pack olayı
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 330
- Kayıt: 09 Mar 2004 11:18
- Konum: Konya
- İletişim:
Aşağıdaki procedure ü rahatlıkla kullanabilirsiniz.. Ancak Uses a BDE eklemeyi unutmayın..
Aralarında kendi kodlarım var kendinize uyarlayın..
Sevgiler...
Kod: Tümünü seç
procedure PackTable(Table: TTable);
var
Props: CURProps;
hDb: hDBIDb;
TableDesc: CRTblDesc;
TabloAdi:string;
begin
TabloAdi:=Table.TableName;
Table.Active:=False;
Table.Exclusive:=True;
Table.Active:=True;;
if not Table.Active then
raise EDatabaseError.Create('Tablo aktif değil');
if not Table.Exclusive then
raise EDatabaseError.Create('Tablo toparlanamaz Exclusive özelliği false değerinde !');
Check(DbiGetCursorProps(Table.Handle, Props));
//Şayet paradox table ı ise...
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;
// DbiDoRestructure çağır
Check(DbiDoRestructure(hDb, 1, @TableDesc, nil, nil, nil, False));
end
else
// Şayet dBase table ı ise
if (Props.szTableType = szDBASE) then
Check(DbiPackTable(Table.DBHandle, Table.Handle, nil, szDBASE, True))
else
raise EDatabaseError.Create('Bu Dbase Table ı değil !');
if Table.TableName='Numara.DB' then begin
ShowMessage(TabloAdi+''+' temizlendi');
ShowMessage('Bütün tablolar hatasız temizlendi');
Application.Terminate
end
else
ShowMessage(TabloAdi+''+' temizlendi'); //iş bitti
end;
Sevgiler...
Geçip gideriz bizde ağızsız,dilsiz ve sorgusuz
İstanbul gibi düşeriz iki kıtaya birden...
En aşağılık düş, en büyük sevdadan belki
Erkek ölümler; bir uzun iç çekişle büyür göğsümüz
İstanbul gibi düşeriz iki kıtaya birden...
En aşağılık düş, en büyük sevdadan belki
Erkek ölümler; bir uzun iç çekişle büyür göğsümüz
-
- Üye
- Mesajlar: 330
- Kayıt: 09 Mar 2004 11:18
- Konum: Konya
- İletişim: