guclusat

Tanınmış Üye
Süper Moderatör
Bu konuda nerden çıktı diyeceksiniz. Böyle set ve get diye fonksiyonlar mı var? Hayır yok ama size AutoPlay i daha iyi anlamanıza yardımcı olacak konuya değinmek istiyorum. AutoPlay kodlarını türkçe değerlendirirseniz daha iyi anlamış olursunuz. Mesela önceki konuda bir konuda değindiğim hata kontrolü olan Application.GetLastError() fonksiyonunu ele alalım. Application uygulama demek, LastError son hata demek ve şimdiki konuda değineceğimiz Get ise almak anlamında. Peki kafamızda şöyle bir düşündüğümüzde bu kod ne işe yarayabilir. Uygulamadaki son hatayı al diyebiliriz kısaca. Bakın türkçe düşündüğümüzde yani kelimeleri türkçeleştirdiğimizde ne işe yaradığı açıkca ortaya çıkıyor. Peki ben niye sadece Get ve Set e değiniyorum bu konuda. AutoPlay hazır fonksiyonlarına baktığınızda bu mantıkla hazırlanmış. Örnek fonksiyonlar yazalım:

PHP:
Application.GetLastError(), ApplicationSetLastError(),
 XML.GetAttribute(),XML.SetAttribute(),
 Flash.GetSize(),Flash.SetSize(),

Tabi bu örnekler çoğaltılabilir.

Basit 3 tane örnek yazdım. Böyle düşündüğümüzde Get almak anlamında Set ise ayarlamak anlamında. Şimdi kodlara göz atalım. Application.GetLastError() I açıklamıştık. Peki Application.SetLastError() ne anlama gelecek. Tabikide Uygulamadaki son hatayı ayarla isteğe özel. Aynen bu mantıkla düşündüğümüzde XML özelliği al ve XML özelliği ayarla diyebiliriz. Dediğim gibi bu mantık üzerine hazırlanmış fonksiyonlar. Bu şekilde kafanızda bir yer ayırırsanız daha iyi anlamış olursunuz. Kolay gelsin...
 
Son düzenleme:

AMS'de Set ve Get Metotlarının Mantığı

AMS'de neredeyse her objenin "Set" (Ayarla) ve "Get" (Getir/Oku) fonksiyonu vardır. Mantık şudur:
  • Get: Objeden bilgi alır. (Örn: "Bu kutu işaretli mi?", "Bu butonda ne yazıyor?")
  • Set: Objeye bilgi gönderir/değiştirir. (Örn: "Butonun rengini kırmızı yap", "Metni 'Başarıyla Kuruldu' olarak değiştir.")

1. En Çok Kullanılan Get ve Set Komutları

A. Metin Değiştirme ve Okuma (Label / Paragraph)

  • Label.SetText("Label1", "Hoş geldiniz!"); -> Label1 objesine yazı yazar.
  • yazi = Label.GetText("Label1"); -> Label1'de ne yazdığını "yazi" değişkenine atar.

B. Buton ve Obje Kontrolü (Enabled / Visible)

  • Button.SetEnabled("Button1", false); -> Butonu pasif/tıklanamaz hale getirir.
  • durum = Button.IsEnabled("Button1"); -> Butonun aktif olup olmadığını kontrol eder.

C. CheckBox Durumu (AIO Projeleri İçin Kritik)

  • CheckBox.SetChecked("CheckBox1", true); -> Kutuyu işaretler.
  • secili_mi = CheckBox.GetChecked("CheckBox1"); -> Kutu işaretli mi değil mi bilgisini alır.

2. Uygulamalı Örnek: Dinamik Kullanıcı Karşılaması

Dükkanındaki teknik servis programında kullanıcı adını alıp ona özel mesaj göstermek için bu iki metodu beraber kullanabilirsin:
Kod:
-- Input objesinden ismi al (GET)
kullanici_adi = Input.GetText("Input1");

-- Eğer isim yazılmışsa Label'a yazdır (SET)
if (kullanici_adi ~= "") then
    Label.SetText("lblMesaj", "Hoş geldin usta: " .. kullanici_adi);
else
    Label.SetText("lblMesaj", "Lütfen isminizi yazın.");
end

Teknik İpucu (Usta Notu)

Usta, dükkanda hazırladığın AIO kurulum setlerinde bu metotları şöyle kullanabilirsin:Kurulum başladığında Button.SetEnabled ile kur butonunu false yap (kullanıcı bir daha basmasın). Kurulum bittiğinde ise tekrar true yap. Bu sayede programın aynı anda iki kez kurulum başlatıp çökmesini veya hata vermesini engellersin.
 
Geri
Yukarı