You are on page 1of 3

flashhtml 11/7/05 6:30 PM Page 1

ÇÖZÜMLER

Flash ve Formatl› ‹çerik


Flash ile dinamik içerikli web siteleri haz›rlayabilirsiniz!

H
erkese merhaba! Bu ay, Flash ile dina- ve animasyon aras›ndaki ba¤lant›y› sa¤lamak
mik Web sitesi haz›rlayan programc›- için ise, küçük ve basit bir ASP.NET sayfas›ndan
lar›n ilginizi çekecek bir konu ile faydalanaca¤›z.
karfl›n›zday›z. Flash’te haz›rlad›¤›m›z bir ani-
masyonun içerisine bir metin dosyas›ndan veri Veritaban›
çekebilece¤imizi zaten biliyoruz. Bunun bir ad›m Örne¤i basit tutmak ad›na, tek tablolu bir Access
ötesinde; ASP veya ASP.NET gibi dinamik bir veritaban›ndan faydalan›yor olaca¤›z. Veritaba-
platform yard›m›yla veritaban›nda yatan verileri n›nda, METINLER adl› bir tablo ve bu tabloda ID
de Flash animasyonunun içine dahil edebiliriz. ve METIN adl› iki alan olacak. Tahmin edece¤i-
Bu konudaki temel bilginizin eksik oldu¤unu dü- niz gibi; ID alan›nda her bir yaz›ya ait belirleyici
flünüyorsan›z, önce ek kaynaklarda ad› geçen bir say›, METIN alan›nda ise yaz›n›n kendisi yer
dosya ve sitelere bir göz atman›z› tavsiye ederim. alacak.
Flash içerisine veri çekebiliyor olmam›za ra¤- Son olarak, tablomuz içerisinde yeni bir kay›t
men; Flash programc›lar›n›n yaflad›¤› en büyük yarat›p bu kayda afla¤›daki metni girece¤iz:
problemlerden biri, d›flar›dan çektikleri metinle-
ri kolay bir flekilde formatlayam›yor olmakt›r. Ör- <img src='mini.jpg' align='left'><font face='Tahoma' si-
ne¤in; Flash ile haz›rlad›¤›n›z kurumsal bir Web ze='11'><b>Firmam›z›n kurumsal Web sitesine hoflgeldi-
sitesinde, veritaban›nda bar›nd›r›lan formatl›
metinleri görüntülemek istedi¤inizi düflünün.
Flash animasyonuna dinamik olarak çekilen bu
yaz›n›n baz› bölümlerini koyu, baz› yerlerini alt›
çizili ve baz› yerlerini renkli göstermek isteyen bir
içerik yöneticisine, buna benzer biçimlendirme
seçeneklerini kullanabilece¤i bir ortam sa¤lamak
durumunday›z.
Bu makalenin sonuna geldi¤inizde, Flash ani- Gördü¤ünüz gibi, veritaban› yap›s›n›
masyonlar›n›za dinamik ve formatl› içeri¤in na- fiekil 2: oldukça basit tuttuk...
s›l ithal edilebilece¤ini ö¤renmifl olacaks›n›z.
niz!</b> Biz her zaman ifl ve <u>müflteri</u> odakl›
Genel Çerçeve çal›flmak taraftar›y›z. ‹fl ortaklar›m›z aras›nda <a
NOT: Bu makaleye ait kaynak Her zaman oldu¤u gibi, konuyu bir örnek yard›- href='http://www.cozumevi.com'><font co-
dosyalar›, http://www.winnet- m›yla inceliyor olaca¤›z. Sistemimizi daha iyi an- lor='#0000FF'><u>Çözümevi</u></font></a> gibi fir-
mag.com.tr adresinden indire- lamak için, afla¤›daki flemaya bir göz atal›m. malar da bulunmaktad›r. Hakk›m›zda daha fazla bilgi
bilirsiniz. almak isterseniz, <a href='http://www.double-
key.org'>Kerem Köseo¤lu</a>'nun bizimle birlikte yap-
t›¤› projelere göz atabilirsiniz</font>

HTML bilgisi olanlar›n bu metne bak›p h›zla


birkaç ad›m ileriye gitme iste¤iyle doldu¤unu
tahmin ediyorum... Bekleyin... Az sonra...

ASP.NET Sayfas›
S›ra geldi veritaban›ndaki metinleri çekip Flash’e
iletecek olan ASP.NET sayfas›n› yazmaya... Önce,
bu sayfan›n çal›flma mant›¤›n› inceleyelim.
Gördü¤ünüz gibi; ASP.NET sayfam›z ilk ad›m-
Haz›rlayaca¤›m›z sistemin da Flash’ten bir ID de¤eri devral›yor. Bunu, Flash
Kerem Köseo¤lu fiekil 1: genel yap›s›... içerisinde veri kayna¤› olarak kaynak.aspx?id=1
keremk@winnetmag.com.tr
adresini göstererek sa¤layaca¤›z. ‹kinci ad›mda,
Windows &.NET Magazine’in
Örne¤imizde; amac›m›z, veritaban›nda bulu- id’si 1 olan metni veritaban›ndan çekiyor ve bir
katk›da bulunan yazarlar›ndand›r.
Çözümevi firmas›nda e-business nan “metinler” adl› tabloda bulunan uzun bir sonraki ad›mda &metin=.... fleklinde sayfaya yaz-
çözümleri yöneticisi olarak metni çekip formatl› bir flekilde Flash animasyo- d›r›yor olaca¤›z. Flash animasyonumuz bu sayfa-
çal›flmaktad›r. numuz içerisinde göstermek olacak. Veritaban› y› yükledi¤inde, “metin” de¤iflkeni içerisinde

30 Windows &.NET Magazine KASIM 2005 www.winnetmag.com.tr


flashhtml 11/7/05 6:30 PM Page 2

Flash ve Dinamik Web Sayfalar›

lblMetin.Text = "&metin=" +
dt.Rows[0]["metin"].ToString();
// Ba¤lant›y› kapatal›m
co.Close();

Bu flekilde, ASP.NET sayfam›z› tamam-


lam›fl oluyoruz. Haz›rlad›¤›m›z sayfay›
test etmek istersek, taray›c›m›z›n adres
k›sm›na http://localhost/flashtml/kay-
nak.aspx?id=1 yaz›p üretilen ç›kt›ya göz
atabiliriz. Ak›fl flemam›z› bir de Flash’in
fiekil 7: bak›fl aç›s›ndan çizelim
ASP.NET sayfam›z›n
fiekil 3: ak›fl mant›¤›
Ak›fl flemas›n› bir de Flash’in bak›fl
veritaban›ndan gelen içeri¤i sakl›yor aç›s›ndan görmek san›r›m herkesi biraz
olacak. daha rahatlatt›, öyle de¤il mi? fiimdi s›-
Ak›fl mant›¤›m›z› kabaca tasarlad›¤›- .aspx sayfam›z›n Flash’e ne rada ActionScript kodlar› var...
fiekil 4: gönderece¤ini önceden
m›za göre, art›k ASP.NET sayfam›z› ha- görebiliriz.
z›rlamaya bafllayabiliriz. Önce txtIcerik.setStyle("borderStyle", "none");
kaynak.aspx dosyas›na göz atal›m... Buradaki ç›kt› Flash’in görüntüleye- myQuest = new LoadVars();
ce¤i ç›kt› ile birebir ayn› olmasa da, afla- myAnswer = new LoadVars();
<HTML> ¤› yukar› neyle karfl› karfl›ya myQuest.id = "1";
<HEAD> oldu¤umuza dair bir fikir verecektir. myAnswer.onLoad = function(success) {
<title>kaynak</title> Bunun yan› s›ra, sayfam›z›n do¤ru çal›- if (!success) {
</HEAD> fl›p çal›flmad›¤›n› da elle bir kez test et- return;
<body MS_POSITIONING="GridLayout"> mifl oluyoruz. }
<form id="Form1" method="post" ru- S›rada, Flash animasyonunu haz›rla- txtIcerik.text = myAnswer.metin;
nat="server"> ma ifli var. };
<asp:Label ID="lblMetin" Runat="server" /> myQuest.sendAndLoad("kaynak.aspx",
</form> Flash Dosyas› myAnswer, "GET");
</body> Haz›rlayaca¤›m›z Flash dosyas› da,
</HTML> ASP.NET sayfam›z kadar basit olacak. Bu kod içerisinde; önce metin kutu-
Flash animasyonumuzda bulunmas› muzu formatl›yoruz. Ard›ndan, kay-
Sayfan›n üzerindeki kayda de¤er tek gereken en önemli ö¤e, bir TextArea nak.aspx sayfas›n› ça¤›racak olan
nesnenin lblMetin adl› Label oldu¤una nesnesidir. Bu nesneyi, Window / Com- myQuest nesnesini yarat›p, sayfay› ça¤›-
dikkat edin. Kaynak kod içerisinde ya- ponents menüsüne t›klay›p ilgili pence- r›rken “id=1” de¤erini göndermesini
paca¤›m›z fley, bu Label’›n içeri¤ini ve- reyi açt›ktan sonra sürükle - b›rak sa¤l›yoruz ki, kaynak.aspx içerisinde Re-
ritaban›ndan gelecek olan metinle yöntemiyle animasyonunuza dahil ede- quest.Querystring[“id”] komutu 1 de¤e-
doldurmak olacak. bilirsiniz. rini döndürsün. Ard›ndan sayfay›
Haydi doldural›m o halde! Zira s›ra- Bu nesneye txtIcerik ad›n› verelim. ça¤›r›yor ve sayfadan dönen cevapta
da, kaynak.aspx.cs dosyas› var... Bu ad› Properties / Instance Name bö- bulunan de¤iflkenleri myAnswer nesne-
lümüne yazmam›z gerekti¤ini herkes sine at›yoruz. Son olarak, myAnswer
// Nesnelerimizi tan›mlayal›m biliyor, öyle de¤il mi? Bunun yan› s›ra, içerisinde saklanan “metin” de¤iflkeni-
OleDbConnection co; txtIcerik nesnesinin Parameters pence- ne ait de¤eri metin kutusuna aktararak,
DataTable dt; resinde “html = true” de¤erini atama- Flash’teki iflimizi tamaml›yoruz.
OleDbDataAdapter da; m›z gerekiyor. Tecrübeli Flash programc›lar›, “Neden
// Ba¤lant›y› açal›m basit bir Text Tool kullanmak yerine Tex-
co = new OleDbConnection("Provider=Mic- tArea bileflenini kulland›n?” diye merak
rosoft.Jet.OLEDB.4.0;Data Source=" + Ser- ediyor olabilir. Bunun tek sebebi, TextAre-
ver.MapPath("kurum.mdb") + ";User a içerisindeki metin uzun geldi¤i takdirde
Id=;Password=;"); kayd›rma çubuklar›n›n otomatik olarak
co.Open(); görüntülenme özelli¤inden faydalanmak
Metin kutumuzun ad›n› ve
// Metinler tablosundan talep edilen met- fiekil 5: HTML deste¤ini Parameters istemem. Bu flekilde, animasyonu, konuy-
ni çekelim sekmesinde at›yoruz. la do¤rudan ilgisi olmayan bir y›¤›n grafik-
da = new OleDbDataAdapter("SELECT * ten ve koddan kurtarm›fl olduk.
FROM metinler WHERE id = " + Request.Qu- S›rada, ASP.NET sayfas› ile ba¤lant›
eryString["id"].ToString(), co); kurup ilgili metni animasyonun içine HTML Sayfas›
dt = new DataTable(); ça¤›racak olan ActionScript kodunu Son olarak, Flash animasyonunu bar›n-
da.Fill(dt); yazma ifli var. Önce koda ait ak›fl flema- d›racak olan index.html sayfas›n›n kod-
// Çekilen metni sayfaya yazd›ral›m s›na bir göz atal›m. lar›na göz atal›m.

www.winnetmag.com.tr Windows &.NET Magazine KASIM 2005 30


flashhtml 11/7/05 6:30 PM Page 3

Flash ve Dinamik Web Sayfalar›

<table width="100%" height="100%" bor- <b> : Kelimeyi kal›n harflerle yazmaya rem\tKöseo¤lu\t27<br>Azade\tÇerke-
der="0" ID="Table1"><tr><td align="center" yarar. zo¤lu\26</textformat>
valign="middle"> Örnek: <b>Windows .NET Magazi- <u> : Metnin alt›n› çizmeye yarar.
<object classid='clsid:d27cdb6e-ae6d-11cf- ne</b>, sektöründeki öncü dergilerden Örnek: alt›n› çiziyorum ki; <u>Ayd›n
96b8-444553540000' codebase='http://downlo- biridir. Esen</u>, gelmifl geçmifl en büyük mü-
ad.macromedia.com/pub/shockwave/cabs/flash <br> : Sat›r atlamaya yarar. zisyenlerden biridir.
/swflash.cab#3,0,0,0' width='550' height='400' Örnek: 1. sat›r <br> 2. sat›r <br> 3. sat›r
VIEWASTEXT ID="Object1"> <font> : Yaz› biçimini belirleyen Tag’dir. fiimdi bu bilgiler do¤rultusunda, ma-
<param name='src' value='kurum.swf'> • color: Yaz› rengi kalenin bafl›nda veritaban›na ekledi¤i-
<embed src='kurum.swf' pluginspa- • face: Yaz› fontu miz metne tekrar göz at›p, bunu
ge='http://www.macromedia.com/shockwa- • size: Yaz›n›n boyutu Flash’te üretilen ç›kt›yla karfl›laflt›r›n.
ve/download/' Örnek: <font color=’#ffcc00’ face=’Ta- Veritaban›ndaki metni yukar›daki
type='application/x-shockwave-flash' homa’ size=’11’>Ben mavi bir Tahoma tag’ler ile biraz daha süsleyip ç›kt›n›n
width='550' height='400'> metniyim</font>. nas›l de¤iflece¤ini inceleyerek, tag’leri
</embed></object> <img> : Metin içerisine bir resim veya daha iyi anlayabilirsiniz.
<br> bir baflka Flash animasyonu dahil etme- Tag’lerin daha ayr›nt›l› aç›klamalar›
<font face=tahoma size=1>Siteyi sorunsuz ye yarar. için, ek kaynaklarda belirtilen adreslere
görüntülemek için Flash Player 8'i <a • src: Resmin dosya ad› göz atman›z› tavsiye ederim.
href='http://www.macromedia.com/shock- • id: E¤er resim yerine Flash animas-
wave/download/download.cgi?P1_Prod_Ver- yonu dahil ediyorsan›z, animasyo- Sonuç
sion=ShockwaveFlash'>indirin</a>.</font> nun tan›mlay›c› ad›n› ifade eder. Bu flekilde, Flash içerisine dinamik bir
</td></tr></table> • width: Genifllik flekilde ithal etti¤iniz içeri¤in HTML
• height: Yükseklik benzeri komutlar yard›m›yla nas›l for-
Bu sayfan›n Flash animasyonunu ba- • align: Hizalama matlanabilece¤ini ö¤renmifl olduk. Bu
r›nd›rmak d›fl›nda pek fazla bir ifllevi ol- • hspace: Horizontal boflluk tekni¤in gerçek hayatta iflinize çok yara-
mad›¤›ndan, üzerinde çok fazla • vspace: Vertikal boflluk yaca¤›n› tahmin ediyorum. Karfl›laflaca-
durmuyorum. Örnek: <img src=’mini.jpg’ width=’10’ ¤›n›z bir projede Flash içinde formatl›
height=’10’ align=’right’> metin göstermek durumunda kal›rsa-
Ve Gösteri Zaman› <i> : Metni e¤ri göstermeye yarar. n›z, bu yöntemi rahatl›kla uygulayabilir-
Haz›rl›klar›m›z› tamamlad›¤›m›za göre, Örnek: <i>Ben e¤ri bir yaz›y›m.</i>. siniz. Tek yapman›z gereken fley; içerik
art›k taray›c›m›z› aç›p index.html sayfa- <li> : Maddeleme yapmaya yarar. yöneticilerini, veritaban›na ekleyecekle-
s›n› ça¤›rabilir ve Flash animasyonunu Örnek: <li>K›rm›z›</li> <li>Yeflil</li> ri metinleri Flash’in anlayabilece¤i
görüntüleyebiliriz. <li>Mavi</li> tag’lerle formatlanm›fl halde haz›rlama-
<p> : Yeni bir paragraf açmaya yarar. ya ikna etmek olacakt›r.
• align: Metnin hizas› Kendini bu konuda daha fazla gelifl-
• class: Biçimlendirmede kullan›lacak tirmek isteyenler, yola afla¤›daki nokta-
CSS s›n›f› lar›n üzerinde yo¤unlaflarak devam
Örnek: <p align=’left’>Gün güneflli, in- edebilir:
sanlar nefleli, sen de gel oyna...</p> • Text Tool’un dinamik kullan›m›
‹çeri¤imiz hem dinamik, hem <span> : CSS ile formatlanacak bir me- • Flash ve CSS deste¤i
fiekil 9: de formatl›!” tin parças›n› belirler. • <a> Tag’ine t›kland›¤›nda, Flash ani-
• class: Biçimlendirmede kullan›lacak masyonunun belli bir Frame’e atla-
Nas›l? Keyif verici, öyle de¤il mi? Az CSS s›n›f› mas›n› sa¤lamak
önce veritaban›nda saklanan bir metni Örnek: <span class=’ozel’>Ben özel bi- Bir baflka yaz›da görüflünceye dek,
Flash animasyonumuza çektik ve for- çimli bir metinim</span>. hoflça kal›n!
matland›¤› haliyle görüntüledik. Kendi- <textformat> : Metinleri hizalamaya ya-
mizi tebrik edebiliriz! rar. Do¤ru kullan›l›rsa, HTML’in <table> Ek Kaynaklar
‹nsan›n neredeyse “Flash art›k HTML Tag’inin temel ifllevlerini yerine getire- • http://www.doublekey.org/mind/
görüntüleyebiliyor!” diyesi geliyor... bilir. flash_icinde_asp_kullanmak.pdf -->
fiimdi gelin, Flash taraf›ndan destekle- • blockindent: Blo¤un ne kadar içeri- Bu doküman sayesinde, Flash içerisi-
nen Tag’lere k›saca bir göz atal›m. den bafllayaca¤› ne dinamik veri çekmenin temelleri-
• indent: Paragraf›n ilk sat›r›n›n ne ka- ni ö¤renebilirsiniz.
Desteklenen Tag’ler dar içeriden bafllayaca¤› • http://livedocs.macromedi-
<a> : Bir Web sayfas›na ba¤lant› yarat- • leading: Sat›rlar aras› boflluk a.com/flash/8/main/00001457.html
mak için kullan›lan Tag’dir. • leftmargin: Sol taraftaki boflluk --> Flash 8 ve HTML deste¤i konu-
• href: Ba¤lant› • rightmargin: Sa¤ taraftaki boflluk sunda resmi dokümantasyon
• target: Ba¤lant›n›n aç›laca¤› pencere • tabstops: Her bir TAB karakterinden • http://livedocs.macromedi-
Örnek: <a href=’http://www.double- sonra b›rak›lacak boflluk a.com/flash/8/main/00001444.html
key.org’ target=’_blank’>Kerem’in Web Örnek: <textformat tabstops=’[50, --> Flash ve CSS deste¤i konusunda
sitesi</a> 100,150]’>Ad›\tSoyad›\tYafl›<br>Ke- resmi dokümantasyon

30 Windows &.NET Magazine KASIM 2005 www.winnetmag.com.tr

You might also like