AutoPlay Media Studio 9 ile RadioButton Kullanarak Dinamik TXT Dosyası Açma

guclusat

Tanınmış Üye
Süper Moderatör

AutoPlay Media Studio 9 ile RadioButton Kullanarak Dinamik TXT Dosyası Açma​


AutoPlay Media Studio projelerinde kullanıcıya farklı seçenekler sunmak için RadioButton nesnelerini kullanabiliriz. Seçilen RadioButton üzerindeki metni okuyarak, aynı isimde bulunan bir TXT dosyasını otomatik olarak açtırmak da mümkündür. Böylece her dosya için ayrı ayrı kod yazmak yerine, RadioButton üzerinde yazan metni dosya adı olarak kullanabiliriz.

Örneğin projemizin AutoPlay\Docs klasöründe aşağıdaki TXT dosyalarının bulunduğunu düşünelim:

Kod:
Haberler.txt
Duyurular.txt
TeknikBilgiler.txt

Sayfamıza da üç adet RadioButton ve bir adet Button ekleyelim.

RadioButton'ların üzerindeki yazılar şöyle olsun:

Kod:
RadioButton1 = Haberler
RadioButton2 = Duyurular
RadioButton3 = TeknikBilgiler

Butona tıklandığında hangi RadioButton seçiliyse, onun üzerindeki yazıyı alıp ilgili TXT dosyasını açtıracağız.

RadioButton Üzerindeki Metni Alma​


Öncelikle RadioButton üzerindeki yazıyı bir değişkene aktarabiliriz.

Kod:
dosya_adi = RadioButton.GetText("RadioButton1");

Örneğin RadioButton1 üzerinde Haberler yazıyorsa, dosya_adi değişkeninin değeri Haberler olacaktır.

Dinamik Dosya Yolunu Oluşturma​


Şimdi bu değeri kullanarak TXT dosyasının yolunu oluşturalım.

Kod:
File.Open("AutoPlay\Docs\" .. dosya_adi .. ".txt");

Buradaki:

Kod:
"AutoPlay\Docs\"

dosyanın bulunduğu klasörü belirtir.

Kod:
dosya_adi

RadioButton üzerinden aldığımız dosya adıdır.

Kod:
".txt"

ise dosyanın uzantısını ekler.

Örneğin dosya_adi değişkeninin değeri Haberler ise oluşan dosya yolu şu şekilde olur:

Kod:
AutoPlay\Docs\Haberler.txt

RadioButton Seçimini Kontrol Etme​


Şimdi işlemi Button nesnesinin On Click olayına ekleyelim.

Kod:
-- RadioButton1 seçiliyse
if RadioButton.GetChecked("RadioButton1") then

dosya_adi = RadioButton.GetText("RadioButton1");

File.Open("AutoPlay\\Docs\\" .. dosya_adi .. ".txt");

end

Bu kodda RadioButton1 seçiliyse, üzerindeki yazı alınır ve aynı isimdeki TXT dosyası açılır.

Üç RadioButton ile Örnek​


Birden fazla RadioButton kullanacaksak her seçeneği kontrol edebiliriz.

Kod:
-- RadioButton1
if RadioButton.GetChecked("RadioButton1") then

dosya_adi = RadioButton.GetText("RadioButton1");
File.Open("AutoPlay\\Docs\\" .. dosya_adi .. ".txt");
end

-- RadioButton2
if RadioButton.GetChecked("RadioButton2") then

dosya_adi = RadioButton.GetText("RadioButton2");
File.Open("AutoPlay\\Docs\\" .. dosya_adi .. ".txt");
end

-- RadioButton3
if RadioButton.GetChecked("RadioButton3") then

dosya_adi = RadioButton.GetText("RadioButton3");
File.Open("AutoPlay\\Docs\\" .. dosya_adi .. ".txt");
end

Bu durumda kullanıcı Haberler seçeneğini işaretlerse:

Kod:
AutoPlay\Docs\Haberler.txt

Duyurular seçeneğini işaretlerse:

Kod:
AutoPlay\Docs\Duyurular.txt

TeknikBilgiler seçeneğini işaretlerse:

Kod:
AutoPlay\Docs\TeknikBilgiler.txt

dosyası açılır.

Daha Düzenli Kullanım​


RadioButton sayısı arttığında kodu daha düzenli hale getirmek için her RadioButton'ın metnini doğrudan dosya adı olarak kullanabiliriz.

Örneğin:

Kod:
dosya_adi = "";

if RadioButton.GetChecked("RadioButton1") then
dosya_adi = RadioButton.GetText("RadioButton1");

elseif RadioButton.GetChecked("RadioButton2") then
dosya_adi = RadioButton.GetText("RadioButton2");

elseif RadioButton.GetChecked("RadioButton3") then
dosya_adi = RadioButton.GetText("RadioButton3");
end

if dosya_adi ~= "" then
File.Open("AutoPlay\Docs\" .. dosya_adi .. ".txt");
end

Bu yöntemde önce hangi RadioButton'ın seçildiği belirlenir. Seçilen RadioButton'ın üzerindeki yazı dosya_adi değişkenine aktarılır ve son olarak ilgili TXT dosyası açılır.

Dikkat Edilmesi Gereken Nokta​


Lua'da metinleri birleştirmek için iki nokta (..) kullanılır. Bu nedenle dosya yolunu oluştururken aşağıdaki kullanım doğrudur:

Kod:
File.Open("AutoPlay\Docs\" .. dosya_adi .. ".txt");

Yanlış kullanımda ise metin ile değişken arasındaki birleştirme operatörü eksik olduğundan kod çalışmaz.

Ayrıca dosya adlarının RadioButton üzerindeki metinle aynı olması gerekir. Örneğin RadioButton üzerinde Haberler yazıyorsa, AutoPlay\Docs klasöründe Haberler.txt bulunmalıdır.

Bu yöntem özellikle AIO uygulamalarında, teknik arşivlerde, yardım dosyalarında ve çok sayıda TXT belgesinin bulunduğu AutoPlay Media Studio projelerinde pratik bir şekilde kullanılabilir.
 
Geri
Yukarı