Canias ERP Troia Eğitimleri 9 – Sınıf Kavramı Ve Detayları

Merhaba yeni bir Canias eğitim yazısı ile beraberiz. Bu yazımda detaylı bir şekilde sınıf kavramına giriş yapacağız. Yukarıdaki yazımda sınıf kavramından, sınıfın nasıl oluşturulacağından bahsetmiştim. Şimdi bir proje yaparak nasıl kullanıldığını göstermeye çalışacağım.

Bir önceki dersimizde bir hesap makinesi yapmıştık aşağıdaki linkten inceleyebilirsiniz.

Canias ERP Troia Eğitimleri 13 – İf Else Yapısı Detaylı Anlatım (Proje 3)

Buradan yola çıkarak bu işlemleri bir sınıf içinde tutup oradan yapacağız.

Transaction İsmi : EDUTEST

Başlangıç Diyalogu : EDUD01D000

Oluşturacağımız Diyalog :  EDUD01D002

Şimdi öncelikle EDUTESTCLAS isimli bir sınıf oluşturalım.

Sonra bu sınıfa ait TOPLA, CIKAR, CARP, BOL Metotlarınıda oluşturalım.

Bunun için yapmanız gereken işlemi yukarıda paylaştığım yazıda bulabilirsiniz.

Bir tane örnek göstermiş olayım.

Hepsininde geri INTEGER bir değer döndüreceğini bildiğimiz için RETURN TYPE INTEGER olarak ayarlıyoruz.

Tamamını oluşturduğumuzda şu olacaktır.

Şimdi yapacağımız işleme odaklanalım.

Bütün işlemler o işle özelleşmiş methotda yapılacak.

Öncelikle tüm sınıf içinde kullanılabilecek global değişkenimizi _VARIABLES Methotu içinde tanımlayalım.

Şimdi diğer methotlarımızı yazalım.

Şimdi burada biraz metotların yapısından bahsedelim.

Metotlar parametre alabilirler. Yani dışarıdan değişkenler bu metoda parametre olarak gönderilip işleme dahil edilebilir.

Metot başında alabileceği parametreler

PARAMETERS : 

söz dizimi ile deklere edilir.

Sonrada object tanımlar gibi dışarıdan gelmesi muhtemel object tipine göre parametreler oluşturulur.

Burada önemli olan durumlardan biri sıralamadır. Dışarıdan metodun parametresine yazılan 1. değer metot içinde tanımlanan ilk Parametre değerine atanır. 2. değer 2. Parametre değerine atanır. Bu şekilde sıra ile tüm parametre değerleri girilene kadar devam eder.

O yüzden sıralamaya dikkat etmemiz gerekir. Aksi taktirde tip uyuşmazlıkları çıkabileceği gibi istediğimiz sonuçları doğru bir şekilde alamama gibi durumlarla da karşılaşabiliriz.

Şimdi Diyalog tarafına geçelim ve ilk olarak BEFORE kodlarına Obje tanımlamalarımızı yapalım.

Oluşturmuş olduğumuz sınıfı kullanabilmek için Before da bir nesne örneği oluşturulur.

Troia’da standar bir kullanım olarak sınıf isminin sonuna REC ifadesi eklenir. Zorunlu bir kullanım değildir. İstenilen isimle nesne türetilebilir ama IAS standart olarak bu kullanımı yapmaktadır.

Bizde o yüzden

EDUTESTCLAS sınıfından EDUTESTCLASREC isimli bir nesne türettik.

Artık diyalogun her yerinden bu nesne üzerinden sınıfa ulaşabilir. Metotlarını kullanabiliriz.

OK Click olayına geçelim.

Sınıfın Dialog İçinde Kullanımı

[SınıfBelirteci].[İlgiliMethot](Paramters);

Şeklindedir.

Biz iki parametre göndereceğimizi zaten bildirmiştik. Methotlarımızı yazarken.

EDUTESTCLASREC.TOPLA(SAYI1,SAYI2);

Burada önemli durumlardan biride Editboxların direk bir değişken bir obje gibi veri çekilebilecek durumda olmasıdır. Değerleri ayrıca bir değişkene atmaya gerek kalmadan direk parametre olarak methoda uygulanabilirler.

Sınıfların bir diğer durumu geriye değer döndürmesi ve döndürmemesidir. Az önceki methot tanımlamamızda görmüştük geri dönüş tipinin INTEGER olduğunu belirtmiştik.

Bu sebepten metodumuz Return ifadesiyle geriye bir INTEGER değer dönmelidir.

RETURN S3;  

dediğimiz noktada tüm işlemler sonunda methot geriye S3 değerini dönüyor demektir.

Return ifadesinin kullanıldığı noktada Runner aşağıdaki kodları işlemez. Return bir bitirme sonlandırma ifadesidir.

Tek başına bir işlemi kesmek sonlandırmak içinde RETURN; şeklinde kullanılabilir.

SONUC=EDUTESTCLASREC.TOPLA(SAYI1,SAYI2);

Burada bahsedilen durumu anlatmak gerekirse.

EDUTESTCLAS sınıfının TOPLA Sınıfına git giderken SAYI1 ve SAYI2 değerlerini parametre olarak götür. Ve işlemler sonucundan gelen değeri SONUC editbox’ına yazdır.

Ekran Görüntüleri

Bir sonraki eğitim yazımda görüşmek üzere.


muratbilginer