Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
| Cevap: SQL VE TQUERY Dev Arşiv...
32) CONTROLSDISABLED Veri bilinçli (Data-aware) denetimlerinde gösterilen güncellenen verinin tablo için pasifleştirilip pasifleştirilmediğini belirler. Function controlsdisabled: boolean;
Eğer ControlsDisabled , true ise , denetimler , o anda pasifleştirilirler.Controlsdisabled referans sayısı ki bu tablonun pasifleşme izlerini tutar, 0 dan büyük olduğu sürece true 'dur. Bu sayı DisableControls çağrıldıkça artar. Uygulamalar DisableControls 'u performansı artırmak ve çok sayıda kayıt içeren tablolar arasında dolaşırken sabit görüntü güncellemesini engellemek için çağırmalıdırlar. Kompleks uygulamalarda kontroller zaman zaman pasifleşebilir bu durumu kontrol edip etkinleştirmek için ControlsDisabled kullanılır
Örnek: procedure ReEnableControls (TABLE: TDATASET);
begin
while TABLE.ControlsDisabled do
TABLE.EnableControls;
end; 33) CURSORPOSCHANGED
Tabloda imleç konumunu -1 e ayarlar procedure CursorPosChanged;
Curposchanged , mantıksal imleç konumu ile ilgili fiziksel imleç konumu tarayan değişkeni geçersiz kılan iç yöntemdir . Curposchanged istenilen kayıt için Locate ve Lookup metotlarından önce çağrılır. Bu metotlar eğer başarılı olursa imleci aranana uyan ilk kayda konumlandırır. 34) DELETE
Aktif kaydı siler ve , sonraki kayıta imleci konumlar . Procedure Delete ;
Delete' i aktif kaydı veri tabanından silmek için kullanın. Tablo pasifse Delete bir istisna ortaya çıkarır. Diğer hallerde tablonun boş olmadığını onaylar CheckbrowseMode çağırarak yapılan değişiklikleri kaydeder. BeforeDelete olay denetimcisini tetikler kaydı siler. Kayıt için ayrılan hafızayı serbest bırakır. Tabloyu dsBrowse moduna sokar Kursörü bir sonraki kayda konumlar . AfterDelete denetimcisini tetikler. 35) DISABLECONTROLS
Veri kaynağı bileşeni içinden tablo ile ilgili veri bilinçli (data-aware) denetiminde gösterilen veriyi geçersizleştirir . Procedure Disablecontrols ;
Tabloda çok miktardaki kayıtların içinden önce data-aware denetiminde veri gösterilmesini önlemek için disablecontrols' u çağırın . Kayıtlar arsında hızla ilerlerken bunları ekranda göstermeye gerek yoktur. Bunu da bu methodla yaparız.
Eğer kontroller pasifleştirilmemişse disablecontrols tablonun durumunu kaydeder. Pasif değişken sayısını bir artırır. Aktif denetimcisi ve pasif değişken sayısı diğer metotlarca dahili olarak veriyi objelere yansıtıp yansıtılmayacağını belirlemek için kullanırlar. Pasif değişken sayısı 0 dan büyükse veri gösterilmez. Denetimler , zaten geçersizleştirildiğinde disablecontrols , emniyetle çağırılabilir . Kompleks uygulamalarda farklı işlemler olabilir.
Örnek: with CustTable do
begin
DisableControls;
try
First;
while not EOF do
begin
{ Her kaydı burada işle }
.
.
.
Next;
end;
finally
EnableControls;
end; 36) EDIT
Tabloda verinin biçimlemesini mümkün kılar . Procedure Edit ;
Edit' i aktif kaydı düzenlemeye olanak vermek için çağırın. Edit tablonun aktif durumunu belirler. Tablo boş ise Edit Insert 'i çağırır. Yoksa Edit;
CheckBrowseMode' u herhangi bir değişiklik olduğunda kaydetmek için çağırırlar. BeforeEdit denetimcisini tetikler . Kaydı getirir. Tabloyu dsEdit durumuna getirir. Uygulamaya veya kullanıcıya kayıttaki alanları düzenleme imkanı verir. Kayıt değiştirme denetimcisini tetikler. AfterEdit olay denetimcisini tetikler. Örnek: Procedure TForm1.Button1Click(Sender: TObject);
var
Stream1, Stream2 : TBlobStream;
begin
Stream1 := TBlobStream.Create(Table1Notes, bmRead);
try
Table2.Edit;
{ Aşağıda bloab akışı oluşturmanın diğer bir yolu }
Stream2 := Table2.CreateBlobStream(Table2.FieldByName('Remark s'),
bmReadWrite);
try
Stream2.CopyFrom(Stream1, Stream1.Size);
Table2.Post;
finally
Stream2.Free;
end;
finally
Stream1.Free;
end;
end; 37) ENABLECONTROLS
Veri kaynağı bileşeni içinden tablo ile ilgili data-aware denetiminde veri gös-terilmesini aktif kılar . procedure EnableControls;
Eğer pasif değişken sayısı 0 ise EnableControls tablodaki aktif durumu günceller. Eğer gerekirse olay denetimcisini veri gösterimini yeniden aktif kılabilmek için çağır. 38) FIELDBYNAME
Belirlenmiş alan ismine dayanılan alanı bulur . function FieldByName(const FieldName: string): TField;
Sadece alanın ismi , bilinildiğinde alan için alan bilgisine erişmek için FieldbyName' i çağırın. Fieldname , varolan alanın isimidir . Fieldbyname , belirlenmiş alan için Tfield bileşeni döndürür . Uygulama , özel özelliklere ve alanın yöntemlerine doğrudan erişebilir . Örneğin , aşağıdaki deyim , belirlenmiş alanın hesaplanmış alan olup olmadığını belirler. if Customers.FieldByName('FullName').Calculated then
MessageDlg(Format('%s is a calculated field. ', ['FullName']), mtInformation, [mbOK], 0);
FieldbyName , veri tabanı uygulamalarını ama temelde olan tabloya erişmeyeni yaratan geliştiriciler için özellikle tasarım zamanında yararlıdır ve
bu yüzden , kalıcı alan bileşenlerini kullanamaz .
NOT: Özel alan için değere erişmek veya ayarlamakta , FieldByName yerine varsayılan tablo yöntemiyle FieldValues' ü çağırın. procedure TForm1.Table1BeforeInsert(DataSet: TDataSet);
begin
try
{edit alanının integera çevrilebildiğinden emin olun }
StrToInt(Edit1.Text);
except
Edit1.Text := '0';
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.Insert;
Table1.FieldByName('QUANTITY').AsInteger := StrToInt(Edit1.Text);
Table1.Post;
end; 39) FINDFIELD Tabloda belirlenmiş alan nesnesini arar . Function FindField(const fieldname: string): TField; Belirlenmiş alan bileşeninin , tabloda olup olmadığını belirlemek için Findfield' ı çağırın . Fieldname , aranacak alanın isimidir. Eğer Findfield , eşlenen isimle aynı alanı bulursa , belirlenmiş alan için TField tipinde bileşeni döndürür . Aksi halde boş değer (Nil) döndürür . Findfield , parametre olarak geçerli alan isimi gerektiren FieldByName gibi , diğer tablo yöntemlerini çağırmadan önce kullanma amacına yönelik yararlı bir işlevdir .
Örnek with Table1 do
begin
{ Bu 'CustNo' alanını değiştirmenin güvenli bir yoludur }
FindField('CustNo').AsString := '1234';
{ Bu 'CustNo' alanını değiştirmenin güvenli olmayan bir yoludur }
Fields[0].AsString := '1234';
end; 40) FINDFIRST
Süzgeçlenmiş tabloda imleci ilk kayda konumlamak için görsel bir işlem yerine getirir. function FindFirst: Boolean; Bu işlev , imleç başarılı biçimde yeniden yerleşemediğinde False döndürür . Genellikle uygulama , tablo düzeyinde FindFirst' ü çağırmamalı ama yerine , redeclared' ı ve TTable gibi torun nesnede FindFirst' ü çağırmalıdır . Findfirst , Findfirst'ü yapmayan türemiş tablo nesneleri için Fallback yöntemi sağlar . 41) FINDLAST
Süzgeçleniş tablodaimleci son kayda konumlamak için görsel bir işlem yeri-ne getirir. function FindLast: Boolean; Bu işlev , imleç başarılı biçimde yeniden yerleşemediğinde False döndürür . Genellikle uygulama , tablo düzeyinde FindLast'ı çağırmamalı ama yerine , redeclared' ı ve TTable gibi torun nesnede FindLast 'ı çağırmalıdır. FindLast, FindLast 'ı yapmayan türemiş tablo nesneleri için fallback yöntemi sağlar . 42) FINDNEXT
Süzgeçlenmiş tabloda imleci bir sonraki kayda konumlamak için görsel bir işlem yerine getirir. function FindNext: Boolean; Bu işlev , imleç başarılı biçimde yeniden yerleşemediğinde False döndürür . Genellikle uygulama , tablo düzeyinde findlast' ı çağırmamalı ama yerine , redeclared' i ve TTable gibi torun nesnede Findfirst' ü çağırmalıdır. Findfirst , Findfirst' ü yapmayan türemiş tablo nesneleri için fallback yöntemi sağlar . 43) FINDPRIOR
Süzgeçlenmiş tabloda imleci bir önceki kayda konumlamak için görsel bir işlem yerine getirir. function findprior: boolean;
FindPrior , FindPrior' u yapmayan türemiş tablo nesneleri için Fallback yöntemi sağlar . 44) FIRST
Tabloda ilk kayda imleci konumlamak için genel yöntemi uygular . procedure first ; First' ü TDataset düzeyinde çağırma. TDataset torunlarında , onu aktif kayıt yapmak için ve tabloda ilk kayda imleci konumlamak için first' ü çağır . First , yapılan değişiklikleri aktif kayda kaydeder ve :
Kayıt tamponlarını temizler . Tablo dosyasının başlangıcına imleci ayarlar . Sanalı çağırır , ilk kayda gidip almak için , kursörü onun üstüne konumlandırır, ve onu aktif kayıt yapar . TDataset için bu yöntem , sadece tanımlanır uygulanmaz .
• Gösterilecek ek kayıtları getirir .Buda başka bir etkili metodu çağırır ki bu sadece tanımlanır ,yürütülmez.
• Bof özelliğini true ayarlar.
• Tablo değişim olayları için olay denetimcisini tetikler |