Troia da eğitimlerimize Message Box kullanımı ile devam ediyoruz.

Basit ve kısa bir konu hemen işe girişelim.

Senaryomuz şöyle.

Verilerimizi listeledikten sonra Show veya Change butonuna tıklandıktan sonra eğer seçimi yapılmış bir row yoksa hiç bir veri seçmedin uyarısını verelim istiyoruz.

Öncelikle şuna bakalım.

Canias üzerinde sistem mesajlarına SYST02 uygulaması üzerinden erişilir. Bunu bir önceki dersimizde öğrenmiştik.

Şimdi öncelikle sisteme bir mesaj kaydedelim.

Mesajımız şu Gösterilecek Veri Seçmediniz.

EDU modülüne ekleyeceğiz mesajımızı.

EDU Modülünde oluşturulmuş son mesaj 300 kodu ile. Bizde 301 kodu ile bir mesaj ekleyelim.

Mesajımızı ekledik.

Bir mesajın kodlamadaki yapısı şöyledir.

MESSAGE [MODUL] [MESAJSİMGESİKODU][NO];

en temel kullanım şeklidir.

MESSAGE EDU I301;

Burada Mesaj Simgesi Kodu dediğimiz ve tek karakterden oluşan bölüm şunu sağlar. Mesaj kutusunun hangi simge ile açılacağını belirler.

Kullanılabilecek karakterler

ERROR –> E

INFORMATION –> I

CONFIRM –> C

Şimdi kendi kodlarımızı verelim. SHOW metoduna şunu yazıyoruz.

MODI=2;

IF PERSONELBILGISI_SELECTED == 1 THEN
	CALL DIALOG EDUPERSON02;
ELSE
	MESSAGE EDU I301;
ENDIF;

Aynı işlemi CHANGE içinde yapalım.

MODI=1;

IF PERSONELBILGISI_SELECTED == 1 THEN
	CALL DIALOG EDUPERSON02;
ELSE
	MESSAGE EDU I301;
ENDIF;

Kaydedip ekran çıktılarımıza bakabiliriz.

Aklımıza şöyle bir soru gelebilir. Standart olmayan ama 1 defa da olsa kullanmam gereken bir mesaj var. Her mesajımı sistememi ekleyeceğim?

Hayır mesajda parametre kullanımı ile bu sorunun üstesinden kolaylıkla gelebiliriz.

Ancak öncelikle sisteme mesajın içeriği %s olan bir yeni mesaj kaydetmeliyiz.

Kod tarafında mesajın içeriğini yazdığımız bir STRING tanımlayıp o mesajı o değişkene yazarak mesaj kısmında o String değeri çağıracağız.

Before da MSG isimli objemizi ekliyoruz.

OBJECT:
INTEGER COPYR,
STRING MSG,
INTEGER MODI;

SELECT * 
	FROM EDUTESTTABLE 
	WHERE 1=2 
	INTO PERSONELBILGISI;

SHOW

MODI=2;

MSG='Gösterilecek Veri Seçmediniz';

IF PERSONELBILGISI_SELECTED == 1 THEN
	CALL DIALOG EDUPERSON02;
ELSE
	MESSAGE EDU I302 WITH MSG;
ENDIF;

CHANGE

MODI=1;

MSG='Değiştirilecek Veri Seçmediniz';

IF PERSONELBILGISI_SELECTED == 1 THEN
	CALL DIALOG EDUPERSON02;
ELSE
	MESSAGE EDU I302 WITH MSG;
ENDIF;

MSG değişkenine istediğim değeri yazıyorum.

Temel Kullanım

MESSAGE [MODUL] [MESAJSİMGESİKODU][NO] WITH [OBJECT];

MESSAGE EDU I302 WITH MSG;

Sonuçlarımıza bakalım.

 

Böylece sistemde mesaj verme olayını da öğrenmiş olduk.

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


muratbilginer