Ziyaretci Defteri YapaLım Flashta

LeaDerLyCa

New member
Katılım
25 May 2007
Mesajlar
7,890
Reaction score
0
Puanları
0
  • File-New(Ctrl+N) ile yeni bir flash dosyası oluşturun.
  • Insert-New Symbol'e(Ctrl+F8) tıklayın.
  • Çıkan pencerenin Name kısmına guestform yazın, Movie Clip'i seçin OK'e basın.
  • Ctrl+F7 (Window-Components)'e basın.
  • Ekrana 4 Label, 3 TextInput, 1 TextArea, 2 Button'ı Resim 1'deki gibi yerleştirin.
  • Label'ların değerlerini labellar seçili iken sahnenin alt tarafında bulunan (varsayılan) Parameters - Text kısmından değiştirebilirsiniz.
  • TextInputların Instance Name'lerini ad, soyad, eposta olarak oluşturun.

i_435_0.jpg


  • TextArea'ya mesaj ismini verin.
  • Butonlardan birine gonder diğerine temizle ismini verin.
  • İlk frame'i seçin F9(Window-Actions)'a basın.

i_435_2.jpg


  • Aşağıdaki kodları girin.

Kod:
function tikla(){
        kaydet=1;
        gonderad=_root.guestwindow.ad.text;
        gondersoyad=_root.guestwindow.soyad.text;
        gondereposta=_root.guestwindow.eposta.text;
        gondermesaj=_root.guestwindow.mesaj.text;
       
        var hatam:Hata = new Hata();
        if(hatam.epostaHatasi(gondereposta)==1) kaydet=0;
        if(hatam.boslukHatasi(gonderad,gondersoyad,gondermesaj)==1) kaydet=0;
        if (kaydet==1) {
                        _root.guestwindow.loadVariables("kaydet.php?ad="+gonderad+
                                                                                        "&soyad="+gondersoyad+
                                                                                        "&eposta="+gondereposta+
                                                                                        "&mesaj="+gondermesaj,"post");

        }
}
function temiz(){
        _root.guestwindow.ad.text="";
        _root.guestwindow.soyad.text="";
        _root.guestwindow.mesaj.text="";
        _root.guestwindow.eposta.text="";
}
_root.guestwindow.onData = function() {
    var basari:Hata = new Hata();
        basari.kayitDurumu(durum);
}

_root.guestwindow.temizle.addEventListener("click",temiz);
_root.guestwindow.gonder.addEventListener("click",tikla);

  • Scene 1'e tıklayıp ana sahneye dönün.
  • Ctrl+F8'e(New Symbol) basın.
  • Çıkan pencerenin Name kısmına show yazın, Movie Clip'i seçin OK'e basın.
  • Components penceresinden bir label ve bir TextArea ekleyin.(Resim 2)
  • Label'ı mesaj olarak isimlendirin ve TextArea'ya pano ismini verin.
  • Birinci Frame'e tıklayın ve aşağıdaki kodları girin.

Kod:
 _root.guestshow.onData=function(){
        _root.guestshow.pano.text=kayitlar;
}

  • Scene 1'e tıklayıp ana sahneye dönün ve Components'ten(Ctrl+F7) 2 tane buton ekleyin.
  • Button'ların instance name'lerini gonder ve ekle olarak belirleyin.
  • Button'ların label'larını Kayıtları Göster ve Yeni Kayıt Ekle olarak değiştirin.(Butonlardan herhangi biri seçili iken Parameters-Label)
  • Resim1 veya Resim2'deki gibi sağ tarafa yerleştirin.
  • Ana sahnede iken ilk frame'i seçin ve aşağıdaki kodları girin.

Kod:
_root.guestwindow._visible=false;
_root.guestshow._visible=false;

function kayitGoster(){
        _root.guestwindow._visible=false;
        _root.guestshow._visible=true;
        _root.guestshow.loadVariables("guest.php","post");
       
}

function kayitEkle(){
        _root.guestwindow._visible=true;
        _root.guestshow._visible=false;
}
_root.goster.addEventListener("click",kayitGoster);
_root.ekle.addEventListener("click",kayitEkle);
_root.loadVariables("guest.txt");

  • Şimdi Library(Ctrl+L)'den guestform ve show pencerelerini ana sahneye yerleştirin.
  • guestform penceresinin Instance Name'ine guestwindow yazın.
  • show penceresinin Instance Name'ine guestshow yazın.
  • File-Save-guest.fla olarak kaydedin
  • Publish etmek(yayınlamak) için (guest.html ve guest.swf oluşturmak için ) shift+F12'ye basabilirsiniz(sayfalar otomatik olarak kendinden oluşur) yada File-Publish ayarlarından da yapabilirsiniz.
  • Dikkat: Bir sonraki adım olan "Hata.as ın oluşturulması" nı guest.fla'yı oluşturmadan önce yaparsınız süreç içerisindeki muhtemelen oluşabilecek hatalardan uzak kalırsınız.


Hata.as'ın oluşturulması

  • "as" uzantılı dosyalar Flash içinde kullanılan Action Script dosyalarıdır. Burada oluşturduğum dosya aslında bir class'dır.
  • Yukarıda oluşturduğumuz dosyanın bir yerinde şu kodlar vardı; "var hatam:Hata = new Hata();"
  • Buradaki Hata bir class(sınıf)' dır.
  • Peki buna neden ihtiyaç duyduk? Profesyonel programcılıkta çok iyi bir hiyerarşik örgütlenme becerileriniz olmalı. Burada da buna örnek vermek istedim. Çünkü kodlar arttıkça sorunlar ve hatalar artar. Düzeltmeler bir hayli zaman alır. Program yavaş çalışır ve daha çoğaltabileceğimiz bir çok soruna davetiye çıkartırız. Bunları engellemek için ve yavaş yavaş daha üst düzey programlar yazmaya başladığımız için bu becerileri kazanmamız gerektiğini düşünüyorum.
  • Şimdi Flash programı içerisinden New -ActionScript File'ı seçin ve aşağıdaki kodları yapıştırın.

Kod:
 class Hata {
        var epostaHatasi=function(posta:String){
                if (posta.indexOf("@",0)=="-1") {
                        mx.controls.Alert.show("Yanlış bir eposta adresi girdiniz.Lütfen tekrar giriniz","E-Posta Hatası");
                        break;
                        return 1;
                }
        };
        var boslukHatasi=function(ad:String,soyad:String,mesaj:String){
                if ((ad=="") || (soyad=="") || (mesaj=="")) {
                        mx.controls.Alert.show("Boş alan bırakamazsınız.Lütfen alanları doldurunuz!","Boşluk Hatası");
                        break;
                        return 1;
                }
        };
        var kayitDurumu=function(durum:String){
                if (durum=="basarili") {
                        mx.controls.Alert.show("Kayıt başarılı","Kayıt");
                } else {
                        mx.controls.Alert.show("Kayıt başarısız","Kayıt");
                }
       
        };
}

  • Save-Hata.as olarak kaydedin ve burada Hata.as'ın "H" harfinin büyük olduğuna dikkat edin.

guest.txt'nin oluşturulması

  • Bir metin belgesi oluşturun.

i_435_4.jpg

  • Kodlamasını UTF-8 yapın böylelikle Türkçe karakterleride kullanabilirsiniz.
  • Diğer dosyaların bulunduğu klasöre guest.txt olarak kaydedin.

guest.php'nin oluşturulması

  • guest.php dosyası oluşturun ve aşağıdaki kodları girin.

Kod:
<?
$dosyaAdi="guest.txt";
$dosyaAc=fopen($dosyaAdi,"r");
while (!feof($dosyaAc)){
        $satir = fgets ( $dosyaAc, 10000 ) ;
        $satir=trim($satir);
        $metin.=$satir;
}

fclose($dosyaAc);
echo "&kayitlar=$metin";       

?>

Dosyayı aynı dizine kaydedin.

kaydet.php'nin oluşturulması

  • kaydet.php dosyası oluşturun ve aşağıdaki kodları girin.

Kod:
<?
$metin="<b>Adi:</b>$ad<br><b>Soyadi:</b>$soyad<br><b>E-Posta:</b><i><font color='#993333'>$eposta</font></i><br><b>Mesaj:</b>$mesaj<br><br>";
               
$dosyaAdi="guest.txt";
$dosyaAc=fopen($dosyaAdi,"a");

        if(fwrite($dosyaAc,$metin)){
                echo "&durum=basarili";
        } else {
                echo "&durum=basarisiz";
        }
fclose($dosyaAc);

?>


  • Dosyayı aynı dizine kaydedin.

Nasıl Çalışıyor

  • Çalışma ilkesini temel olarak aşağıdaki resimle ifade etmeye çalıştım.

i_435_5.jpg


  • Kodları yazarken açıklamalarda bulunmadım(yorum satırları gibi). Program yazmanın ara koşullardan birini ihmal etmiş oldum aslında. Bu benim için bir dezavantaj sizin içinse bir avantaj. Çünkü öğrenme kendine özgüdür, herşeyin hazır verilmesi anlamlı öğrenmeyi zorlaştırır ve öğreneni ezberlemeye iter. Açıklama yapmayı size bıraktım.Yorum satırlarını sizin yazabilmeniz sizin bu işi kavradığınızı gösterir.

EKRAN ÇIKTILARI

Resim 1: Kayıt Formu


i_435_3.jpg


Resim 2: Kayıtların Gösterimi

i_435_1.jpg


Kaynak​
 
Teşekkürler Kardeşim emegine sagLik :goz:
 
eline sağlık furkan sen flash a da el attın bize bişi bırakmazsınj :goz:
 
Ben bunu yaptım, hiç bir hatada almadan bitirdim ama çalışmıyor. mesela "Resim 1: Kayıt Formu" diye gösterdiğiniz bölümde çıkan şeylerden sadece Kayıtları göster ve Yeni Kayıt Ekle çıkıyor bende
ekrana başka bişey gelmiyor
 
ustam bunun .fla sını veremesmisin ?
acemiiyim de
 
Geri
Üst