• If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Duyuru

Gizle
No announcement yet.

Windows Server 2003 kurulumu

Gizle
Bu konu sabit bir konudur.
X
X
 
  • Filtrele
  • Zaman
  • Göster
Hepsini Sil
new posts
  • #31

    28) APPENDRECORD

    Veri tabanının sonuna yeni bir kayıt ekler.
    procedure AppendRecord(const Values: array of const);

    Tablonun sonunda yeni , boş kayıt oluşturmak için AppendRecord' u çağırır ve veri tabanına değerleri kaydeder . Yeni eklenilen kayıt , aşağıdaki üç yo-lun biriyle veri tabanına kaydedilir .

    İndekslenmiş Paradox ve Dbase tabloları için , kayıt , onun dizinine dayanan konumda tablo içinde araya eklenilir . İndekslenmemiş Paradox ve Dbase tabloları İçin , kayıt , tablonun sonuna eklenilir . Sql veri tabanları için , eklemenin fiziksel yerleşimi özel yapılır. . İndekslenmiş tablolar için , dizin , yeni kayıt bilgisi ile güncelleştirilir . Yeni eklenilen kayıt , aktif kayıttır .

    Örnek:
    Customer.AppendRecord([CustNoEdit.Text,CoNameEdit.Text, AddrEdit.Text, Null, Null, Null, Null, Null, Null, DiscountEdit.Text]);
    NOT : Eğer dizinin sonunda belli bir değer yoksa Null yazmanıza gerek yoktur. Burada en son eleman DiscountEdit.Text olduğu için aradakileri Null ile belirtmemiz gerekir.

    29) CHECKBROWSEMODE

    Uygulama aktif kaydı değiştiren bir metodu çağırdığında otomatik olarak değişiklikleri kaydeder veya iptal eder.
    Procedure CheckBrowseMode;

    Tablonun durumu , dsEdit , dsInsert veya dsSetkey durumu olduğunda ve başka bir kayda bağlanan bir metot çağrıldığında CheckBrowseMode , aktif kayıtta yapılan değişikliklerin veri tabanına kaydedildiğinden emin olmak için bir çok tablo yöntemi tarafından dahili olarak kullanılır . Eğer durum , dsEdit veya dsInsert olsa , CheckBrowseMode , UpdateRecord 'u çağırır ve sonra , eğer tablo için değiştirilmiş özellik , true olursa , CheckBrowseMode, Post' u çağırır . Modified False ise CheckBrowseMode Cancel' ı çağırır. Eğer durum , dsSetkey olsa , CheckBrowseMode, Post' u çağırır .

    Eğer durum , dsInactive olursa , CheckBrowseMode, kural dışı durumu or-taya çıkarır. Eğer uygulama var olan tablo yöntemlerinden birini kullanıyorsa CheckBrowseMode yalnızca ihtiyaç duyulduğunda çağrılır. Bu yüzden genel-likle bunu direk olarak çağırmak gerekmez. Özel tablo yöntemlerini gerekti-ren uygulamalar CheckBrowseMode' u başka bir kayda geçildiğinde deği-şikliklerin kaydedilip kaydedilmediğinden emin olmak için kullanırlar.

    30) CLEARFIELDS

    Aktif kayıt için bütün alanların içindekileri temizler .
    procedure ClearFields;

    Aktif kayıt için bütün alanların aktif içeriklerini silmek amacıyla ClearFieldsi çağır . Eğer tablo ne dsInsert ne de dsEdit durumunda ise ClearFields bir istisna durumu çıkarır. Diğer hallerde DataEvent olay durum ayarlayıcısını CheckBrowseMode' u çağırmak için kullanır. Sonra kayıttaki tüm alanları temizleyerek işe başlar. Eğer Setkey işlemi yapılmamışsa ClearFields tüm hesaplanmış alanları tekrar hesaplamak zorunda kalacaktır. Aynı zamanda DataEvent denetimciyi kaydın değiştiğini bildiren bir parametre ile çağırır. . Dönüşte , Data Event denetimcisi , tablo ile ilgili veri kaynağı bileşeni için ondatachange olay denetimcisini çağırır .

    31) CLOSE

    Tabloyu kapatır .
    Procedure Close ;

    Tablonun Active özelliğini false ayarlamak için Close' u çağırın . Active , False olduğunda tablo, kapatılır. Tablo , veriyi okuyamaz veya veri tabanına veriyi yazamaz . Uygulamada veriyi gösteren veri tabanı veya dene-timlerin durumunu etkileyen diğer özellikler değişmeden önce uygulama , Active' i false ayarlamalı . Örneğin , DataSource' un tablo özelliğini değiştirmeden önce Active false ayarlanmalı ki bu işlem yapılabilsin. Active' i false ayarlamak tabloyu dsinactive durumuna koyar ve BDE imlecini kapatır.

    Yorum yap

    • #32

      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;

      Yorum yap

      • #33

        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

        Yorum yap

        • #34

          45) FREEBOOKMARK

          Belirtilmiş yerimi için ayrılan kaynakları boşaltır.
          type TBookmark = Pointer;
          procedure FreeBookmark(Bookmark: TBookmark); virtual;

          Tabloda işaretlenen yer imlerini serbest bırakmak için Freebookmark'ı çağırın . Yeniden atamadan önce varolan yer imini serbest bırakır . Yer imi , artık ihtiyaç duyulmadığında belirlenmiş yer imi için ayrılan belleği serbest bırakır .Aşağıdaki örnek bir önceki kayıttaki alanın değerini aktif kayıttaki aynı alana kopyalar.

          procedure TForm1.CopyDataClick(Sender: TObject);
          var
          SavePlace: TBookmark;
          PrevValue: Variant;
          begin
          with Table1 do
          begin
          { Yerimi al böylece aynı kayda dönebiliriz }
          SavePlace := GetBookmark;
          { Önceki Kayda konumlan }
          FindPrior;
          { Değeri al }
          PrevValue := Fields[0].Value;
          {Yerimine geri git }
          GotoBookmark(SavePlace);
          { Değeri Set et }
          Fields[0].Value := PrevValue;
          { Yerimini temizle }
          FreeBookmark(SavePlace);
          end;
          end;

          Tablonun başına gelindiğinde önceki tuşunun pasif olması için BOF fonksiyonuyla bir kontrol yapılır.

          procedure TForm1.Table1DataChange(Sender: TObject; Field: TField);
          begin
          if Table1.BOF then
          CopyData.Enabled := False
          else
          CopyData.Enabled := True;
          end;


          46) GETBOOKMARK

          Tabloda aktif imlecin konumuna yer imini yerleştir.
          type TBookmark = Pointer;
          function GetBookmark: TBookmark; virtual;

          Tabloda aktif kayıt için yer imini kurmak amacıyla GetBookmark ı çağırın . yer imi , varken kayıt için yer imi kurarak her istendiğinde tabloda o kayda
          dönmeyi mümkün kılar . GetBookMark , TBbookMark tipinde uygulamada zaten tanımlanmış değişkeni gerektirir .Getbookmark' ı GotoBookMark ve FreeBookMark 'a yapılacak sonraki çağrılarda referans edecek bir değer aktarmak için kullanın.

          NOT :GetBookmark artık bu yer imlerine ihtiyaç olmadığında FreeBookMark' ı kullanarak bunun için ayrılan hafızayı serbest bırakmalıdır.

          47) GETFIELDLIST

          Liste içine belirlenmiş alan nesnelerinin setini getirir.
          procedure GetFieldList(List: TList; const FieldNames: string);

          Uygulama tarafından yaratılan ve uygulamaca sürdürülen liste nesnesi içine belirlenmiş alan nesne setlerini kopyalamak için GetFieldList' i çağırın. Liste , alan nesnelerini kopyalanması gereken TList nesnesidir . FieldNames , kopyalanacak alanların ismini içeren dizidir . Dizide her bir alan isimi , noktalı virgül ile diğer alan isimlerinden ayrılmalıdır . GetFieldList , tablonun alan nesnelerinin isimlerinden oluşan bir liste yapar.

          NOT: Normal olarak uygulamalar , alan nesnelerini kopyalamak için GetFieldList' i çağırmamalılar . alan nesneleri , tablonun içinden doğrudan erişilmelidirler . Bazı durumlarda , ancak , o tabloda güncel nesnede çalışmak yerine alan nesnesi veya verisinin kopyası ile çalışmak yararlı olabilir . Bu durumlarda , GetFieldList, yararlıdır .

          48) GETFIELDNAMES

          Tabloda bütün alanlar için isimlerin listesini getirir .
          procedure GetFieldNames(list: tstrings);

          Tablodaki bütün alanlar için isim listesini almak amacıyla GetFieldNames ' i çağırın . Liste , uygulama tarafından yaratılan ve korunan TStrings nesnesidir . Nesneleri runtimede dinamik olarak yaratılan alan nesnelerine sahip olan uygulamalar için alan isimlerinin listesini almak oldukça yararlıdır . Alan isimlerinin listesine erişerek , uygulama , runtime da sadece var olan alanlar ile çalışmağa zorlanabilir.

          49) GOTOBOOKMARK

          Belirlenmiş yer imi tarafından işaret edilen kayda imleci konumlamak için sanal yöntem uygular .
          type TBookmark = Pointer;
          procedure GotoBookmark(Bookmark: TBookmark);

          TDataset düzeyinde GotoBookMarkı çağırma . GotoBookMark , sanalı çağırır TDataset tarafından uygulanılmayan iç yöntemi ayırır. Bunun yerine TDataset' in torunları GotoBookmark metodunu yeniden tanımlar ve yürütür. Uygulamalarda torunların metodunu kullanmaları tavsiye olunur.

          50) INSERT

          Tabloya yeni , boş kayıt ekler.
          Procedure Insert ;

          Insert' ü şu durumlarda çağırın.
          1) Tabloda yeni , boş kaydı açmak için ,
          2) Yeni kaydı aktif kayda ayarlamak için .

          Insert metodu kullanıldıktan sonra uygulama kullanıcıların kaydın alanlarına veri girilmesine izin verir. Daha sonra bu değişiklikleri Post ile veya eğer Cached Updating aktifse applyupdates ile kaydetmenize izin verir.
          Yenice eklenen kayıt , aşağıdaki üç yolun biriyle veri tabanına kaydedilir.
          1) İndekslenmiş paradox ve dbase tabloları için , kayıt , indeks pozisyonuna göre tablo içine araya eklenilir .
          2) Unindexed Paradox ve dbase tabloları için , kayıt , aktif imleç konumunda tablo içine araya eklenilir
          3) Sql veri tabanları için ekleme işlemi özel olarak yapılır.
          indekslenmiş tablolar için , dizin , yeni kayıt bilgisi ile güncelleştirilir .


          x7even
          Açık Profil bilgileri
          x7even - Özel Mesaj gönder
          x7even´nin Web Sitesini ziyaret edin
          x7even - Daha fazla Mesajını bul
          x7even - Arkadaş Listene ekle

          51) INSERTRECORD

          Tabloya yeni bir kayıt ekler ve bunu veri tabanına kaydeder.
          procedure InsertRecord(const Values: array of const);

          Tabloda yeni , boş kayıt yaratmak için InsertRecordu çağır ve veri tabanına değerleri kaydet. araya yeni kayıt ekleme , üç yolun biriyle veri tabanıya kaydedilir.
          1) İndekslenmiş paradox ve dbase tabloları için , kayıt , dizini dayanılan ko-numda tablo içine araya eklenilir
          2) Unındexed Paradoxu ve Dbase tabloları için , kayıt , aktif imleç konumunda tablo içine araya eklenilir
          3) Sql veri tabanları için ekleme işlemi özel olarak yapılır. indekslenmiş tab-lolar için , dizin , yeni kayıt bilgisi ile güncelleştirilir .
          Yeni araya eklenen kayıt , aktif kayıtdır .

          Aşağıdaki ifade Customer tablosuna kayıt ekler. Bazı değerlere boşluk atanmıştır fakat dizinin sonundaki elemanlar için boşluk atamaya gerek yoktur. Bu elemanlar belirtilmediğinde boş sayılırlar.
          Customer.InsertRecord([CustNoEdit.Text, CoNameEdit.Text, AddrEdit.Text, Null, Null, Null, Null, Null, Null, DiscountEdit.Text]);

          52) ISEMPTY

          Tablonun kayıt içerip içermediğine , karar verir
          function IsEmpty: Boolean;

          Eğer tablo , herhangibir kayıt içermezse IsEmpty , true döndürür , aksi halde false döndürür .

          53) ISLINKEDTO

          Tablonun belirlenmiş veri kaynağına bağlanıp bağlanmadığını denetler .
          function IsLinkedTo(DataSource: TDataSource): Boolean;

          NOT .IsLinkedTo geliştiriciler için üretilmiştir. Genel veri erişimi için buna ihtiyaç duyulmaz Eğer tablo , belirlenmiş veri kaynağını zaten kullanıyorsa , IsLinkedTo , true döndürür Eğer tablo , belirlenmiş veri kaynağını kullanmazsa ve veri kaynağı , kendi tablosuna sahip değilse, IsLinkedTo , false döndürür.

          54) LAST

          Tabloda son kayda imleci konumlamak için genel yöntemi uygular .
          Procedure Last ;

          TDataset düzeyinde Last' ı çağırma. TDataset torunları , onu aktif kayıt yapmak ve imleci son kayda konumlamak için Last' ı çağırır .Last aktif kayda yapılan her değişimi kaydeder.Ayrıca :
          • Kayıt tamponlarını temizler,
          • Tablo dosyasının sonuna imleci ayarlar ,
          • Sanalı çağır , son kayda erişmek için bu metodu çıkarır kursörün üzerine konumlandırır ve onu aktif kayıt yapar TDataset için bu tanımlanmış fakat çalıştırılmamıştır.
          • Gösterilecek ek kayıtları da getirir. Grid kontrolü dolduracak olan kayıtları getirir,
          • Eof özelliğini true yapar,
          • Tablo değişim olayları için olay denetimcisi tetikler .

          Yorum yap

          • #35

            55) MOVEBY

            Tabloda aktif kaydı ile ilişkili kayda imleci konumlandır.
            function MoveBy(Distance: Integer): Integer;

            Uzaklık , gidilecek kayıt sayısını gösterir. Negatif değer , geriye gitmeyi gösterir iken pozitif değer , tablo içinde ileriye doğru hareket etmeyi gösterir.
            Örneğin , 10 kayıt kadar tablo içinden geriye gitme işlemini Moveby ( -10 ) ile gerçekleştiririz. Moveby , aktif kaydı veya herhangi bir değişimi kaydeder. Eof' 'a ve Bof' a false özelliğini ayarlar . Eğer dosyanın sonuna gelindiyse Moveby , eof 'u true ayarlar. Eğer dosyanın başına gelindiyse Moveby , bof 'u true ayarlar. Tablo kaydırma olayları için olay denetimcisini tetikler. Hareket ettirilen kayıtların gerçek sayısını döndürür . Çoğu durumda , sonuç , uzaklığın mutlak değeridir ama eğer Moveby , kütük başı veya kütük sonu ile karşılaşırsa, sonuç , uzaklığın mutlak değerinden daha az olacaktır.

            56) NEXT

            Tabloda sonraki kayda imleci konumlamak için genel yöntem uygulanır.
            procedure Next;

            TDataset düzeyinde next' i çağırmayın .TDataset torunlarında,onu aktif kayıt yapmak ve Dataset de imleci sonraki kayıtta konumlamak için next' i çağırın . Aktif kayıttaki herhangi bir değişimi next kaydeder . Eof' a ve Bof' a false özelliğini ayarla . Eğer son kayda gelindiyse eof 'u true ayarlar. Tablo kaydırma olayları için olay denetimcisini tetikler.

            57) OPEN

            Tabloyu açar.
            Procedure open;

            Tablonun active özelliğini true ayarlamak için open' ı çağır .Active true iken veri tabanına yazılabilir ve buradan okunabilir. Active' i true ayarlayarak tablo tanımlandı ise BeforeOpen olay denetimcisini tetikler .Tablo durumunu dsBrowse' a ayarlar. Tablo içine BDE' yi açar(sadece TQuery ,TStoredProc, TTable için geçerli) Eğer tanımlandıysa AfterOpen olay denetimcisini tetikler. Eğer tablo açma sırasında hata çıkarsa tablo durumu , dsInactive' e ayarlanır ve imleç kapatılır .

            58) POST

            Veri tabanına değiştirilmiş kaydı yazmak için genel yöntemi uygular .
            Procedure Post; virtual;

            TDataset , veri tabanına değiştirilmiş kaydı yazmak için gerçek yöntemi uygular. Tablo durumunu değiştiren tablo metotları (Edit, Insert,Append veya First,Last,Next ve Prior) otomatik olarak Post metodunu çağırırlar. TDataset in tüm torunları veri tabanına yazmak için post metodunu yeniden tanımlar ve işler.

            Aşağıdaki örnek kullanıcı butona tıkladığında tabloya yeni bir kayıt ekler. Alphanumeric ve ınteger adlı iki alan edit kontrollerince doldurulur.

            procedure TForm1.Button1Click(Sender: TObject);
            begin
            Table1.Append;
            Table1.FieldValues['ALPHANUMERIC'] := Edit1.text;
            Table1.FieldValues['INTEGER'] := StrToInt(Edit2.text);
            Table1.Post;
            end;

            59) PRIOR

            Tabloda önceki kayda imleci konumlamak için genel yöntemi uygular.
            procedure Prior;

            TDataset düzeyinde Prior 'u çağırma. TDataset torunlarında , tabloda önceki kayıtda imleci konumlamadan önce çağır ve o aktif kaydı aktif kayıt yapar ve her değişimi kaydeder. Eof'a ve bof'a false özelliğini ayarla . Eğer ilk kayda gelindiyse gelindiyse eof 'u true ayarlar. Tablo kaydırma olayları için olay denetimcisini tetikler.

            60) REFRESH

            Tablonu veri görüşünü yenilemek için veri tabanıdan verinin yeniden genel yöntemlerce getirilmesini sağlar.
            procedure Refresh;

            TDataset nesnesi için tazelemeyi çağırmayın. Yerine , redeclared' ı çağırın ve TDataset in torunları için refresh' i yeniden yürüt refresh ile uygulama ,veri tabanındaki en son veriye sahip olunduğundan emin olur . Örneğin :bir uygulama bir tablonun filtrelemesini sonlandırınca ,o hemen tablodaki tüm kayıtları listelemek için Refresh' i çağırmalıdır.

            Yorum yap

            • #36

              61) RESYNC

              Aktif kaydı ve onun önündeki ve sonundaki kayıtları yeniden getirir.
              type TResyncMode = set of (rmExact, rmCenter);
              procedure Resync(Mode: TResyncMode); virtual;

              Resync diğer tablo metotlarınca Delphi tablolarıyla fiziksel verileri - bunlar çağrı yapıldığında kursör pozisyonunu değiştirebilirler - yeniden uyumlu hale getirmek için kullanılır. Uygulamalar Resync yerine Refresh metodunu kullanmalılar. Mode Resync 'nin alabileceği mümkün işlemleri belirtir.

              Eğer mod , rmexasct'ı içerir , resync eğer imleç ,geçerli kayıtta yerleştirilmediğinde , resync çağrılırsa resync istisna çıkarır. Eğer mod rmCenter içerirse, Resync aktif kaydı tüm buffırlanmış kayıtların merkezine koyar.

              Mode ne olursa olsun resync aynı zamanda aktif kayıt için buffer' ı aktif eder. Önceki ve sonraki kayıtları ekrana getirmek için çağırır ve tablonun change olayını tetikler.

              62) SETFIELDS

              Kayıttaki bütün alanların değerlerini ayarlar .
              procedure SetFields(const Values: array of const);

              Aynı anda bazı alanlar için değerleri veya bütün alanları ayarlamak için SetFields' ı çağırın. Values , her bir alan içine eklenecek değerleri içerir .

              Değerler sutunların sırasına göre atanır. Bu değerler literal,değişken veya boş olabilir. Eğer sütun sayısından az değer girilirse bunlar boş sayılır. Böyle alanlarda herhangi bir varolan değerin üstüne yazar. SetFields çağırmadan önce , DataSeti dsedıt durumu içine koymak üzere editi çağır. Setfıeld çağırdıktan sonra , veri tabanına değişiklikleri yazmak İçin post'u çağır .

              NOT: Bazı alanların değerlerini var olanların değerlerini diğerleri için saklamak ve değişmeyeceklere boşluk atamak suretiyle ayarlamaktır.

              63) TRANSLATE

              Kaynaktan hedefe veri kopyalama sırasında karakter transferi yapar.
              procedure Translate(Src, Dest: PChar; ToOem: Boolean); virtual;

              Bu işlev , hedef dizgisine kaynak dizgisini kopyalar ve , ToOem'de geçilen değeri yok sayar . Genelde uygulama TDataset seviyesinde bu çağrıyı yapmaz. Fakat bunun yerine torunların geliştirilmiş ve yeniden tanımlanmış çağrılarını kullanın. Örneğin TTable veya geliştirici tabanlı objeler gibi.

              64) UPDATECURSORPOS

              İmleci aktif kayıta konumlar.
              procedure UpdateCursorPos;

              Updatecursorpos , fiziksel imlecin aktif kayıtta doğru yerleştirildiğinden emin olmak amacıyla bir çok tablo yöntemi tarafından kullanılan iç yordamdır. Normal olarak uygulamanın , UpdateCursorpos' u çağırması gerekmez. Genelde fiziksel kursor pozisyonu ile mantıksal kursor durumunun eşit olup olmadığına bakar.

              65) UPDATERECORD

              Kayıt güncelleştirmesi için veri olayını harekete geçirir .
              procedure UpdateRecord;

              UpdateRecord cached güncellemeler aktif iken onUpdateRecord olayını tetiklemek için bazı tablo yöntemlerince dahili olarak kullanılır. Uygulamalar genelde tablo yöntemlerini es geçecek özel yöntemler gerekmedikçe bunu kullanmazlar.

              66) DESTROYCOMPONENTS

              Destroycomponents sahibi bulunulan öğeler arasında ilerlerken sahipleri tarafından değiştirilir.
              procedure DestroyComponents;

              Destroycomponents , bileşenlerin sahipleri tarafından otomatik olarak silindiğinden emin olmayı sağlar. Destroycomponents' i doğrudan çağırmak gerekli değildir.

              67) DESTROYING

              Destroying csDestroying bayrağını nesneler ve sahiplenmiş tüm öğeler için bu öğelerin yok edilmekte olduğunu belirten şekilde ayarlar.
              procedure Destroying;

              Eğer csDestroying , zaten ayarlanılırsa , destroying, hiçbir şey yapmaz . Destroying' i doğrudan çağırmak gerekli değildir.

              68) FINDCOMPONENT

              Verilen öğenin -Aname- bir öğece sahiplenip sahiplenmediğini belirtir.
              function FindComponent(const AName: string): TComponent;

              FindComponent , arama parametresindeki dizgiye eşit olan isim özelliğine sahip bileşen dizisi içinde olan bileşeni döndürür. Verilen bileşenin başkası tarafından sahiplenip sahiplenmediğini bulmak için kullanın. FindComponent , büyük ve küçük harfe duyarlı değildir.

              69) FREENOTIFICATION

              Freenotification , Acomponent bileşenin imha edileceğinin bildirildiğinden emin olmak için kullanılır .
              procedure FreeNotification(AComponent: TComponent);

              Farklı bir formdaki bileşen , bileşenin özelliğine atandığında FreeNotification' ı kullanın. Bileşene sahip olan diğer formlarda bileşenler için FreeNotification' u çağırmak gereklidir. Fakat aynı formdaki bileşenler için Notification metodu otomatik olarak çağrılır.

              70) FREEONRELEASE

              FreeOnRelease , com sınıflarından oluşturulan bileşenler için arayüz kayna-ğını serbest bırakır .
              procedure FreeNotification(AComponent: TComponent);

              Freeonrelease bileşence işlenen arabirim serbest bırakıldığında çağrılır. Freeonrelease , dahili olarak kullanılır ve uygun arayüz yöntemi çağrılır.Freeonrelease' i doğrudan çağırmak gerekli değildir.

              71) GETPARENTCOMPONENT

              Getparentcomponent , TComponent için boş (null) döndürür .
              function GetParentComponent: TComponent; dynamic;

              GetparentComponent yöntemi TComponent' de, delphi akış sistemi için uygunluk amacıyla tanıtıldı. Torun sınıflar , kendi ata sınıflarını döndürürler.

              72) HASPARENT

              Hasparent , TComponent için False döndürür .
              function HasParent: Boolean; dynamic;

              True değeri dönerse bundan mesul olan bir obje var demektir. Hasparent'dan true döndüren herhangi bir çocuk bileşeni , GetParentComponent ve SetParentComponent yöntemleri şimdi aynı zamanda uygulamalıdır.

              Yorum yap

              • #37

                73) INSERTCOMPONENT

                Bileşeni , Acomponent parametresinde geçen bileşenin sahibi olarak kurar.
                procedure InsertComponent(AComponent: TComponent);

                InsertComponent , bileşenin dizi özelliğinin sonuna bileşen ekler. Sokulan parça , isme sahip olmamalı veya isim , bileşen listesinde bütün diğerleri ara-sında tek olmalıdır . Ana bileşen , imha edildiğinde , acomponent , aynı za-manda imha edilir .

                Delphi Form tasarımcısında görsel biçimde işlenen bileşenler otomatik ek-lenir ve kaldırılacaklar otomatik olarak kaldırılırlar. Başka bileşen sahibinin bileşen listesine bileşenleri el ile eklediğinde InsertComponent'i kullanın .

                74) REMOVECOMPONENT

                RemoveComponent , bileşenin bileşen listesinden Acomponent parametresinde belirtilen bileşeni çıkarır.
                procedure RemoveComponent(AComponent: TComponent);

                Delphi Form tasarımcısında görsel biçimde işlenen bileşenler otomatik olarak kaldırılırlar. Bileşeni el ile kaldıracağında RemoveComponent' i kullanın. ComponentCount, Components, RemoveComponent, InsertComponent 'a bir örnek aşağıda verilmiştir. Bu parça form üzerindeki görsel olmayan bileşenleri ayrı veri modüllerine ayırır. Çıkarılan bileşenler sondan itibaren çıkarılır. Bu kod formu veya veri modülünü diske görsel olmayan bileşen eklendikten sonra saklanmaz

                var
                I: Integer;
                Temp: TComponent;
                begin
                for I := ComponentCount - 1 downto 0 do
                begin
                Temp := Components[i];
                if not (Temp is TControl) then
                begin
                RemoveComponent(Temp);
                DataModule2.InsertComponent(Temp);
                end;
                end;
                end;

                75) SAFECALLEXCEPTİON

                SafeCallException OLE istisnalarını desteklemek için kullanılan bir hata tutma metodudur.
                function SafeCallException(ExceptObject: TObject; ExceptAddr: Pointer): Integer; override

                Safecallexception , ole kural dışı durum tutma desteği için kullanılır .Com ve OLE arayüzlerini bu uygulayan sınıflar , ortaya çıkabilecek diğer hataları tutmak için bu yöntemi kullanmalılar. Delphi'de Com ve OLE sınıfları , SafeCallException'a engel olurlar. Eğer varsa , TComponent , bileşeni tarafından desteklenilen arayüz için bu yöntemi işletilmesi için çağırır. Eğer bileşen , ara yüzleri desteklemezse , bu yöntem , E_UNEXPECTED döndüren miras yöntemini çağırır. Bu , herhangi bir ara birimleri desteklemeyen sınıflar için uygun olan varsayılan dönüş değerdir .

                Yorum yap

                • #38

                  TPERSISTENT den devralınan metotlar

                  76) ASSIGN

                  Assign , bir nesneyi diğer nesneye , o nesnenin içindekilerlerini yüklemek suretiyle kopyalar.
                  procedure Assign(Source: TPersistent);

                  Az miktardaki Delphi sınıfları farklı tiplerdeki nesnelere atama yapmaya izin verir. Diğer durumlarda eğer iki nesne Tpersistent'in torunuysa fakat aynı tipte değilseler Assign' a yapılan çağrı EconvertError hatasını verir.Standard Assign çağrı şekli Hedef.Assign ( kaynak ) dır ve bu hedef nesneye kaynak nesnenin içeriğini kendisine kopyalamasını söyler. Genelde, hedef: = kaynak , deyimi Hedef. Assign ( kaynak ) 'a eşit değildir.
                  Hedef: = kaynak deyimi , kaynak nesnesinin aynısından bir hedef nesnesi yapar oysa Destination.Assign ( kaynak ) , kaynakla belirtilen nesnenin içeriğini hedefle belirtilen yeni bir nesneye kopyalar.

                  NOT. Bazı özelliklerin tipleri , aynı zamanda nesnedirler .

                  Eğer bu özellikler Assign' ı özelliğin değerini ayarlamak için kullanılan yazma metotlarına sahipseler , bu durumda Hedef := Kaynak" deyimi "Hedef.Assign (Kaynak)" deyimiyle aynı olacaktır. Değişim Assign ve AssignTo metotlarının ikisinde de olacaktır. Fark kimin atama işlemi için çalıştığıdır.Aynı zamanda kaynak , boş da olabilir .

                  77) GETNAMEPATH

                  Getnamepath , Object Inspector .tarafından kullanılan karakter dizisi döndürür .
                  function GetNamePath: string; dynamic;

                  GetNamePath , sadece dahili kullanım içindir . Biçimlenen nesnenin ismi için Object Inspector da gösterilecek metne karar vermek amacıyla kullanılır. GetNamePath , TPersistent 'ta tanıtılır bu yüzden toplamalar gibi torunlar Objece Inspector'da görünebilirler.

                  NOT: Doğrudan GetNamePath' i çağırmayın.Bileşenler için bu bileşen ismidir. TCollectionItem nesneleri için bu ev sahibi bileşeninin ismidir , özelliğin ismidir,parantezlerle çevrilen toplamanın içindeki dizindir.

                  TOBJECT' den devralınan Metotlar

                  78) CLASSINFO

                  ClassInfo nesne tipi için çalışma anı tip bilgisi tablosu ( RTTI ) için bir pointer döndürür.
                  class function ClassInfo: Pointer;

                  Nesne tipi hakkında bilgiyi içeren RTTI tablosuna ve onun ata tipi ve yayın-lanmış özelliklerine erişmek için ClassInfo'yu kullanın. RTTI , Delphi ortamında dahili olarak çokça kullanılır. Classinfo , uygulamada nadiren doğrudan çağırılır. TObject özelikle RTTI bilgisine erişmek amacına yönelik tasarlanan diğer metotları da destekler.

                  79) CLASSNAME

                  Classname , değişkenin tipinden daha ziyade , değişken tarafından referans edilen nesne örneğinin güncel tipinin ismini içeren bir karakter dizgi döndürür.
                  class function ClassName: ShortString;

                  Başka yordama parametre olarak dizginin geçtiği gibi , dizgi formatındaki nesnenin gerçek tipini bulmak amacıyla ClassName' i kullanın. Örneğin , ata tipinin değişkeni , herhangi bir torun tipin örneğine başvurabilir. Bu durumda , ClassName , tanımlı değişkenin tipini kapsayan dizginden daha ziyade , nesnenin güncel tipini gösteren dizgi döndürür. Classname , nesne karşıtı modülleri hakkında bilgi sağlar .Bu yüzden İstisna -kullanma için özellikle yararlıdır . Kısmi nesne üzerindeki istisna -kullanma hatalarını rapor ederken, ClassName sınıfların karakter karşılaştırmasını yapan deyimce kullanılır.

                  80) CLASSNAMEIS

                  ClassNameIs , nesnenin özel bir tipten olup olmadığını belirler .
                  class function ClassNameIs(const Name: string): Boolean;

                  ClassNameIs 'i bir nesnenin nesne geçit modüllerini veya DLL' leri sorgula-mak için veya nesne tipine dayanan dururmsal kodlar yazarken kulla-nın.Eğer Name parametresinde geçen dizgi , sınıf ismine eşitse ClassNameIs , true döndürür . Aksi halde , false döndürür

                  Yorum yap

                  • #39

                    81) CLASSPARENT

                    ClassParent , sınıfın yakın (şimdiki) atasının tipini döndürür.
                    class function ClassParent: TClass;

                    Classparent , TOobject tipi için boş döndürür: çünkü TObject' in atası yoktur ClassParent Delphi' ce dahili olarak is ve as operatörlerince ve InheritsFrom metodunca RTTI bilgisine erişmek amacıyla kullanılır. Sınıf yöntemi olduğundan , herhangi bir sınıf referansının tipine karar vermek için de kullanılabilir .

                    NOT: Uygulamalar direkt olarak bunu çağırmamalıdır. Bunun yerine is ve as operatörlerini kullanın.

                    ClassType, ClassParent Örnekleri

                    Bu örnek bir bileşenin ClassType ve ClassParent özelliklerini kullanarak bileşenin atasının elde edildiğini gösterir. Form üzerinde bir düğme, bir liste kutusu kullanır. Kullanıcı düğmeyi tıkladığında düğmenin sınıfının ve onun ebeveyn sınıflarının ismi liste kutusuna eklenir.

                    procedure TForm1.Button1Click(Sender: TObject);
                    var
                    ClassRef: TClass;
                    begin
                    ListBox1.Clear;
                    ClassRef := Sender.ClassType;
                    while ClassRef <> nil do
                    begin
                    ListBox1.Items.Add(ClassRef.ClassName);
                    ClassRef := ClassRef.ClassParent;
                    end;
                    end;

                    Liste kutusu kullanıcı düğmeyi tıkladığında şunları içerir.
                    • TButton
                    • TButtonControl
                    • TWinControl
                    • TControl
                    • TComponent
                    • TPersistent
                    • TObject

                    82) CLASSTYPE

                    Classtype , nesne örneğinin yürütme anı tip bilgisi için bir pointer döndürür .
                    Function ClassType: TClass;

                    ClassType dinamik olarak, nesnenin gerçek tipin belirler. ClassType Delphide is ve as operatörlerince dahili olarak kullanılır . Classtype' ı doğrudan çağırmayın.

                    NOT: Uygulamalarda bunu kullanmayın. Yerine is ve as operatörlerini kullanın.

                    83) CLEANUPINSTANCE

                    CleanUpInstance uzun dizgiler , değişkenler ve arayüz değişkenlerinde bir sınıf dahilinde sonlandırmayı gerçekleştirir .
                    procedure CleanupInstance;

                    Doğrudan CleanUpInstance' ı çağırmayın.Free çağırıldığında, CleanUpInstance otomatik olarak çağırılır .CleanUpInstance, bütün uzun dizgileri ve değişkenleri serbest bırakır.Uzun dizileri boşa ve değişkenleri Unassigned' a atar.

                    84) DEFAULTHANDLER

                    DefaultHandler , ona geçilen mesaj kaydını işlemek için arayüz ile tanıştırır .
                    procedure DefaultHandler(var Message); virtual;

                    Dispatch tarafından , kısmi mesaj için yöntem bulamadığında bu metot çağırılır. DefaultHandler , nesnenin özel denetimcilere sahip olmadığı bütün bildiriler için mesaj yöneticisi sağlar . Bildirileri işleyen TObject' in torun sınıfları , genellikle işledikleri bildirilerin tipine göre DefaultHandler yöntemini tanımlarlar.Örneğin , TWinControl , DefWindowProc' u çağırmak için DefaultHandler' a baskı yapar.

                    85) DISPATCH

                    Mesaj parametresinin içeriğine dayanan nesne için ,mesaj yönetme metodu-nu gönderir.
                    procedure Dispatch (var Message);

                    Dispatch, bir mesajın ,nesne için tanımlanan mesaj yöneticisi listesinde olup olmadığını belirler. Eğer nesne mesajı kullanmazsa Dispatch ata tipinin mesaj yönetim listesini inceler. Atalarını DefaultHandler 'ı çağırdığı durumlarda hem ataları bitene hem de özel yöneticiler bulana kadar kontrol etmeye devam eder.

                    Mesaj parametresi , Dispatch için tipsizdir. Ne kadar verinin her çeşidi , Dispatch' e geçilebildiği halde , TMessage gibi veya özel mesaj kayıt tipi gibi mesaj kaydını kullanın. Mesajın ilk iki baytı mesaj ID' yi içerir ve hangi mesaj yöneticisinin mesajı kullandığını belirtir.

                    Yorum yap

                    • #40

                      86) FIELDADDRESS

                      FieldAddress , yayınlanmış nesne alanının adresini döndürür.
                      function FieldAddress(const Name: ShortString): Pointer;

                      FieldAddress Delphi akış sistemini tarafından dahili kullanılır. Eğer varsa FieldAddress, alana pointer döndürür. Eğer nesne o isimde yayımlanmış alana sahip değilse FieldAddress boş (nil) döndürür. Kullanıcılar , FieldAddress yerine özellikler kullanarak alanlara erişmeliler ve alanlar üzerinde işlem yapmalılar.

                      87) FREE

                      Free , gerekliyse nesneyi yok eder ve onun için ayrılan belleği serbest bıra-kır.
                      Procedure free ;

                      Free' yi , nesneyi yok etmek için kullanın. Free nesne durumu boş değilse otomatik olarak Destroy' u çağırır.

                      88) FREEINSTANCE

                      FreeInstance , önceki NewInstance metodunu çağırmak yoluyla ayrılan hafızayı serbest bırakır. .
                      procedure FreeInstance; virtual;

                      FreeInstance' ı direk çağırmayın. Gerçi NewInstance ile bellekte ayrılan yeri bununla boşaltmak gerekiyor ama yinede direk olarak kullanmamak gerekir. Newınstance olduğu gibi , FreeInstance , nesne belleğini serbest bırakmak için InstanceSize' dan geri döndürülen değeri kullanır .

                      89) GETINTERFACE

                      GetInterface , verilen tanımlayıcıyla tanımlanılan arayüzü getirir.
                      function GetInterface(const IID: TGUID; out Obj): Boolean;

                      GetInterface dahili olarak as operatörünce nesnece yürütülen arayüzü çağırmak için kullanılır. Getınterface , TInterfacedObject'ce QueryInterface yöntemini uygulamak için kullanılır . Arayüz tip ismi , IUnknown da olduğu gibi , IID parametresinden sağlanılabilir. Bu da compiler arayüzü ilişkili GUID ile yer değiştirmesinden itibaren olur. Nesne , arayüzü destekleyemediğinde VCL nesne örneğinden arayüzü elde etmek için GetInterface' i kullanın ama kural dışı durum(istisna) , hata durumunda çıkmamalı.

                      GetInterface dış parametre olan Obj de olduğu gibi IID parametresince ta-nımlanan arayüzü bir pointer olarak döndürür. ,Eğer arayüz , nesnen tarafından desteklenilirse , GetInterface , true döndürür Eğer arayüz , nesne tarafından desteklenmezse , GetInterface , false döndürür ve obj parametresi , boşdur.

                      90) GETINTERFACEENTRY

                      GetInterfaceEntry , bir sınıfta uygulanan özel arayüz için giriş döndürür
                      type
                      PInterfaceEntry = ^TInterfaceEntry;
                      TInterfaceEntry = record
                      IID: TGUID;
                      VTable: Pointer;
                      IOffset: Integer;
                      end;
                      class function GetInterfaceEntry(const IID: TGUID): PInterfaceEntry;

                      GetInterfaceEntry sınıfta , IID parametresi tarafından belirtilen arayüz için giriş döndürür GetInterfaceEntry , dahili olarak kullanılır . Nadiren doğrudan çağırılır .

                      NOT: Bu metodun bir faydası da OLE' nin çift gönderme arayüzüne çağrıları nasıl otomatik olarak gönderdiğini tarif etmesidir.

                      91) GETINTERFACE TABLE

                      GetInterfaceTable , verilen sınıf tarafından uygulanılan ara yüzlerin hepsini kapsayan yapıya pointer döndürür
                      type
                      PInterfaceTable = ^TInterfaceTable;
                      TInterfaceTable = record
                      EntryCount: Integer;
                      Entries: array[0..9999] of TInterfaceEntry;
                      end;
                      class function GetInterfaceTable: PInterfaceTable;

                      GetInterfaceTable, sınıf için TInterfaceEntry' ler döndürür . Bu liste yalnızca bu sınıfça işletilen ara yüzleri içerir ,bunların atalarını içermez. Ata listesi bul-mak için , GetParentClass' ı çağır ve sonra onun GetInterfaceTable yöntemini çağır . Özel ara yüze giriş bulmak için , bunun yerine GetInterfaceEntry yöntemini kullanın .

                      92) INHERITSFROM

                      InheritsFrom , sınıf yöntemidir , iki nesne tipi arasındaki ilişkiye karar ver-mekte kullanılır .
                      class function InheritsFrom(AClass: TClass): Boolean;

                      Eğer belirli bir sınıf tipi , nesnenin atası olarak belirleyecekseniz InherıtsFrom 'u kullanın.InheritsFrom Aclass parametresiyle belirtilen nesnenin tipi nesne tipinin atasıysa veya nesne tipinin kendisiyse True döndürür. Yoksa False döndürür.

                      NOT: is ve as operatörleri InheritsFrom' u işlemlerinde kullanırlar.Ancak , is operatörü , sadece örneğin kalıtsal ilişkisine karar verebilir Sınıf yöntemi olarak InheritsFrom , sınıf kaynaklarının ilişkisine karar verebilir.

                      93) INITINSTANCE

                      InitInstance yeni yerleştirilen nesne örneğini 0 la başlatır. Ve örneğin sanal metot tablo pointer' ını başlatır.
                      class procedure InitInstance(Instance: Pointer): TObject;

                      InıtInstance' ı doğrudan çağırmak için hiç sebep yoktur. Nesne , yaratıldığında InitInstance, NewInstance tarafından otomatik olarak çağırılır . NewInstance' a engel olurken InitInstance' ı son ifade olarak çağırmayı unutmayın. InıtInstance , sanal değildir bundan dolayı ona engel olamazsınız. Yapıdaki nesne için herhangi bir veriyi başlatıp, Ortak bellek havuzundan sınıf tipinin bütün örneklerini tahsis etmek gibi , özel bellek atama gereksinimleri için sadece NewInstance' ı kullanın.

                      94) INSTANCESIZE

                      InstanceSize , nesne tipinin her bir örneğinin boyutlarını bayt olarak döndü-rür .
                      class function InstanceSize: Longint;

                      InstanceSize' ı sınıfların örnek verisi için ne kadar bellek baytına ihtiyaç olduğuna karar vermek için kullanın. Delphi , belleği tahsis eden ve serbest bırakan yöntemler için dahili olarak InstanceSize'ı kullanır. InstanceSize , sanal yöntem değildir, bundan dolayı iptal edilemez. InıtInstance , sadece NewInstance' ın özel versiyon uygulamalarında çağrılmalıdır.


                      x7even
                      Açık Profil bilgileri
                      x7even - Özel Mesaj gönder
                      x7even´nin Web Sitesini ziyaret edin
                      x7even - Daha fazla Mesajını bul
                      x7even - Arkadaş Listene ekle

                      95) METHODADDRESS

                      Yayınlanmış yöntemin adresi döndürür .
                      class function MethodAddress(const Name: ShortString): Pointer;

                      Methodaddress , duraksız işlem sistemi tarafından Delhi' de dahili olarak kullanılır . Methodaddress bir metot ismini dönüştürmek için Name ile belirtilenden Akıştan okurken metot adresini içeren pointer' a yönlendirmek için kullanılır. Methodaddress' i direkt çağırmaya gerek yoktur. Eğer Name nesne için yayınlamış metot belirtmezse Methodaddress boş döndürür.

                      96) METHODNAME

                      Methodname , adreste yerleştirilen yöntemin ismini kapsayan dizgi döndürür.
                      class function MethodName(Address: Pointer): ShortString;

                      Methodname , duraksız işlem sisteminin tarafından Delhi'de dahili olarak kullanılır Akışa olay özellikleri yazdığında methodname , yöntem ismini kapsayan dizgiye yöntem adresini kapsayan göstergeyi dönüştürmek için kullanılır . Methodaddress' in aslında tamamlayıcısıdır. Methodname' i doğrudan çağırmaya hiç gerek yoktur . Eğer adres , nesnenin yayınlanmış yöntemine işaret etmezse , methodname , boş dizgi döndürür .

                      97) NEWINSTANCE

                      NewInstance nesne tipinin her örneği için hafızada yer ayırır ve bu yeni ör-nek için bir pointer döndürür.
                      class function NewInstance: TObject; virtual;

                      Tüm yapılar NewInstance' ı otomatik olarak çağırırlar. NewInstance InstanceSize' ı heap hafızada ne kadar yer ayrılacağını belirlemek için kullanır. NewInstance' ı direk olarak çağırmayın. Torun sınıf NewInstance' ı bir sınıfın kendi için başka hafıza ayırma yöntemi kullanmasını engelleyebilirler. Bu işlem FreeInstance ile hafızayı boşaltmayı da engeller. Örneğin aynı tipten birçok nesnenin aynı anda hafızada bulunması gerekiyorsa ve bunlar için yer ayrılacaksa bütün hepsi için hafızadan büyük bir blok ayrılır ve her örnek için o parçadan büyük blokları NewInstance' ın kullanmasına engel olunur. NewInstance' a engel olurken InıtInstance' ı çağırın ama son satırda değil.

                      NOT :Varsayılan olarak NewInstance InitInstance' ı çağırır.

                      BÖLÜM - 4

                      4- SONUÇ VE ÖNERİLER

                      Bütün bu bilgilerin ışığında şunları söyleyebiliriz Yapısal olarak veri tabanına dayalı bir uygulama yazabilmek için belirttiğimiz şekilde SQL 'e tamamen hakim olmamız gerekiyor. Bunların da ötesinde değişik amaçlar için geliştirilen sorgu dillerini ve veri tabanlarını da kullanmamız gerekebilir.

                      Delphi' de TQuery nesnesinin çok geniş özelliklere ve metotlara sahip olduğunu gördük. Umarım bu dokuman sayesinde profesyonel yapılarda veri tabanı uygulaması yazmak konusunda kendinize olan güveniniz artmıştır.

                      Bu konuda araştırma yapmak isteyen kişilere SQL ile ilşkili Delphi' nin diğer öğelerini (UpdateSql,TStoredProc,TSession vb..) aynı şekilde inceleyip bunlar arasında bağlantı kurmalarını tavsiye ederim. Yalnız bu konuda çalışmak isteyen araştırmacıların çok sabırlı olması gerekir. Bu konuda tam hakimiyet sağlamak çok uzun ve yorucu bir çalışma döneminden sonra gerçekleşebilir.

                      Bu makale çeşitli internet sitelerinden derlenmiş makale ve yazıların sadeleştirilip derlenerek güncellenmesiyle yazılmıştır. Konuya ilişkin soru ve sorunlarınızı forumda yanıtlamaktan mutluluk duyarım. Hepinize çalışmalarınızda başarılar dilerim.


                      ALINTI

                      Yorum yap

                      • #41

                        Active Directory

                        Active Directory ne işe yarar sorusuna en uygun cevap
                        Ağ kaynaklarını yönetmek için geliştirilmiş bir sistem olduğunu söylebiliriz.
                        Yani Active Directory kurularak kullanıcılar, gruplar, bilgisayarlar ve kaynakların yönetimi sağlanır.

                        ağdaki nesneler hakkında bilgi depolayan ve bu bilgileri kullanıcıların ve ağ yöneticilerinin kullanabilmesini sağlayan bir dizin hizmeti Policy düzenlemeleriyle birlikte sistem yöneticileri kullanıcıların masaüstlerini (dağıtım masaüstü yönetimi), ağ servislerini ve yazılımlarını (uygulamaları) merkezi olarak bir noktadan istediği gibi yaplandırarak yönetebilir.


                        Kısaca Active Directory, Kurulum ve Yönetim

                        Bu sitede bugünden itibaren çalıştığım şirketteki Active Directory, Masaüstü Kurulumları (Desktop Deployment), Klonlama, Group Policy projelerim ve sertifikasyon hakkında toparlayabildiklerimi yazacağım. Umarım notlarım birilerine faydalı olur. Katkıda bulunmak isteyenlerle her zaman görüşmek isterim. Yorum ve önerisi olanlara ve katılanlara şimdiden teşekkürler.

                        ACTIVE DIRECTORY KURULUMU

                        Acitve Directory kurmak için gerekli olan şartlar;
                        - Üzerinde Windows Server 2000 ya da 2003 yüklü olan bir bilgisayar.
                        - Statik IP
                        - NTFS dosya sistemi ile formatlanmış bir partition.
                        - DNS

                        Bu şartları yerine getirdikten sonra Active Directory kurulumu için aşağıdaki adımlar izlenir.

                        Active Directory kurulacağı bilgisayara yönetici hesabı ile logon olalım ve Start/Run bölümünde open kısmına dcpromo komutunu
                        Kurulumu answer file ile yapmak için dcpromo /answer:answerfile komutunu
                        Yedeği alınan DC de AD, Application Directory Partition ile oluşturulmuşsa, yedeğin yeni bir DC ye kopyalanması mümkün olmadığından dcpromo /adv komutunu yazarak Ok düğmesine basalım.

                        Böylece Active Directory kurulum sihirbazı başlatılır.

                        Welcome to Active Directory Installation Wizard bölümünde next düğmesine basılarak sonraki aşamaya geçelim.

                        Operating System Compability bölümünde, Next düğmesine basalım.

                        Domain Controller Type bölümünde:

                        Domain controller for a new domain:
                        Yeni bir domain kurulumu yapılacaksa bu seçenek işaretlenir.

                        Additional domain controller for an existing domain:
                        Var olan bir domain`e ek DC kurulumu yapılacaksa seçenek işaretlenir.

                        Yeni bir domain kurulumu yapacağımız için Domain controller for a new domain seçeneğini seçerek ilerliyoruz.

                        Create New Domain:

                        Bu bölümde

                        Domain in a new forest :
                        Yeni bir forest yapısı başlatılacaksa, yani ilk defa domain kurulacaksa bu seçenek işaretlenir.

                        Child Domain in an existing domain tree :
                        Varolan domain`e child domain eklenecekse bu seçenek işaretlenir.

                        Domain tree in an existing forest:
                        Varolan tree yapısına yeni bir tree eklenecekse bu seçenek işaretlenmelidir.

                        Forest`daki ilk domain kurulumunu yapacağımız için Domain in a new forest seçeneğini seçerek ilerliyoruz.

                        New Domain Name bölümünde Full DNS name for new domain kısmına domain`mizin DNS adını yazarak Next düğmesine basıyoruz.

                        NetBIOS Domain Name bölümünde Domain NetBIOS name kısımına kurulan domain için önerilen NetBIOS adını kabl ederek Next düğmesine basalım.

                        Database and Log Folders bölümünde Active Directory veritabanının ve log dosyalarının tutulacağı yer belirlendikten sonra Next düğmesine basarak ilerleyelim.(Eğer değişiklik yapılmazsa varsayılan olara C:\WINDOWS\NTDS klasörü içerisinde tutulur)

                        Shared System Volume bölümünde SYSVOL klasörünün tutulacağı yer belirlenir. SYSVOL klasörünün bulunacağı yer mutlaka NTFS dosya sistemi ile formatlı bir partition üzerinde olmalıdır. Next düğmesine basarak ilerleyelim.

                        DNS Registration Diagnostics bölümü:

                        I have corrected the problem : DNS server kurup zone yapılandırmasını yapıldıysa bu seçenek işaretlenir.

                        Install and configure the DNS Server on this computer, and set this computer to use this DNS Server as its preferred DNS Server: Active Directory kurulacak olan bilgisayar DNS server olarak yapılandırılacaksa bu seçenek işaretlenmelidir. Böylece kurulum sırasında DNS Server da kurulur ve yapılandırılır.

                        I will correct the problem later by configuring DNS manually :
                        DNS yapılandırılması kurulumdan sonra yapılacaksa bu seçenek işaretlenmelidir.

                        Kurulum sırasında DNS Server`ın da kurulup yapılandırılması için Install and configure the DNS Server on this computer, and set this computer to use this DNS Server as its preferred DNS Server`ı seçerek Next düğmesine basalım.

                        Not: DNS Server hizmetinin yüklenmesi gerektiğini belirtiysek sunucumuz DNS Server olarak da yapılandırılır. Bu durumda sihirbaz ayrıca sunucunun kullanmamasını sağlamak için denetim yapar. Kullanıyorsa Choose Connection iletişim kutusunu görürüz.

                        Permissions bölümünde
                        Permission compatible with pre-Windows 2000 server operating system: Domain`de bulunan member Serverların işletim sistemi 2000 öncesi ise bu seçenek işaretlenmelidir.

                        Permissions compatible only with Windows 2000 or Windows Server 2003 operating system :
                        Domain`de bulunan member Serverların işletim sistemi 2000veya 2003 server ise bu seçenek işaretlenmelidir.

                        Permissions compatible only with Windows 2000 or Windows Server 2003 operating system seçeneğini seçerek Next düğmesine basalım.

                        Directory Services Restore Mode Administrator Password bölümünde Restore Mode Password ve Confirm password kısımlarına istediğiniz bir passwordü yazabilirsiniz. ( Bu password Active Directory içerisinde değil DC`nin registery`de saklanır. Active Directory Database`ni kurtarmak için kullanılan ve gelişmiş açılış seçeneği olan Directory Services Restore Mode`da açılırken kullanılır

                        Summary bölümünde yaptığıklarınızın özet bilgilerini kontrol ettikten sonra Next düğmesine basarak Active Directory kurulumunu başlatalım.

                        Önemli Not:
                        Kurulum bittikten sonra Completing the Active Directory Installation Wizard bölümünde Finish düğmesine basarak işlemi sonlandırın.

                        Karşınıza gelen Active Directory Installation Wizard penceresinde Restart Now düğmesine basarak bilgisayarınızı yeniden başlatın.

                        KURULUM SONRASI GEREKLİ İLK KONTROLLER
                        Restart edildikten sonra Active Directory kurulumu kontrol edilmelidir.

                        Kontrol için yapılası gerekenler:
                        SystemRoot%DEbug dizininin dcpromo.log dosyasında saklanan yükleme günlüğünü incelemek gereklidir. Günlük yükleme sürecinin dizin bölümlerinin oluşturulması ve AD için registry nin alınması dahil her ayrıntıyı içermektedir.

                        Database and Log Folders bölümünde belirtmiş olduğumuz dizinde NTDS klasörü ve Shared System Volume belirtmiş olduğumuz dizinde SYSVOL klasörünün oluşturulup oluşturulmadığını kontrol edelim.

                        SYSVOL klasörünün paylaşıma açılıp açılmadığını kontrol edelim. Bunun için My Computer`a sağ tuş ile tıklayıp Manage komutunu veriyoruz. Açılan Computer Management konsolunda Shared Folders`ın yanındaki + işaretine basarak genişletelim ve Shares`e tıklayalım.

                        Kaynak:turkvb)

                        Yorum yap

                        Hazırlanıyor...
                        X