Türkçescript

Actionscript 3.0 kullanarak txt dosyasından veri çekmek..-1-

05 Ocak 2010,

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.

AS3 kodu   
var req:URLRequest = new URLRequest("ex.txt");
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..

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 4,50 out of 5)
Loading ... Loading ...
:, , , , ,
13 yorum var:
  1. metin sert

    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.

  2. bilgi

    textin içine yazılanlardan bir satırına link vermek istersek nasıl link veririz.

  3. Süha

    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?

  4. admin

    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..

  5. Süha

    Unicode olayını unutmuşum, teşekkür ederim. çözüldü :)

  6. ibrahim

    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);

  7. admin

    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..

  8. ibrahim

    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”);
    };

  9. Ozan

    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 :)

  10. besu

    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.

  11. Süleyman kılıçgil

    Hocam şu dersin bir de AS2 kodları ile yapımını anlatsanız hürmete geçer.

  12. admin

    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ı.”

Yanıtla

İsim

Mail

Websitesi    

*

Bağlantılar!

Kendi projelerimiz ve arkadaşlarımızın projeleri...