JavaScript Nedir?

Yeni Başlık Gönder Cevap Gönder « Önceki başlıkSonraki başlık »
 Yazar  Mesaj
zencefil
DoĞMaYaN GüNeŞ..!
Program Takımı


Kayıt: 26.04.2006
Üye No: 57,544
Offline




Tarih: 26 Temmuz 2007, 10:12 Tek mesaj gösterimi1

JavaScript Nedir?
JavaScript Web sayfaları için yeni bir scripttir ve özelliği HTML sayfanızın içine yerleştirilebilmesidir. JavaScript ile ilginç elemanlar kullanarak HTML sayfanızı geliştirecek birçok olanağa sahip olacaksınız. Örneğin kullanıcının sayfanızı incelerken yaptığı hareketlere anında karşılık verebilirsiniz. Ayrıca bir zamanlar sadece CGI ile mümkün olan bazı olaylar JavaScript ile de yapılabilir. Yani JavaScript'in yardımıyla gerçekten de kaliteli Web sayfaları yaratabilirsiniz. Şu anda Internet üzerinde JavaScript ile ilgili birçok örnek bululunmaktadır. Gamelan'da (JavaScript kısmında) birçok adres mevcut. Netscape'de ise JavaScript ile ilgili en son ve en ayrıntılı dökümanları bulabilirsiniz ancak bu dökümanların dili biraz ağırdır.

Java ve JavaScript Arasındaki Farklar Nelerdir?

Her ne kadar adları birbirinin nerdeyse aynısı olsa da Java ile JavaScript aynı şeyler değildir. Java bir programlama dilidir, JavaScript ise bir scripttir(Adından anlaşıldığı gibi). Farkları ise; Java ile gerçek programlar yazarsınız ancak program yazmakla uğraşmadan güzel şeyler yaratmak istenildiğinden ve ağır çalıştığından dolayı Java çok yaygınlaşmamıştır. JavaScript, ayrı bir programlama dilinden çok HTML'nin bir uzantısıdır denebilir. Tabii ki bu 'resmi' bir tanımlama değil, ama Java ve JavaScript arasındaki farkı anlatmak için iyi bir tanımlamadır.

Hem Java, hem de JavaScript hakkındaki daha ayrıntılı açıklamayı http://www.gamelan.com adresinden alabilirsiniz.


--------------------------------------------------------------------------------
JavaScript'leri Çalıştırmak
JavaScript'i destekleyen ilk tarayıcı Netscape Navigator 2.0 idi. Tabii ki daha yeni versiyonlar da bu dili destekliyor. Her ne kadar değişik versiyonlarda bazı problemler olsa da JavaScript'i tüm Netscape ailesi destekleyecektir. Bununla beraber yakın gelecekte tüm tarayıcılar JavaScript'i destekleyeceklerdir. Örneğin yakında çıkacak olan Microsoft Internet Explorer 3.0 JavaScript desteğiyle piyasaya sürülecektir. Yani JavaScript gelecekte çok yaygın olacağından bu tekniği şimdiden öğrenmek faydalı olacaktır. Gördükçe anlayacaksınız ki JavaScript yazmak gerçekten de çok kolay. Size gereken sadece birkaç ana teknik ve çevrenizde aynı konuyla uğraşan, bilgi alışverişi yapabileceğiniz kişiler bulmaktan ibaret olacaktır.
Tabii ki JavaScript öğrenebilmeniz için öncelikle HTML hakkında bilgi sahibi olmanız gerekli. HTML hakkında Internet'te birçok kaynak mevcuttur. Yahoo'da 'html' konu başlığını ararsanız pek çok kaynak bulabilirsiniz.(Bu kaynaklar piyasadaki kitaplardan çok daha faydalıdır çünkü sürekli güncellenmektedirler. Internet'in büyüme hızına başka türlü yetişmeniz biraz zor.)


--------------------------------------------------------------------------------

JavaScript'lerin Sayfaya Yerleştirilmesi

Şimdi size bazı ufak scriptler göstermek istiyorum. Böylelikle bu yeni script dilinin HTML dökümanlarında nasıl kullanıldığını ve bu dille neler yapabileceğinizi görebilirsiniz. Ben, HTML dökümanına sadece normal bir yazı yazan çok küçük bir scriptle başlamak istiyorum.

<html>
<head>
İlk yazdığım JavaScript!
</head>
<body>
<br>
Bu normal bir HTML yazısıdır.
<br>
<script language="JavaScript">
document.write("İşte JavaScript!")
</script>
<br>
HTML'ye dönüş.
</body>
</html>
Eğer JavaScript'i destekleyen bir alıcı kullanıyorsanız bu scripti çalışırken görebilirsiniz. Eğer alıcınız JavaScript'i desteklemiyorsa bu çıktı biraz acaip görünebilir.

Bu normal bir HTML dökümanıdır.
İşte JavaScript!
HTML'ye dönüş.

Bu script'in pek de yararlı olduğunu söyleyemeyeceğim. Aynı şeyi HTML komutları ile çok daha hızlı ve kısa yazabilirsiniz. Bu örnekle size asıl göstermek istediğim <script> komutu idi. Bu komutu dökümanınızın herhangi bir yerinde kullanabilirsiniz.


--------------------------------------------------------------------------------

İlk Fonksiyon

Sizi gereksiz scriptlerle sıkmak istediğimden doğrudan fonksiyonlara geçmek istiyorum. Fonksiyonlar da anlaşılması zor bir şey değildir fakat inanın bana, çok daha faydalıdır. Fonksiyonlar kullanıcının yaptığı hareketlerle işlev kazanır ve <HEAD> komutları arasına yazılırsa daha iyi olur. Bu komut sayfada okunan ilk yer olduğundan fonksiyonları buraya yerleştirmek gayet mantıklıdır. Böylece kullanıcı fonksiyon çağıracak bir harekette bulunamadan önce fonksiyonlar tanımlanmış olur. Scriptler ise HTML dilinde sayfada görünmeyen, sadece sayfanın kayanağında(Document Source)görülen 'yorum' satırlarının içine yazılır. Böylece JavaScript'i desteklemeyen alıcılar scriptle ilgili kısımları yorum olarak düşünür ve hata mesajı ya da garip şekiller yaratmazlar.

<html>
<head>
<script language="JavaScript">
<!-- Eski alıcılardan scripti saklamak için
function dugmebas() {
alert("Selam!");
}
// Yorum komutunun kapanması -->
</script>
</head>
<body>
<form>
<input type="button" name="Button1" value="Buraya Tıklayın" onclick="dugmebas()">
</form>
</body>
</html>




Bu script bir düğme yaratacaktır ve bu düğmeye bastığınızda bir 'Selam!' yazan bir pencere oluşacaktır. Ne muhteşem değil mi? Peki bu scriptte neler oluyor? Öncelikle fonksiyon alıcı tarafından okunur ve bilgisayarın hafızasında tutulur. Daha sonra normal 'HTML' dilindeki <FORM> komutuyla düğme yaratılır. Ancak bu düğmede yeni birşey görmektesiniz: 'onClick' . Bu yazı alıcınıza tuşa basıldığında hangi fonksiyonu çağıracağını söyler(Tabii eğer alıcınız JavaScript'i destekliyorsa). 'dugmebas()' fonsiyonu <HEAD> komutları arasında tanımlanmıştı. Böylece düğmeye basınca fonksiyon gerçekleştirildi. Bu script'te yeni birşey daha var: 'alert'(Uyarı). Bu metod JavaScript'te zaten mevcut olduğundan size sadece onu çağırmak kalmıştır. Bunun gibi birçok metod Netscape'in sitesinde bulunmaktadır. Ben burada sadece birkaçını göstereceğim.


--------------------------------------------------------------------------------
Form elemanları
Biraz ilerleme kaydettik sayılır. Aslında şu anda sadece scriptlerimize fonksiyon ekleyerek yapabileceğimiz birçok işe yarar şey var. Şimdi size kullanıcının forma yazdığı şeyleri nasıl okuyacağınızı göstereceğim.


<html>
<head>
<script language="JavaScript">
<!-- Eski alıcılardan scripti saklayalım
function adoku(str) {
alert("Merhaba "+ str+"!");
}
// saklama işlemini sona erdirelim -->
</script>
</head>
<body>
Adınız:
<form>
<input type="text" name="name" onBlur="adoku(this.value)" value="">
</form>
</body>
</html>




Bu script'te de yeni bazı elemanlar kullandık. İlk başta bir yorum yerleştirdik ki eski alıcılar script'i okumaya çalışmasın. Bu satırlardaki boşluklar ve yazıların yerleştirildiği yerler önemlidir. Yanlış yazarsanız bu script'iniz JavaScript destekli alıcılarda hata mesajı yaratır. <input> komutları arasındaki 'onBlur' komutu bilgisayara forma bilgi girildiğinde hangi fonksiyonu çağıracağını söyler. Formu doldurup 'enter' tuşuna bastığınızda ya da fareyi dışarıda biryere tıkladığınızda 'adoku(str)' fonksiyonu çağrılır. Fonksiyon da 'adoku(this.value)' komutu ile forma girdiğiniz bilgiyi alır. 'this.value'(bu.değer) bu forma girdiğiniz değer anlamına gelir.



--------------------------------------------------------------------------------

Son Yenilenme Tarihi
Sanırım şimdi vereceğim özellik ilginizi çekecektir. Script'imize tarih fonksiyonu yerleştireceğiz. Böylece yarattığınız HTML sayfasının en son değiştirildiği tarihi otomatik olarak yazdırabilir ve herseferinde sayfanıza tarih atmak zorunda kalmazsınız. Basit bir script yazarsınız ve gelecekte sayfada değişiklik yaptığınızda tarih otomatik olarak değişecektir.

<html>
<body>
Basit Bir HTML - Sayfası.
<br>
Son Değişiklikler:
<script language="JavaScript">
<!-- Eski alıcılardan script'i saklayalım
document.write(document.lastModified)
// Yorum komutunun kapatılması -->
</script>
</body>
</html>


-------------------------------------------------------------------------------------------------------------------

onMouseover Özelliği

<a href="asdf.html" onMouseOver="window.status='Herhangi bir link...'; return true">
<a> komutuna onMouseover özelliğini eklediğinizde sayfayı gören kişi link'in üzerine geldiğinde ne tepki verileceğini kontrol edersiniz. 'window.status' komutu da alıcınızın statusbar'ına yazı yazabilmenizi sağlar. Ayrıca dikkatinizi çektiyse tırnak işaretlerini de değişik kullandık. Hep çift tırnak (") kullanamazsınız. Çünkü JavaScript'ten dolayı mı yoksa HTML komutundan dolayı mı tırnak kullanıldığını alıcınız algılayamaz. Ayrıca çift tınak işaretini kapamadan önce ;return true yazmanız da gereklidir.
İkinci örnek JavaScript'i 'alert' fonksiyonunu kullanır. İkincinin kaynağı ise şöyledir:

<html>
<head>
<script language="JavaScript">
<!-- Hiding
function selam() {
alert("Selam!");
}
// -->
</script>
</head>
<body>
<a href="" onMouseOver="selam()">link</a>
</body>
</html>



--------------------------------------------------------------------------------
Daha Fazla Tarih Fonksiyonu Şimdi size tarih ve zaman ile ilgili başka bir örnek vermek istiyorum. İlk bölümde lastModified özelliğini görmüştünüz. Bu özellik sayesinde sayfanızın en son ne zaman değiştirildiğini belirtebiliyordunuz. Şimdi sayfamıza yerel saati koyacağız. Bu metod sayfaya bağlanan makinanın saatini kullanır, bu yüzden eğer makinanın saati yanlışsa bu saat de doğal olarak yanlış saati gösterecektir.
İşte kaynak:

<script language="JavaScript">
<!-- Sakla
bugun = new Date()
document.write("Saat şu anda: ", bugun.getHours(), ":", bugun.getMinutes(), "<BR>");
document.write("Tarih ise: ", bugun.getDate(),"/", bugun.getMonth()+1,"/",bugun.getYear());
// -->
</script>
İlk başta bir tarih değişkeni yaratıyoruz. Bu; bugun = new Date() (Bugün = yeni tarih) ile gerçekleştiriliyor. Böylece alıcınız "bugun" değişkeninin tarihle ilgili olduğunu anlamış oluyor. Eğer özel bir zaman ve tarih tanımlamazsak alıcınız bugun değişkenine o anki zamanı otomatik olarak verir. Yukarıdaki örnekle fazla uğraşmadığımızdan bazı eksiklikleri yok değil. Mesela eğer saat 13:05 ise yukarıdaki script 13:5 olarak yazacaktır. Bunu önlemek için birkaç "if" satırı eklememiz gerekir.

Yerel zaman ve tarihi tutan bir değişken (bugun) yarattık. Şimdi bu değişkenin içerdiklerini rahatça ayırabiliriz. Bunun için get... şeklinde metodlarımız var (getMonth, getMinutes gibi). Her get.... metodundan önce bugun yazmanız bir zorunluluktur. Aksi takdirde alıcınız hangi değişkenin içeriğini ayıracağını bilemez.

getMonth() metodu 0 - 11 arasında sayılar oluşturur. "0" ocak ayını, "11" aralık ayını temsil eder. Bu yüzden doğru ayı bulabilmek için getMonth()'a "1" ekliyoruz. Diğer metodlar doğrudan istediğimiz sayıyı verir.

Yukarıdaki örneğin görüntüsü şu şekilde olacaktır:

Saat şu anda: 11:5
Tarih ise: 26/7/2007

Tarih yaratarak yapabileceğiniz daha da ilginç şeyler var tabii ki. Örneğin bir tarih tanımlayabilirsiniz. 2000'e girmeden önce birçok webmaster'ın yaptığı gibi 2000'e kalan gün sayısını hesaplayabilirsiniz. Bunun için yukarıda "bugun" değişkenini tanımladığınız gibi ek olarak 2000 yılını da tanımlamalısınız: ikibin = new Date(99,11,31)
Önce yıl, sonra ay(Ayın '0'dan başladığını unutmayın) en sonra da günü tanımlamak zorundasınız. Hatta saati de tanımlayabilirsiniz:
dokhazır= new Date(99,12,31,23,59,59)
İlk üç sayı yine yıl, ay, gün; daha sonra sırayla saat, dakika, saniye tanımlanır.

Şimdi, sayfanızda direkt olarak kullanabileceğiniz bir script örneği verelim. İlk dökümanda "document.lastModified" özelliğini kullanmıştık. Ancak "document.lastModified" direkt olarak kullanıldığında Amerikan formatında, yani "ay/gün/yıl saat" formatında bir yazı oluşturur. Ancak diyelim ki biz "22 Ekim 1977" gibi göstermek istiyoruz. Bu durumda henüz bahsetmediğim "if" cümlelerinden ve "array"lerden (dizilerden) yararlanacağız. Bu örneği büyük bir ihtimalle anlamayacaksınız ama bu konuda çok istek geldiğinden buraya yazıyorum:


<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
tarih = new Date(document.lastModified);
yil = tarih.getYear();
if (yil < 1000){
if (yil < 70){
yil = 2000 + yil;
}
else yil = 1900 + yil;
}

ay = tarih.getMonth()+1;
if (ay < 10){
ay ='0' + ay;
}

gun = tarih.getDate();
if (gun < 10){
gun ='0' + gun;
}

saat = tarih.getHours();
if (saat < 10){
saat='0' + saat;
}

dakika = tarih.getMinutes();
if (dakika < 10){
dakika='0' + dakika;
}

ayAdi = new Array(12)
ayAdi[0] = 'Ocak'
ayAdi[1] = 'Şubat'
ayAdi[2] = 'Mart'
ayAdi[3] = 'Nisan'
ayAdi[4] = 'Mayıs'
ayAdi[5] = 'Haziran'
ayAdi[6] = 'Temmuz'
ayAdi[7] = 'Ağustos'
ayAdi[8] = 'Eylül'
ayAdi[9] = 'Ekim'
ayAdi[10] = 'Kasım'
ayAdi[11] = 'Aralık'

document.write("Son güncellenme tarihi:" + gun +' ' + ayAdi[ay-1]+' '+ yil +
' - ' + saat +':'+ dakika);
// -->
</SCRIPT>




--------------------------------------------------------------------------------

Raslantısal Sayılar
Programlama dilleri ve scriptlerde raslantısal sayıların kullanımları genel bir sorundur. Şu anda JavaScript'te 'random' (Raslantı) fonksiyonu yok fakat inanıyorun ki yakın bir gelecekte o da yaratılacaktır. Şu anda ise bazı hilelerle raslantısal sayı kullanabilirsiniz. Aslında bu tam olarak bir hile sayılmaz. Bu gerçekten de birçok programcının kullandığı bir yoldur. Burada işin mantığı raslantısal sayıyı hesaplamak. Makinanızın tarih ve zamanını alıp onu çeşitli şekillerde kullanabilirsiniz. Zaman gayet büyük bir sayıdır ve bu sayıyla bazı hesaplar yapabilirsiniz. Örneğin sinüsünü alıp mutlak değeri ile işlem yapabilirsiniz. Elde edeceğiniz sayı 0 ile 1 arası bir sayıdır. Zaman da her milisaniye değiştiğinden iki tane aynı sayıyı alma riskiniz de olmaz böylece. Eğer kısa bir süre içinde birçok raslantısal sayı hesaplayacaksanız sin()'i tek başına kullanabilirsiniz. Ancak elde edeceğiniz sayı bir sinüs eğrisini takip edecektir. Bu pek de raslantısal sayılmaz, tabii eğer 20 saniyede bir raslantısal sayı elde edecekseniz o ayrı...
Bu bir raslantısal sayıdır: 0.39809510295766603

Bu örneğin kaynağı:

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function RandomNumber() {
bugun = new Date();
sayi = Math.abs(Math.sin(bugun.getTime()));
return sayi;
}
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
document.write("Bu bir raslantısal sayıdır:", RandomNumber());
// -->
</SCRIPT>
</BODY>
</HTML>
Pek tabii ki buradaki random (raslantı) fonksiyonu her durum için mükemmel değildir. Burada amaç olayın ana mantığını anlatmaktır. Şimdi size Maynard Demmon'dan aldığım bir fonksiyonu göstermek istiyorum. Yapmanız gereken limit yerine size gerekli olan sayıyı yazmak. (Gerçekten de aşağıdaki kodda "limit" yazan yeri silip 100 yazmanız gerekiyor. Copy-paste yapıp neden çalışmıyor diye şikayet etmeyin lütfen :^) )
Örneğin limit yerine 100 yazdığınız zaman 0 ile 99 arasında iyi bir raslantısal sayı elde edebileceksiniz. İşte kaynağı:
function random() {
bugün = new Date();
num = today.getTime();
num = Math.round(Math.abs(Math.sin (num)*1000000)) % limit;
return num;
}

--------------------------------------------------------------------------------




Bu seferlik töre ve geleneklere bağlı kalmayarak bu pencereye Hello world! yazmadım :^) İşte kaynak:

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function PencereAc() {
msg=open("","msj","toolbar=no,directories=no,menubar=no");
msg.document.write("<HEAD><TITLE>Hey!</TITLE></HEAD>");
msg.document.write("<CENTER><h1><B>Çok hoş değil mi?</B></h1></CENTER><br>");
}
</SCRIPT>
</HEAD>
<BODY>
<FORM>
<INPUT TYPE="button" NAME="Button1" VALUE="Buraya Tıklayın" onCLick="PencereAc()">
</FORM>
</BODY>
</HTML>
Bir fonksiyon tanımladık ve her zamanki gibi fonksiyonu çağıran bir düğme yarattık. 'PencereAc' fonksiyonu 'open' (Aç) metodu ile yeni bir pencere açar. İlk tırnaklar pencereye yazılacak sayfanın URL'sini belirtir. Buraya herhangibir adres yazabilirsiniz. Bu durumda açılan yeni pencerede yazdığınız adres ya da dosya çıkacaktır. Eğer herhangi bir sayfa yüklemeyecekseniz JavaScript ile de pencereye yazabilirsiniz. İkinci tırnaklar pencere adını tanımlar. Herhangi bir isim verebilirsiniz fakat tek kelime olmak zorundadır. Bu isim çerçeve (frame) 'lerdeki isimlerle aynı mantıktadırlar. Bu pencere ile yapacağınız tüm işlemler için bu ismi kullanırsınız. Yani hangi pencereyle uğraştığınızı belirtebilmek için bi ad vermelisiniz (ben "msj" verdim, siz "huseyin" verebilirsiniz). Üçüncü tırnaklar pencerenin özelliklerini içerir. Bu gerçekten de ilginçtir. Eğer örneğin 'toolbar' istiyorsanız toolbar=yes yazmanız yeterli olacaktır. Aşağıda bu özellikler ve tanımları yer almaktadır. Bunları yukarıdaki örnekte olduğu gibi kullanmalısınız.
toolbar - Back, Forward, Home vs. düğmelerinin bulunduğu kısım
location - Adresi yazdığınız kısım
directories - Netscape'deki What's New, What's Cool vs. düğmelerinin bulunduğu kısım
status - En alttaki küçük pencere(Statusbar)
menubar - Netscape'deki location'ın altındaki kısım
scrollbars - Sağda ve alttaki sayfayı yukarı aşağı hareket ettiren kısımlar
resizable - Pencerenin büyüklüğünün değiştirilebilirliği
copyhistory - Ana sayfanın hafızada tuttuğu adresler yeni pencereye aktarılsın mı?
width=pixels - Genişlik(Piksel)
height=pixels - Yükseklik(Piksel)

Pencerenizi açıp onu msj olarak adlandırdıktan sonra pencerenize yazmaya başlayabilirsiniz. Artık normal HTML komutlarıyla istediğinizi yazabilirsiniz. Ayrıca kullanıcının, hazırladığınız forma girdiklerini yeni pencerenize de yazdırabilirsiniz. Bunun gibi birçok şey yapılabilir.

Lütfen dikkat: Yeni açtığınız pencereye birşey yazarken en son satırın sonuna mutlaka <BR> komutu koyun. Aksi takdirde Netscape'in bazı sürümlerinde yazılar görünmeyebiliyor.
Başka bir dip not: Eğer yeni açtığınız pencereye resim koyacaksanız height ve width özelliklerini de <img> komutunun içine yerleştiriniz. Bunun eksikliği yüzünden sayfada resimden kaynaklandığını tahmin edemeyeceğiniz hatalar ortaya çıkabiliyor.

-------------------------------------------------------------------------------------------------------------------




_________________


öLDüĞüN GüN YaNıNDa SaDeCe BeN oLaCaĞıM...!
SeVGiNi DeĞiL RuHuNu aLaCaĞıM...!
 Kullanıcı bilgilerini göster Özel mesaj gönder Alıntıyla Cevap Gönder Başa dön 
Git
ProgrammeR
Program Takımı


Kayıt: 27.02.2006
Üye No: 50,622
Offline




Tarih: 26 Temmuz 2007, 11:23 Tek mesaj gösterimi2

Biraz daha kodları ayrı, tanımlamaları, açıklamaları ayrı seçilir ve anlaşılır yapsaydınız daha güzel olurdu sanırım... Yine de teşekkürler..




_________________
 Kullanıcı bilgilerini göster Özel mesaj gönder Alıntıyla Cevap Gönder Başa dön 
SoL-LeKs
Write any code?
Program Takımı


Kayıt: 16.06.2007
Üye No: 82,456
Şehir: ankara
Offline




Tarih: 26 Temmuz 2007, 11:37 Tek mesaj gösterimi3

Kodları ben bile anlamakta zorluk çekiyorum Gülücük
içine al bence de..




_________________
"Hayal gücü bilgiden daha önemlidir"
 Kullanıcı bilgilerini göster Özel mesaj gönder Kullanıcının web sitesini ziyaret et YIM MSNM Alıntıyla Cevap Gönder Başa dön 
zencefil
DoĞMaYaN GüNeŞ..!
Program Takımı


Kayıt: 26.04.2006
Üye No: 57,544
Offline




Tarih: 26 Temmuz 2007, 12:42 Tek mesaj gösterimi4

sanırım haklısınız Gülücük bende anlamakta zorluk çektim şimdi Çok Mutlu




_________________


öLDüĞüN GüN YaNıNDa SaDeCe BeN oLaCaĞıM...!
SeVGiNi DeĞiL RuHuNu aLaCaĞıM...!
 Kullanıcı bilgilerini göster Özel mesaj gönder Alıntıyla Cevap Gönder Başa dön 
Mesajları göster:   
Yeni Başlık Gönder Cevap Gönder 1. sayfa (Toplam 1 sayfa) [Bu başlıkta 4 mesaj bulunuyor] « Önceki başlıkSonraki başlık »


Bu forumda yeni konular açamazsınız
Bu forumdaki mesajlara cevap veremezsiniz
Bu forumdaki mesajlarınızı değiştiremezsiniz
Bu forumdaki mesajlarınızı silemezsiniz
Bu forumdaki anketlerde oy kullanamazsınız
Bu foruma eklenti dosyaları gönderemezsiniz
Bu forumdaki dosyaları indiremezsiniz