Canias ERP Troia Eğitimleri – Object İşlemleri

Troia eğitimlerimize nesneleri ve değişkenleri hem kullanacağız hemde değişken türlerinin aralıklarını öğrenmeye çalışacağız.

Bunun için yapmamız gereken ilk işlem bir Uygulama oluşturup ona bir diyalog bağlayacağız.

Uygulamamızın ismi EDUTEST olacak.

Başlangıç Diyalogumuzun ismi EDUD01D000 şeklinde olacaktır.

Transaction ve dialog oluşturmayı daha önce göstermiştim.

Not: Dikkat etmeniz gereken bir noktaya temas etmeliyim. Oluşturacağınız dialogun ilk 3 harfi seçtiğiniz modül ile aynı olmak zorundadır. Yoksa geçersiz modül hatası almanız çok olasıdır.

Bunları da söyledikten sonra işimize koyulalım.

Yapacağımız işlem şu dışarıdan kişinin adını ve soyadını alacağız daha sonra bunu birleştirip yazdıracağız.

Burada amacımız temel seviye işlemleri kavratabilmektir.

Tasarımımız

Burada önemli ipuçları aktarmakta fayda var.

1. Dialog Caption Label : Bu Label’ın NAME’i  DIALOGCAPTION olarak ayarlasanız Dialog Caption’ a verdiğiniz ismi burada uygulama anında görürsünüz. Etkileşimli olarak çalışır.

Aşağıda gördüğümüz gibi LABEL Name kısmını DIALOGCAPTION olarak ayarladık.

Diyalogda boş bir alana tıklayıp Properties kısmına gidelim.

Caption Kısmına Dialog’un ismini yazalım. İstediğiniz ismi yazabilirsiniz.

Bu isim artık uygulama çalıştığında ilgili dialog açıldığında DIALOGCAPTION Label’ında gözükecektir.

2. Özelleşmiş Butonlar ve Butonların Özellikleri

Troia’ da bazı işler için özelleşmiş butonlar vardır.

Onlardan biri CANCEL butonudur.

Bir butonun boyutlarını 28 * 28 ayarlar ve NAME kısmına CANCEL yazarsanız buton şu şekli kendisi alacaktır.

Diğer özelleşmiş butonları ilerleyen derslerimizde işledikçe öğreneceğiz.

Caption: Buton üzerinde son kullanıcıya gözükecek olan metin. Butonun ALT + <HARF> tuş kombinasyonuyla çalıştırılabilmesi isteniyorsa (Hotkey) ilgili harfin önünde ‘&’ işareti olmalıdır.

Örnek: &Ara

• Type: İki değer alabilir: Normal butonlar için “Push Button”, Tab butonları için de “Tab Button” seçilmelidir. Tab buton kullanımına sonraki bölümlerde değinilecektir.

• LinkTo: Butona basıldığında açılması istenen diyaloğun ismi burada belirtilir.

• Images: Resim seçilerek butonun görüntüsü değiştirilebilir.

3. Labellar’ın Özellikleri

Troia’da Labellar etiket görevi görür.

4. Editbox’ların Özellikleri

Editbox’lar Troia’da çok sıklıkla kullanılan bir komponenttir. Belli başlı özellikleri mevcuttur.

Editbox’ın Name’i bu editbox’a kodlar içinde hangi isimle ulaşabileceğimizi gösterir.

Enable özelliği false yapılırsa bu editbox üzerinde herhangi bir yazma işlemine izin vermeyecektir.

Visible özelliği false yapılırsa editbox tekrar visible özelliği true yapılana kadar ekranda görünmeyecektir.

Sub Type özelliği editbox içine girilecek olan değerin tipini belirtmemize yardımcı olacaktır. Seçilen değere göre editbox tasarımı ona göre özelleşecektir.

Bunları deneyerek rahatça görebilirsiniz.

Appearance kısmında editbox’ın görünüm özelliklerini ayarlayabilirsiniz.

Devamında önemli özelliklerimizden birisi Length dir. Buraya girdiğiniz değerden daha yüksek bir uzunlukta ifade girilmesine izin vermeyecektir. 10 verirseniz en fazla 10 karakter uzunluğunda değer girilebilecektir editbox’a.

SGPID: (S)et (G)et (P)arameter ID; EditBox’a yazılan verinin hangi metin dosyasında saklanacağı burada belirtilir. Diyaloğa tekrar girildiğinde bu alana en son girilen veri metin dosyasından okunup ekrana getirilecektir.

• SetParameters: EditBox’a girilen verinin SGPID’de belirtilen dosyaya yazılmasını sağlar.

• GetParameters: EditBox’a girilen verinin SGPID’de belirtilen dosyadan okunmasını sağlar.

• FYI-Message: Mouse ile üzerine gelindiğinde otomatik olarak görülen açıklama cümlesi.

• Picture: Alan biçimi

Örnek formatlar:
Decimal: -FL*#.###,###,###,##0.00
Integer: LO#### (# işareti hane sayısı kadar tekrarlanır)
Date: 99’.’99’.’9999
String: X(3)

• Zoom Diyalog: Bu alana sağ fare tuşuyla tıklandığında hangi diyaloğun çağrılması
gerektiği burada tanımlanır.

• Zoom Filter: Zoom yapılan tabloda filtreleme yapılır.

Kullanımı şöyledir: Company:[degisken1]&Plant:[degisken2] Zoom yapılan tabloda “company” kolonu “degisken1”, “Plant” alanı “degisken2” olanlar listelenir.

Bunları öğrendiğimize göre artık kod kısmına geçiyoruz.

Öncelike değişken tanımlamalarımızı BEFORE methotu içine yazıyoruz.

Sonra yapmak istediğimiz işlerden biri şu. Birleştir butonuna basılmadan Sonuç Groupbox’ı gözükmesin istiyoruz.

Bunun için AFTER methotu içine gizleme kodumuzu yazıyoruz.

Bu kodu basit bir ingilizce okumasıyla kolayca akılda tutabiliriz.

SET et (Ayarla)

neyi GROUPSONUC’u

nereye? Hangi Duruma ayarla?

HIDE durumuna gibi.

AD değişkenine TEXTAD Editbox’ından gelen değeri aldık.

SOYAD içinde aynı şeyi yaptık.

ADSOYAD değişkeninde birleştiriyoruz.

TEXTSONUC isimli Editbox’a değeri yazdırıyoruz.

Daha sonra AFTER da gizlediğimiz Groupbox’ı SHOW diyerek gösteriyoruz.

Uygulamayı kapatmak için

CANCEL butonunun Click metoduna şunu yazıyoruz.

Şimdi Test tarafında uygulamamızı çalıştıralım.

İşte bu kadardı.

Pek çok şeyi ince ince öğrendik. Bir sonraki yazımda görüşmek üzere.

Facebook Sayfamizdan Bizleri Takip Edebilirsiniz
Murat Bilginer

Industryolog Akademi Founder – Endüstri Mühendisi
Canias ERP Troia Geliştiricisi & Yazılım Uzmanı
7 Yıldır bildiğini paylaşmak için çabalayan bir blogger.

http://muratbilginer.net/
  • Samet Önler

    Murat Hocam makalenizde 3. Labellar’ın Özellikleri bölümünde “Kod ile Label textlerine müdahale edilemez” demişsiniz yanlış anlamadıysam eğer belli koşullara göre labeller de yazan yazıları değiştirdiğim çalışmalarım olmuştu, hatta en son yaptığım çalışmamda LOOP Döngüsünde tabloya eklenen her satır veri için tabloya eklenen kayıt sayısını göstermek adına sayac değişkeninin değerini label(Name = SAYAC) üzerinde göstermiştim. Buna istinaden ifade etmek istedim, saygılarımla.

    • Merhabalar Samet Bey, şu anda kontrol ettim verdiğim bilgi yanlış olmuş neye istinaden yazdığımı anımsayamadım ama görüldüğü şekliyle yanlış onu düzelttim şu anda, uyarınız için çok teşekkür ederim. Bazen böyle olabiliyor. Saygılarımla kolaylıklar dilerim.

      • Samet Önler

        Bende Troia ile ilgili anlatımlarınızı görünce işin içinde birisi olarak sırasıyla eğitimleri göz gezdirirken farkettim, anlatım esnasında bazen bu durumlar yaşanabiliyor dediğiniz gibi. Temel düzeyde sade ve net şekildeki anlatımlarınız bu sürece başlayanlar için önemli bir adım olacağını düşünerek çalışmalarınızın devamını dilerim..

        • Teşekkür ederim desteğiniz ve geri bildirimleriniz için 🙂 İyi çalışmalar dilerim.