Actionscript 3.0 kullanarak txt dosyasından veri çekmek..-1-
05 Ocak 2010, admin
Bugün burada as3 kullanarak dışarıdaki bir txt dosyasından nasıl veri çekilir onu göstermeye çalışacağım. Aslında daha önce burada xml dosyasından nasıl veri çekilebileceğini kapsamlı olarak anlatmıştım. Mantık aynı ancak, şimdi anlatacağım daha basit bir konu.
Öncelikle,Text dosyamızı oluşturalım. Notepad ile bunu yapabiliriz. Açtım ve ” Bu text dışarıdan geldi!! ” yazdım. Bu dosyayı; ex ismiyle kaydediyorum (ex.txt). ex.txt ile flash .fla dosyamız aynı dizinde olmalı. Farklı dizinlerde olacaksa, bunu, kodda dosya yolu olarak belirtmeliyiz.
Şimdi, Flash’te as3 dosyamızı açıyorum. Yada flash açık ise; File/New.. (CTRL+N) yolu ile Flash File (Actionscript 3.0) dosyamı oluşturuyorum.
İlk katman’da (layer), sahneme (stage), Text Tool (T) ile bir text alanı çiziyorum. Bu text alanım seçili iken, Özellikler (Properties) panelinde gerekli değişiklikleri aşağıdaki resimdeki gibi yapıyorum.
Burada önemli olan ” my_txt ” isimli örnek ismimizi girmemiz.. Diğer yandan, eğer Türkçe karakter kullanacaksanız, buradaki derse bakmanızda fayda var, tekrar anlatmıyorum (Oradaki 1.yolu uygulamanız yeterli). Diğer ayarlarda değişiklikler yapabilirsiniz.
Tamamdır. Şimdi kod kısmına geçelim. Yeni bir katman oluşturdum ve bu katman seçili iken F9 kısayol tuşu ile Actions panelimi açtım. Buraya aşağıdaki kodu ekliyorum.
var loader:URLLoader = new URLLoader();
function textLoad(event:Event):void
{
my_txt.text = loader.data;
}
loader.addEventListener(Event.COMPLETE, textLoad);
loader.load(req);
Evet şimdi CTRL+ENTER yaparsanız dışarıdan gelen yazıyı görebilirsiniz.
Kodda ise; URLRequest sınıfını kullanıyorum, bunun için req isimli bir değişken yarattım. req değişkeniyle dosya erişim bilgisini URLLoader sınıfını kullanarak, loader isimli bir başka değişkenle load (yükleyeceğim) edeceğim.
loader değişkenine olay dinleyicisi ekliyorum ve yükleme tamamlandığında, textLoad adlı fonksiyonu çalıştırıyorum.
Fonksiyon içerisinde de, gelen veriyi, my_txt isimli text alanıma aktarıyorum.
NOT : Eğer text alanınızın otomatik olarak genişlemesini istiyorsanız;
my_txt.autoSize = “left”;
yapmanız yeterli olacaktır.
Kaynak dosyayı buradan indirebilirsiniz.
Bir sonraki derste birden fazla veri nasıl çekilir, ayrıca resim dosyası nasıl yüklenir, orada anlattım. Bir sonraki derse buradan ulaşabilirsiniz.
Teşekkürler..





(2 votes, average: 4,50 out of 5)
Ocak 27th, 2010 on 10:38
dynamic text’ten bir kaçtane varsa ve tek text dosyasından çekmek istiyorsak nasıl yapmamız gerekmektedir.
Şimdiden ilginiz için teşekkürler.
Şubat 2nd, 2010 on 17:08
burada anlattım.
Mart 4th, 2010 on 07:43
textin içine yazılanlardan bir satırına link vermek istersek nasıl link veririz.
Haziran 12th, 2010 on 16:48
selam, yazınızı denedim, başardım, çok teşekkürler. ama bir sorun var. sadeece “ı” harfleri görünmüyor. ğüşöç haflerinde sorun yok ama ı harflerinin yerinde boşluk bile çıkmıyor. sanki hiç yazmamışım gibi, neden olabilir?
Haziran 12th, 2010 on 18:12
Yazılarını embed ettinmi? Eğer yapmadıysan öncelikle onu yapmalısın. Yok hala olmuyorsa; text dosyanı unicode olarak kaydet bir de öyle dene.. Kolay gelsin..
Haziran 12th, 2010 on 21:13
Unicode olayını unutmuşum, teşekkür ederim. çözüldü
Mart 10th, 2011 on 10:21
verdiğiniz bilgiler için teşekkürler. ben yabancı bir linkten oluşturduğum swf dosyasına txt dosyası çekmek istiyorum. aşağıdaki yaptım çekemedim. txt dosyasını kopyalayıp swf ile aynı dizine alırsam çekiyor ama linkle olmuyor.
“veriguncelle1 = “http:www..turkcescript.com/veri.txt?” + random(100000);
loadVariablesNum(veriguncelle1, 0);
loadVariablesNum(“veri.txt”, 0);
Mart 10th, 2011 on 17:44
yukarıda anlattığım şekilde yaparsan çekersin.. tabi yukarısı as3, sen as2 kullanıyorsun.. Yolun doğru olduğundan emin ol! normalde çekmesi lazım.. eğer sunucuda bi engel yoksa tabi..
Mart 11th, 2011 on 04:55
Hocam sizin belirttiğiniz gibi yaptım olmadı.mesajımı daha açık yazayım. Milli piyangonun çekilişlerini çekmek maksadındayım. aşağıda verdiğim biçimde yaptığımda cekilisler.txt dosyasını kendim oluşturuyorum ve aynı dizine atıyorum o zaman swf çalışıyor. ben ise txt hiç uğraşmayayım direk linkten kendi çeksin oto güncellesin istiyorum. txt in yolu ise şu ve doğru. valla yardımcı olursanız çok sevineceğim çok fena kafaya taktım çünkü.
http://www.millipiyango.gov.tr/solmenu/cekilisler.txt
benim kullandığım kodlar:
veriguncelle1 = “solmenu/cekilisler.txt?” + random(100000);
loadVariablesNum(veriguncelle1, 0);
loadVariablesNum(“cekilisler.txt”, 0);
tarih = new Date();
yil = tarih.getFullYear();
ay = tarih.getMonth() + 1;
gun = tarih.getDate();
butonsayisal.onRelease = function ()
{
getURL(“http://www.millipiyango.gov.tr/sayisallotosonuc.html”);
};
Mart 26th, 2011 on 12:41
Ustam herşey güzel hoş dediğini hafiyen uyguladım ve oldu çok teşekkür ederim ama ben bu yazının kaymasını sitiyorum yani açıkçası kayan yazı yapmak istiyorum haber tarzında bana bu konuda yardımcı olurmusun
Ekim 24th, 2011 on 08:33
http://hbkara.blogcu.com/kayan-yazi-ornegi-as2/11335677
de kayan yazı örneği mevcut.
Bende bunu AS3 e çevirmek istiyorum. AS3 e çevirebilen olursa memnun olurum.
Nisan 10th, 2012 on 07:44
Hocam şu dersin bir de AS2 kodları ile yapımını anlatsanız hürmete geçer.
Nisan 12th, 2012 on 17:12
var textim:LoadVars = new LoadVars();
textim.load(“ex.txt”);
textim.onLoad = function(yuklendi:Boolean) {
if (yuklendi) {
textalini_adi.text = this.benim_textim;
}
};
Text Dostası;
&benim_textim=”Burası da yazı.”