Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Scripting bölümünde kullanıma sunulan nesnelerin içerdiği özelliklerin ve metotların ne şekilde kullanılması gerektiği "Nesne Tarayıcısı" yardımı ile izlenir.


Nesne Tarayıcısı
Scripting bölümünün araç çubuğunda yer alan "Nesne Tarayıcısı" butonu yardımı ile, kullanıma açık nesnelerle ilgili bilgi alınması sağlanır.


Nesne Tarayıcısı Ekranı
Kullanılan Kütüphaneler

Ortamda kullanımına izin verilen nesneler, farklı kütüphanelerden gelir. Programın hazırladığı nesne kütüphaneleri, kurulum sırasında ...\NETTLB adlı klasöre aktarılır ve işletim sistemine register edilir. Sadece bu şekilde yüklenen ve register edien kütüphanelerin nesneleri kullanılabilir. İlk olarak, bilgi alınması istenen nesne kütüphaneden seçilir.

Örneğin;

"İlişkisel Serbest Rapor" için Scripting ortamında iki tane nesne mevcuttur. Bu iki nesne iki farklı kütüphaneden gelir. NNRReport nesnesi NNRRPT.TLB isimli kütüphaneden, Query nesnesi ise NETSISVCL_3_0.TLB kütüphanesinden gelir.
Ortamda kullanıma açılan başka nesneler olsaydı, "Kütüphane Listesi" bölümünde, nesnelerin içinde bulunduğu kütüphaneler de izlenebilirdi. 

Kayıtlı Sınıflar

Nesne tabanlı yapıda, nesneler (object) sınıflardan (class) türetilir. Yani sınıflar, nesnenin tanımıdır. Nesne ise, ilgili tanımın kullanımıdır. Seçilen kütüphanenin içerdiği ve ortamda kullanıma açık nesnelerin türedikleri sınıflar, ekranın "Kayıtlı Sınıflar" bölümünde listelenir.

Örnek 1;

NNRReport nesnesi, INNRReport sınıfından türer. INNRReport sınıfı seçilerek, NNRReport nesnesinin sınıfında tanımlı özellikler ve metotlar izlenebilir.

Örnek 2; 

NNRReport nesnesinin içerdiği, ActiveGrid (üzerinde bulunulan grid) nesnesi, IGrid sınıfından türer. ActiveGrid ile kullanılacak, sınıfında tanımlı özellik ve metotlara, IGrid sınıfı seçilerek ulaşılabilir.

Örnek 3;

NNRReport.ActiveGrid nesnesinin içerdiği, ActiveRow (üzerinde bulunulan satır) nesnesi IGridRow sınıfından türer. ActiveRow ile kullanılacak, sınıfında tanımlı özellik ve metotlara, IGridRow sınıfı seçilerek ulaşılabilir.

Sınıf ÜyeleriKullanılan kütüphane ve özellikleri izlenecek sınıf seçildiğinde, sınıfın içerdiği tüm özellik ve metotlar, "..... Sınıfı Üyeleri" başlıklı, sağ üst bölümdeki pencereden izlenir. Dokümanda geçerli nesnelerin tüm özellik (property) ve metotları (procedure, function) hakkında detaylı bilgi verilmez. Özellik ve metotlar, İngilizce isimlendirilir. İsimleri ve işlevleri hakkında bilgi verilmez.
ParametrelerKullanılan kütüphane ve özellikleri izlenecek sınıfın herhangi bir özellik ya da metodu işaretlenerek seçildiğinde, sağ alt pencerede, özellik ya da metot kullanıldığında
,
dönen ve istenen parametreler
izlenebilir.

...

izlenir.
Dönüş Parametresi

Seçilen sınıf üyesi kullanıldığında, ne tip bilgi döneceğini

...

belirtir.

Örnek 1;

IGridRow sınıfının Index özelliği, isminden de anlaşılacağı gibi

...

üzerinde bulunulan satır numarası bilgisini, dönüş parametresi olarak Long (tamsayı) cinsinden

...

döndürür.

Örnek 2;

IntXQuery (Query nesnesinin türediği sınıf) sınıfının, Open metodu, isminden de anlaşılacağı gibi

...

yazılan SQL cümlesinin çalıştırılması sonucu oluşacak sonuç kümesinin açılmasını

...

sağlar ve dönüş parametresi Void, yani yoktur. İşlemi

...

yapar ve herhangi bir sonuç

...

döndürmez.

Yardım

"Parametreler" penceresinde bulunan bu bölümde ise, seçilen sınıf üyesi kullanılırken temin edilmesi gereken değişkenler

...

izlenir.

...

Örneğin;

IGridRow sınıfının ColByName özelliği, isminden de anlaşılacağı gibi, satırdaki belli bir kolonun (hücrenin) içeriğini

...

döndürür. Ancak kullanımda hangi hücrenin bilgisinin

...

döndürüleceği,

...

parametre olarak kolon ismi

...

gönderilmesi şartıyla belirtilmesi gerekir. Bu özellik kullanıldığında, nesneden programa dönecek olan içerik,

...

"Dönüş Parametresi" kısmında Variant (değişken) tipli olarak izlenebilir. Bunun

...

sebebi, kolon içeriğinin ne tip bilgi

...

içerdiğinin bilinmemesi ve herhangi bir tipe sahip

...

olmasından kaynaklanır. Yardım

...

kısmında ise, kullanım sırasında temin edilmesi gereken parametre (ColName - kolon ismi) bilgileri izlenebilir.

Parametre AdıSınıf üyesi kullanılırken gönderilmesi gereken parametrenin adıdır.
TipiSınıf üyesi kullanılırken gönderilmesi gereken parametrenin veri tipidir.
VarsayılanSınıf üyesi kullanılırken gönderilecek parametrenin, nesne tanımında varsayılan değeri olup

...

olmadığı belirlenir.
SeçmeliSınıf üyesi kullanılırken gönderilecek parametrenin,

...

gönderiminin seçmeli olup olmadığı belirlenir.


Script Örnekleri


Örnek - 1

Stok hareketlerini gösteren raporda, "Miktar" isimli, hesaplanan bir kolon tanımladığımızı tanımlandığı ve bu kolonda , giriş hareketleri için stok hareketindeki miktarı olduğu gibi, çıkış hareketleri içinse, miktarı için de miktarın eksi değeriyle göstermek istiyoruz. gösterilmesi istendiğinde;


Seçilen Görüntü: STHAR


Seçilen Olay: OnRowEnd


Kod :
if NNRREPORT.ActiveGrid.ActiveRow.ColByName("STHAR_GCKOD")="C" then
NNRREPORT.ActiveGrid.ActiveRow.ColByName("CALC1")=
-1*NNRREPORT.ActiveGrid.ActiveRow.ColByName("STHAR_GCMIK")
else
NNRREPORT.ActiveGrid.ActiveRow.ColByName("CALC1")=
NNRREPORT.ActiveGrid.ActiveRow.ColByName("STHAR_GCMIK")
end if


Kodun anlamı: İlişkisel Serbest Raporun aktif gridindeki aktif satırın,
STHAR_GCKOD (stok hareketinin giriş/çıkış olduğunu belirleyen sahası olup G/C değerlerini almaktadıralır) isimli sahası değeri "C" ise,
İlişkisel Serbest Raporun aktif gridindeki aktif satırın, CALC1 (Miktar için tanımlanmış, hesaplanan sahanın program tarafından atanan ismi) isimli sahasının değerini, İlişkisel Serbest Raporun aktif gridindeki aktif satırın, STHAR_GCMIK (stok hareketinin miktarının saklandığı saha) isimli sahasının değerini -1 ile çarparak oluştur.
STHAR_GCKOD sahası değeri "C" değilse ki "C" dışında sadece "G" olabilmektedir, olabilir. STHAR_GCMIK sahasının değerini olduğu gibi, CALC1 isimli sahaya aktar.


Not : Raporda görüntülenmek istenen sahalar tanımlanırken, STHAR görüntüsünden STHAR_GCKOD ve STHAR_GCMIK isimli sahalar seçilmeli, ancak sadece hesaplamada kullanılacakları için Gizli olarak işaretlenmelidir.


Örnek - 21.Örnekteki Miktar

Birinci örnekteki "Miktar" sahası dışında, bir de yürüyen bakiye sahası tanımlamak istiyoruz. Bu tanımlanması istendiği zaman, bu saha her satırda kalan stok bakiyesini gösterecektirgösterir. Gridin ilk satırında, miktar olduğu gibi yazılacak, yazılır ve takip eden satırlarda ise , toplanarak ilerletilecektirilerletilir.

Bakiye isimli hesaplanan saha tanımlanmıştır. tanımlandığında;

Seçilen Görüntü: STHAR

Seçilen Olay: OnRowEnd

Kod:
NNRREPORT.ActiveGrid.ActiveRow.ColByName("CALC2")=
NNRREPORT.ActiveGrid.ActiveRow.ColByName("CALC1")
if NNRREPORT.ActiveGrid.ActiveRow.Index>0 then
NNRREPORT.ActiveGrid.ActiveRow.ColByName("CALC2")=
CDbl(NNRREPORT.ActiveGrid.ActiveRow.ColByName("CALC2"))+
CDbl(NNRREPORT.ActiveGrid.Cell(5,NNRReport.ActiveGrid.ActiveRow.Index-1))
end if

Kodun Anlamı : İlişkisel Serbest Raporun aktif gridindeki aktif satırın, CALC2 (Bakiye için tanımlanmış hesaplanan sahanın program tarafından atanan ismi) isimli sahasına,
1.Örnekte tanımı verilmiş olan birinci örnekte tanımı verilen CALC1 sahasının değerini olduğu gibi taşı.
Eğer, İlişkisel Serbest Raporun aktif gridindeki aktif satırın, satır numarası sıfırdan büyük ise, yani raporda yer alan ilk satır değilde sonraki satırlar için,
CALC2  CALC2 sahası değerine, bir önceki satırda yer alan CALC2 sahasının değerini ekle.

Not :
Cell (hücre) özelliği, gridin herhangi bir hücresindeki değeri döndürür. Cell özelliği, parametre olarak kolon numarası ve satır numarası bilgilerini almaktadıralır. Kolon numarası (örnekte : 5), CALC2 sahasının grid üzerinde bulunduğu kolonun sıfır tabanlı olarak numarasıdır. Satır numarası ise, aktif satırın numarası (index) -1, yani aktif satırdan önceki satırdır.
CDbl, ColByName ya da Cell özelliklerinden dönen variant (değişken) tipli bilgiyi, double (nümerik) olarak ifade etmek için kullanılmaktadırkullanılır. Bu tip çevrim yapılmazsa, dönen değer , metin olarak düşünülüp, toplama işlemi olarak , iki metin yan yana birbirine eklenecektireklenir.Image Removed

...

Araç Çubuğu ve Diğer Yardımcı ButonlarImage Removed


Pencere Kapat/Aç

...

Pencerelerin etrafında yer alan bu butonlar ile, ilgili pencere kapatılarak, görüntüde diğer pencerelere

...

daha çok yer açılması

...

sağlanır.

...

Aynı buton yardımıyla pencere geriye açılabilir.
Nesne Tarayıcısı

...

Scripting bölümünün araç çubuğunda yer alan "Nesne Tarayıcısı" butonu yardımı ile, kullanıma açık nesnelerle ilgili bilgi alınması sağlanır.
Kod TamamlaKullanılmıyor.

...

Kod İçeriğiScript

...

editör ortamındaki ctrl+boşluk

...

tuşları (klavyede yer alan) ile aynı işlevi yapar.

...

 
Satıra GitUzun kodlar içinde

...

istene bir satıra hızlı

...

gidiş sağlar. Açılacak pencerede satır numarası verildiğinde

...

hızlı gidiş sağlanır.

...

Bl, Sonrakini Ara, Öncekini Ara, Değiştir

...

...

Kod içinde istenen metni arama, bulunduktan sonra, sonrakini/öncekini arama, bulunan metni

...

istenen başka bir metinle değiştirme işlemlerini yapar.

...

Arama, büyük-küçük harf duyarlı, verilen metin kelime olarak imleçten itibaren ve sadece seçili metin içerisinde, imleçten ileriye ve geriye olmak üzere yönlendirilerek yapılır. Değiştirme işleminde de, aynı şekilde aranarak bulunan metin parçacığı değiştirilebilir. Arama ve değiştirme işlemi, bir defa yapıldıktan sonra, sonrakini/öncekini ara butonları ile tüm kod geneli devam ettirilir.
Scripting bölümü tamamlandıktan sonra, ekranın alt kısmında aktif olan, Geri butonu ile, bir önceki sekmeye, İleri butonu ile, bir sonraki sekmeye geçmek mümkündür.




Arama, büyük-küçük harf duyarlı, verilen metin kelime olarak, imleçten itibaren ve sadece seçili metin içerisinde, imleçten ileriye ve geriye olmak üzere yönlendirilerek yapılabilmekte olup, değiştirme işleminde, aynı şekilde aranarak bulunan metin parçacığı, değiştirilebilmektedir. Arama ve değiştirme işlemi, bir sefer yapıldıktan sonra, sonrakini/öncekini ara butonları ile tüm kod geneli devam ettirilebilmektedir.
Scripting bölümü tamamlandıktan sonra, ekranın alt kısmında aktif olan, Geri butonu ile, bir önceki sekmeye, İleri butonu ile, bir sonraki sekmeye geçmek mümkündür.

...