guclusat

Tanınmış Üye
Süper Moderatör
Evet arkadaşlar bu dersimizde sizlere belkide en çok kullandığımız veya kullacağımız bir hazır fonksiyondan bahsetmek istiyorum. Dialog.Message() fonksiyona ekrana diyalog mesajı çıkartır. Kısaca bunu diyebiliriz ve daha çok kontrollerde kullanabiliriz bu fonksiyonu. Örnek olarak bir kod bloğu oluşturalım,

PHP:
File.Copy("C:\\Myfile.exe\\", _DesktopFolder, true, true, false, true, nil);  --Dosya kopyalama fonksiyonu

error = Application.GetLastError(); --Hata var  mı?

if (error ~= 0) then --hata varsa bu kod bloğunu  gerçekleştir

Dialog.Message("Error", _tblErrorMessages[error], MB_OK,  MB_ICONEXCLAMATION);
end

şeklinde kullandığımızda
File.Copy fonksiyonu başarılı bir şekilde işlemini gerçekleştirememişse error değişkenine a 0 dan farklı bir değer döndürür ve if kontrol yapısı gerçekleştirir o anda ne hata gelmişse

_tblErrorMessages[hata kodu]
ile bize ekrana diyalog mesaj çıkartır. Böylelikle ne hatası var anlamış oluruz. Gördüğünüz gibi

Dialog.Message()
fonksiyonunun önemi büyük çünkü olmasaydı yukarıdaki örnekte dosyanın hatalı veya hatasız kopyalandığını anlayamayacaktık. Biraz da ne parametreleri alır geri ne döndürür buna bakalım.

Dialog.Message()
fonksiyonu geri number türünden değer döndürür.

number Dialog.Message(string Title, string Text, number Type = MB_OK, number Icon = MB_ICONINFORMATION, number DefaultButton = MB_DEFBUTTON1);
bize 1,2,3,4,5,6 ve 7 den herhangi bir değeri döndürür. Yukarıda belirtildiği gibi string title yani string türünde başlık girilecektir. İkinci olarak string text yani string türünden yazınızı girmelisiniz. Aslında bu kadar yeterli diğerlerini girmesenizde çalışacaktır. Üçüncü değer olarak diyalog mesaj görüntülendiğinde hangi butonun veya hangi butonların gözükmesini istediğiniz değerdir.

( MB_OK=
tamam butonu,

MB_OKCANCEL=
tamam ve iptal butonu,

MB_ABORTRETRYIGNORE=iptal et yeniden dene ve ihmal et,

MB_YESNOCANCEL=
evet hayır ve iptal butonu,

MB_YESNO=
evet hayır butonu,

MB_RETRYCANCEL= yeniden dene iptal et butonu). 4. olarak da diyalog mesaj görüntülendiğinde karşımıza çıkacak ikonu belirleyebilirsiniz. Son olarakta varsayılan butonu değiştirebilirsiniz. Şimdi son olarak bir örnek kod yazalım. (İşinize yarayacak bir kod)
mesela bir program yazdığımızı düşünelim ve iptal butonu var iptale basıldığını an işlemi durdurmasını istiyoruz tabi kullanıcıya soru sorması gerekiyor.

sonuc = Dialog.Message("Uyarı", "İşlem sürüyor. Yinede devam etmek istiyor musunuz?",

MB_YESNO, MB_ICONINFORMATION, MB_DEFBUTTON1);--kullanıcı iptale bastı ve karşımıza bu diyalog çıktı.

if (sonuc==IDYES) then -- kullanıcı evet butonuna basmışsa( yani işlemi durdurmak istiyorsa)

Dialog.Message("İşlem","İşlem kullanıcı tarafından iptal edildi.")

else -- kullanıcı hayır a basmışsa (aslında else e gerek yok ama bilerek koydum.)

--buraya bişey yazmanıza gerek yok çünkü işlem kaldığı yerden devam edecek
end

Şimdilik bu kadar herkese başarılar...
 
Son düzenleme:

REHBER: AutoPlay Media Studio'da Dialog.Message Kullanımı

Dialog.Message sadece basit bir uyarı penceresi değildir; butonları ve ikonları özelleştirilebilen interaktif bir penceredir.

1. Temel Yazım Kalıbı

Komutun genel yapısı şöyledir:
Dialog.Message("Pencere Başlığı", "Görünecek Mesaj", Buton_Tipi, İkon_Tipi, Varsayılan_Buton);

2. Buton ve İkon Seçenekleri

Pencerenin amacına göre şu sabitleri kullanabilirsiniz:

Buton Tipleri (Buttons)İkon Tipleri (Icons)
MB_OK (Sadece Tamam)MB_ICONINFORMATION (Bilgi - i)
MB_YESNO (Evet / Hayır)MB_ICONSTOP (Hata - X)
MB_OKCANCEL (Tamam / İptal)MB_ICONEXCLAMATION (Uyarı - !)
MB_YESNOCANCEL (Evet/Hayır/İptal)MB_ICONQUESTION (Soru - ?)

3. Uygulamalı Örnek: Onaylı Kurulum

Kullanıcıya "Kurmak istiyor musunuz?" diye sormak ve cevabına göre işlem yapmak için şu kodu kullanın:
Kod:
Buton Tipleri (Buttons),İkon Tipleri (Icons)
MB_OK (Sadece Tamam),MB_ICONINFORMATION (Bilgi - i)
MB_YESNO (Evet / Hayır),MB_ICONSTOP (Hata - X)
MB_OKCANCEL (Tamam / İptal),MB_ICONEXCLAMATION (Uyarı - !)
MB_YESNOCANCEL (Evet/Hayır/İptal),MB_ICONQUESTION (Soru - ?)

4. Profesyonel İpucu: Çok Satırlı Mesajlar

Mesajın içinde bir alt satıra geçmek istiyorsanız \r\n ifadesini kullanmalısınız. Dialog.Message("Hata", "Dosya bulunamadı!\r\nLütfen yolu kontrol edin.", MB_OK, MB_ICONSTOP);

Teknik İpucu (Usta Notu)

Dükkanda hazırladığın teknik servis araçlarında, kritik işlemlerden (örneğin BIOS yazma veya sistem dosyası silme gibi) önce mutlaka MB_YESNO ve MB_ICONEXCLAMATION kullanarak kullanıcıdan onay al. Bu, hatalı tıklamaların önüne geçer ve dükkanındaki servis kalitesini artırır. Ayrıca, mesaj başlıklarına kendi markanı (Örn: Uydudoktoru Servis Mesajı) ekleyerek yazılımın her noktasında profesyonelliğini gösterebilirsin.
 
Geri
Yukarı