dbase tabloda pack olayı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

dbase tabloda pack olayı

Mesaj gönderen yusuf simsek »

ÖNCELİKLE MUSTAFA HOCAM SENDEN ÖZÜR DİLİYORUM :oops:

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 :oops: .
:!: Hatasız kul olmaz :!: [/url]
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7586
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

hocam testi kırıldı, artık özür dilemenin bir manası yok. Özel mesaj hizmetini kapattım. Dediğim gibi bu noktada bahane yok. Kişisel olarak benim bir kızgınlığım vs. sözkonusu olmaz zaten :)

Sorular lütfen foruma :!:
sair
Kıdemli Üye
Mesajlar: 288
Kayıt: 16 Haz 2003 04:41
Konum: Kastamonu
İletişim:

Mesaj gönderen sair »

Aşağıdaki procedure ü rahatlıkla kullanabilirsiniz.. Ancak Uses a BDE eklemeyi unutmayın..

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; 
Aralarında kendi kodlarım var kendinize uyarlayın..

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
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Mesaj gönderen yusuf simsek »

şair çok teşekkür ederim...

en kısa zamanda kodları deneyip tekrar döneceğim...

Ya bu kodlar yüzünden başıma gelenler herhalde pişmiş tavuğun başına gelmemiştir. :D

Tekrar teşekkür ederim...
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
Cevapla