Mehmet Emin KAYA - Kişisel Web Sitesi Ana Sayfa | Hakkımda | Çalışmalarım | Kitap Önerileri | Fotoğraflarım | RSS RSS | İletişim
İçerik Kategorileri
Makale Kategorileri
Arama

Tema
Kaynaklar
Takip Ettiklerim

Flash Data Grid 2


Flash DataGrid kullanımı ve array (dizi) kullanımı üzerine bir örnek uygulama.

 

Dizilerin dinamik olmasını sağlayan unsur dizideki eleman sayısının değişken olmasıdır. Diziye eleman eklemek için kullandığımız komut ‘dizi.push’ komutudur. Diziden eleman silmek içinde ‘dizi.pop’ komutunu kullanırız.

var sayilar:Array = new Array(1, 2, 3);//elemanları 1,2,3 olan sayilar dizisini oluşturduk.
sayilar.pop();//son elemanı sildik.
sayilar.push(5);//yeni eleman olarak 5′i ekledik
trace(sayilar) // dizinin çıktısı:  1,2,5   olur.



Dizi ile DataGrid’i kullandığımız örneği inceleyelim.

Kaynak kodları indirmek için tıklayınız.

import flash.display.*;
import fl.controls.DataGrid;
import fl.data.DataProvider;
//gerekli class’ları import ediyoruz.

var dizi:Array = new Array();
var datagrid:DataGrid = new DataGrid();
datagrid.columns = [ "isim", "sehir" ];//datagrid’in sütunlarını belirliyoruz.
datagrid.setSize(240, 200);
datagrid.move(5, 80);
addChild(datagrid);

ekle_btn.addEventListener(MouseEvent.CLICK,ekle);
function ekle(event:Event):void
{
datagrid.removeAll();//bir öncekileri silmemiz için
dizi.push({isim:isim_txt.text, sehir:sehir_txt.text});
datagrid.dataProvider = new DataProvider(dizi);//datagird’e dizi’yi aktarıyoruz.

//datagrid.rowCount = datagrid.length;//datagrid yükseklğini eleman sayısına göre güncelliyoruz.
}

Flash Uygulamaları | Bu yazıya henüz yorum yapılmamış. | 18.05.2009 19:54:33

RSS Nedir?


Rss nedir? Nasıl okunur?  flash’la Rss’leri nasıl okuruz?

Rss xml formatında yazılmış bir kendine özgü başlıkları olan, bir dosyadır. Tüm Rss’ler aynı başlık isimleri kullanılır bu nedenlede herhangibir siteden Rss okurken zorlanmayız çünkü başlık ve alt başlıklar bellidir.

Bütün Rss’ler ‘channel’ana başlığının altındaki ‘item’ alt başlıklarından ibarettir. ‘channel’ başlığının hemen altında sayfayı tanımlayan başlıklar ve arkasındanda ‘item’ başlıkları yer alır. Her ‘item’ alt başlığı yeni bir konu, haber, açıklama, link ve zaman bilgilerini içerir.

<item>
<title>Bu kısım başlıktır.</title>
<link>Haberin devamına ilişkin url buraya yazılır.</link>
<description>Bu kısım kısa bir açıklama yapılan yerdir.</description>
<pubDate>Yazının yayımlanbdığı tarih ve saat.</pubDate>
<lastBuildDate>Son güncelleme zamanı</lastBuildDate>
</item>

Örnek bir Rss görüntülemek için tıklayınız.

Açılan Rss sayfasının üzerine sağ tıklayıp ’sayfa kaynağını göster’ dediğinizde ‘channel’ ve ‘item’ başlıklarını göreceksiniz.

Hazırladığım örneği incelemeniz daha yararlı olacaktır.

Kaynak kodları indirmek için tıklayınız.


var xml:XML;
var xmllist:XMLList;
var xmlloader:URLLoader=new URLLoader();

xmlloader.addEventListener(Event.COMPLETE,xml_yukle);
function xml_yukle(event:Event):void
{
datagrid.removeAll();
//yeniden yükleme esnasında bir önceki verilerin silinmesi için.

xml=XML(event.target.data);
switch(combo.selectedIndex)
{
//xmllist içeriğini combobox’a göre dolduruyoruz.
case 0:xmllist=xml.channel.item.children();break;
case 1:xmllist=xml.channel.item.title.children();break;
case 2:xmllist=xml.channel.item.link.children();break;
case 3:xmllist=xml.channel.item.description.children();break;
case 4:xmllist=xml.channel.item.pubDate.children();break;
}
for (var i:int=0; i<xmllist.length(); i++)
{
//xmllist’i dizi mantığıyla kullanabiliriz. toplam eleman sayısına göre
//sırasıyla datagrid’e ekliyoruz.

var s1:String=xmllist[i];
datagrid.addItem({RSS:s1});
}

}

yukle_btn.addEventListener(MouseEvent.CLICK,rss_yukle);
function rss_yukle(event:Event):void
{

//input_txt’ten gelen url’ye göre rss.xml dosyalarını yüklüyoruz.
xmlloader.load(new URLRequest(input_txt.text));
}

//combobox’a eklenecek olan diziyi oluşturuyoruz.
var linkler:Array = new Array(
{label:”item”},{label:”title”},{label:”link”},{label:”description”},{label:”pubDate”});

import fl.controls.*;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;

//gerekli class’ları import ediyoruz.

combo.dataProvider=new DataProvider(linkler);//combobox’ın içeriğine linkler dizisini ekliyoruz.

//datagrid için RSS isminde sütun oluşturuyoruz. (birden çok sütunlu datagrid’lerde yapabiliriz.)
var baslik_dgc:DataGridColumn = new DataGridColumn(”RSS”);
baslik_dgc.headerText = “RSS HABERLER”;//sütun’a başlık yazıyoruz.
datagrid.addColumn(baslik_dgc);//sütun’u datagrid’e ekliyoruz.

input_txt.text=”http://rss.hurriyet.com.tr/rss.aspx?sectionId=1″;
//input_txt’imiz boş kalmasın diye varsayılan url yazıyoruz.

Flash Uygulamaları | Bu yazıya henüz yorum yapılmamış. | 18.05.2009 19:49:52

Flash Data Grid


Flash Data Grid’in kullanımına dair bir güzel bir örnek.

Kaynak kodları indirmek için tıklayınız.

import fl.data.DataProvider;
olustur(ogrenci_dg);//ogrenci_dg datagrid’i instalize ediyoruz.

var ogrenciler:Array = new Array();//data grid için kullanacağımız çok boyutlu diziyi oluşturuyoruz.
ogrenciler = [
{Ad:"Sinan", sinav1:"40", sinav2:"71", sinav3:"90"},
{Ad:"Melih", sinav1:"60", sinav2:"34", sinav3:"45"},
{Ad:"Çiğdem", sinav1:"83", sinav2:"56", sinav3:"35"},
{Ad:"Ezgi", sinav1:"45", sinav2:"90", sinav3:"23"},
{Ad:"Mehmet", sinav1:"34", sinav2:"12", sinav3:"87"},
{Ad:"Merve", sinav1:"56", sinav2:"90", sinav3:"43"},
{Ad:"Emre", sinav1:"46", sinav2:"100", sinav3:"100"},];

ogrenci_dg.dataProvider = new DataProvider(ogrenciler);
ogrenci_dg.rowCount = ogrenci_dg.length;

function olustur(dg:DataGrid){//sütunları oluşturup, genişliklerini belirtiyoruz.
dg.setSize(250, 250);
dg.columns = ["Ad", "sinav1", "sinav2", "sinav3"];
dg.columns[0].width = 100;
dg.columns[1].width = 50;
dg.columns[2].width = 50;
dg.columns[3].width = 50;
dg.move(20,10);
};

sonuc_txt.setSize(250, 25);//sonuc_txt isimli textarea’nın boyutunu ve konumu ayarlıyoruz.
sonuc_txt.move(20,190);

ogrenci_dg.addEventListener(Event.CHANGE, degistir);
//datagrid içerisindeki başlıklar tıklnadığında seçili ifade değişir bu durumda belirtilen metod çalışır.
function degistir(event:Event):void
{

//ogrenciler dizisinden datagrid’teki seçili ifadelere göre veri çekip
//öğrencilerin not ortalamasını hesaplayıp sonuç_txt nesnesine yazdırıyoruz.

var    isim:String=ogrenciler[ogrenci_dg.selectedIndex]["Ad"];
var s1:Number=int(ogrenciler[ogrenci_dg.selectedIndex]["sinav1"]);
var s2:Number=int(ogrenciler[ogrenci_dg.selectedIndex]["sinav2"]);
var s3:Number=int(ogrenciler[ogrenci_dg.selectedIndex]["sinav3"]);
var ort:int=(s1+s2+s3)/3;
sonuc_txt.text=”Adı: “+isim+”,     Ortalaması: “+ort;
}

Flash Uygulamaları | Bu yazıya henüz yorum yapılmamış. | 18.05.2009 19:48:28

Flash Share Object


Flash’ın Share Object nesnesi web sayfaları çerezleri gibi çalışır ancak onlardan çok daha üstün noktaları vardır. Örneğin çerezler ile sadece string değişkenler saklanırken Share Object ile aklınıza gelebilecek bir çok değişken türü saklanmaktadır. (Tamsayı, Ondalıklı Sayı, String, Diziler, Tarih, Zaman ve Flash’a özgü değişkenler.)

Bu örnekte ziyaretçinin sayfayı ziyaret sayısını tutuyoruz. Buradaki mantıkta sayac değişkenin kullanıcının bilgisayarında saklanıp saklanmadığına bakarız. Eğer böyle bir değişken yoksa oluştur, varsa değerini artır ve kullanıcıya belirt. Kısaca mantığı budur.
Kaynak kodları indirmek için tıklayınız.

import flash.net.SharedObject;
//shareobject class’nı import ediyoruz.

var flashuygulamalari_so:SharedObject=SharedObject.getLocal(”flashuygulamalari_so”);
//flashuygulamalari_so  isminde shareobject flash çerezi oluşturduk.

if (flashuygulamalari_so.data.sayac==undefined)
{

//flashuygulamalari_so.data.sayac değişkeni hiç kullanılmamışsa undefined durumdadır
//ozaman içerisine 1 değerini aktararak aktif hale getiriyoruz.

flashuygulamalari_so.data.sayac=1;
}

if (flashuygulamalari_so.data.sayac==1)
yazi_txt.text=”Merhaba sayfamızı ilk defa ziyaret ediyorsunuz. Umarız memnun kalırsınız.”;
else
yazi_txt.text=”Merhaba, Sayfayı “+flashuygulamalari_so.data.sayac+”. Kez Ziyaret Ediyorsunuz”;

flashuygulamalari_so.data.sayac++;//sayfa ziyaret edildikçe sayac’ımızı arttırıyoruz.

sil_btn.addEventListener(MouseEvent.CLICK,klik_fonksiyonu);
//sil_btn isimli butonun click olayında çalışacak olan klik_fonksiyonu’nu oluşturduk.
function klik_fonksiyonu(event:Event):void
{
flashuygulamalari_so.clear();
//shareobject çerezimizin içeriğini siliyoruz.
yazi_txt.text=”";
}

Flash Uygulamaları | Bu yazıya henüz yorum yapılmamış. | 18.05.2009 19:47:04

Yazdıklarınızı Resim Olarak Saklayın


 

Yazılan metni resme dönüştürüp saklayabileceğimiz flash animasyonu.

Papirüs kağıdı resmi ile birlikte yazılan metni birleştirip .jpg ya da .png resme dönüştürüyor.  Sistem php dosyaları ile birlikte çalıştığı için server üzerinde ya da apache server kurup localhost’ta çalıştırabilirsiniz.

Apache server’ı indirmek için tıklayınız.

Apache server kurulumunu okumak için tıklayınız.

Çalışır halde görmek için tıklayınız.

Kaynak kodunu indirmek için tıklayınız.

Flash Uygulamaları | Bu yazıya henüz yorum yapılmamış. | 14.05.2009 18:52:34

Ana Sayfa | Hakkımda | Çalışmalarım | Kitap Önerileri | Fotoğraflarım | RSS | İletişim
Mehmet Emin KAYA