Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > Diğer Yazılımlar > WEB Tasarım&Programlama > JavaScript
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 23-02-2008, 14:03   #11
kapıkule
 
Giriş: 23/02/2008
Şehir: Edirne
Mesaj: 39
Excel Vers. ve Dili:
webmaster
Varsayılan

Pencere Oluşturmak


Pencere yaratmak JavaScript'in harika bir özelliğidir. Kendiniz istediğiniz özellikte pencereler yaratabilir ve bu pencereye HTML dökümanı yazdırabilirsiniz. Şimdi nasıl yeni bir pencere açabileceğinizi ve ona nasıl birşeyler yazabileceğinizi görelim. Eğer aşağıdaki düğmeye basarsanız birazdan açıklayacaklarımın örneğini görebilirsiniz.




Bu seferlik töre ve geleneklere bağlı kalmayarak bu pencereye Hello world! yazmadım :^) İşte kaynak:
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
<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.
kapıkule Çevrimdışı   Alıntı Yaparak Cevapla
Eski 23-02-2008, 14:05   #12
kapıkule
 
Giriş: 23/02/2008
Şehir: Edirne
Mesaj: 39
Excel Vers. ve Dili:
webmaster
Varsayılan

Çerçevelerle işlemler(Frames)




Birçok kişi bana JavaScript ve Frame (Çerçeve)'lerin beraber nasıl çalıştıklarını sordu. İkisini beraber kullanabilmek için öncelikle iki olayı da destekleyen bir alıcı kullanmalısınız.

Başlamadan önce size frameler hakkında biraz bilgi vermek istiyorum. Frame kullanarak sayfanızı herbiri ayrı bir HTML dökümanı gösterecek birkaç parçaya ayırabilirsiniz. Bu parçalar birbirinden ayrı kaynaklara (HTML dosyalarına) sahiptirler. Ancak bu ayrı sayfalar arasında bağlantı vardır. Örneğin iki frame yaratırsınız. Birinde konuları bulundurursunuz, konuya tıklandığında seçilen konu ikinci frame'de gösterilir. Böylece indeks daima göz önünde kalır. Öncelikle size bunun nasıl birşey olacağını göstermek istiyorum. Sadece aşağıdaki tuşa basın ve frame'lerin neye benzediğini görün (Tabii önceden hiç görmediyseniz...).




İşte dökümanın kaynağı:
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
<HTML> 
<HEAD> <title>Frame'ler</title> </HEAD> 
<FRAMESET ROWS="50%,50%"> 
<FRAME SRC="dd-frtest1.html" name="fr1"> 
<FRAME SRC="dd-frtest2.html" name="fr2"> 
</FRAMESET> </HTML>
Yukarıdaki dd-frtest1.html ve dd-frtest2.html dosyalarında sırasıyla "Birinci Sayfa" ve "İkinci Sayfa" yazıyor.

Öncelikle alıcıya kaç tane frame istediğinizi yazıyorsunuz. Eğer <FRAMESET> içinde rows kullanırsanız sayfa verilen yüzdelerde satırlara ayrılır. Eğer rows yerine cols kullanırsanız verilen yüzdelerde iki sütun elde etmiş olursunuz.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
<FRAMESET COLS="50%,50%"> 
<FRAMESET ROWS="50%,50%"> 
<FRAME SRC="dd-cell.html"> 
<FRAME SRC="dd-cell.html"> </FRAMESET> 
<FRAMESET ROWS="33%,33%,33%"> 
<FRAME SRC="dd-cell.html"> 
<FRAME SRC="dd-cell.html"> <FRAME 
SRC="dd-cell.html"> </FRAMESET> </FRAMESET>
Bu script iki sütun yaratacaktır ve ikinci sütun 3 eşit satıra bölünecektir. <FRAMESET> komutundaki 50%,50% yazısı yarattığınız hücrelerin büyüklüğünü belirtir.

Frame'lerinize NAME ile ad verebilirsiniz. Bu adlar JavaScript'te de işe yarayacaktır. Böylece bir işlem yapmak istediğinizde istediğiniz frame'i seçebilirsiniz. Yukarıdaki örnekte frame'lerin nasıl ad aldıklarını gördünüz.


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

Sanırım frame'lerin ana hatlarını anlamak pek de zor değil. Şimdi gelelim javascript içeren yeni bir örneğe:




Bu örnekte ilk frame'deki düğmelere basarak ikinci frame'de yazı yazıldığını görebilirsiniz.
İşte kaynağı:

Önce bize gerekli olan çerçeveleri yaratalım. (dd-frames.html):

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
<HTML> 
<HEAD> <title>Frames</title> </HEAD> 
<FRAMESET ROWS="50%,50%"> 
<FRAME SRC="dd-frame1.html" name="fr1" noresize> 
<FRAME SRC="dd-frame2.html" name="fr2"> 
</FRAMESET> </HTML>
dd-frame1.html'de şunlar yazmaktadır:
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
<HTML> <BODY> Bu bizim ilk frame'imiz! 
</BODY> </HTML>
dd-frame2.html ise:
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
<HTML> 
<HEAD> <script language="JavaScript"> 
<!-- Hiding function selam() { 
parent.fr1.document.write("Selam!<br>"); } 
function hey() { parent.fr1.document.write 
("Hey!<br>"); } function hebele() 
{ parent.fr1.document.write 
("Hebele Hubele<br>"); } // 
--> </script> </HEAD><body> Bu bizim ikinci frame'imiz! <p> 
<FORM NAME="buttonbar"> 
<INPUT TYPE="button" VALUE="Selam" 
onClick="selam()"> <INPUT 
TYPE="button" VALUE="Hey" onClick="hey()"> 
<INPUT TYPE="button" VALUE="Hebele" 
onCLick="hebele()"> </FORM> </BODY> </HTML>
Vay! Bu script'ler gittikçe uzun olmaya başladı Peki, burada neler oldu? Öncelikle ilk dosya yükleniyor(dd-frames.html). Bu dosya bize gereken çerçeveleri yaratıyor ve bu çerçevelerin içine dosyaları yüklüyor. Birinci çerçevemize (Adı 'fr1' olan) dd-frame1.html'yi; ikinci çerçevemize de ('fr2') dd-frame2.html'yi yüklüyor. Normal HTML'nin işi burada bitiyor. İkinci çerçevedeki buton'lar önceden tanımlanmış olan fonksiyonları çağırıyor. Bu fonksiyonlar üstteki frame'de istenilen yazıyı yazıyor. Eğer "document.write("Selam!<br>");" şeklinde yazılsaydı dd-frame2.html'in içeriği değişecekti. Dökümanın başında anlattığımız düğme yaratma ve onClick özelliğini artık biliyorsunuz. Ancak parent.fr1... de ne demek?

Eğer daha önce 'obje'leri gördüyseniz bu size yeni olmayacaktır. Yukarıda gördüğünüz gibi dd-frame1.html ve dd-frame2.html dd-frame.html tarafından çağırılmıştır. Bu yüzden dd-frame.html'ye baba (parent), dd-frame1.html ve dd-frame2.html'ye de çocuk (child) diyoruz. Bu hiyerarşi içinde değişik frame'ler arasında bağlantı kurulabilir. Bu fikri size Ascii sanatını kullanarak bir grafik ile anlatmanın daha iyi anlamanız açısından faydalı olacağına inanıyorum...):


dd-frames.html parent (Baba) / \
/ \ / \ fr1(dd-frame1.html) fr2(dd-frame2.html) children
(Çocuk)
Bu içeriği daha da genişletmek de mümkündür tabii ki. 'torun' da yaratabilirsiniz. (Bu resmi bir ad değildir!).


dd-frames.html
parent (Baba) / \ / \ / \ fr1(dd-frame1.html)
fr2(dd-frame2.html) children (Çocuk) /
\ / \ / \ gchild1 gchild2 'grandchildren' (Torun)
Eğer baba, yani parent frame'de herhangibir şeyi dd-frame2.html'den alıp işleme sokacaksanız bu durumda fonksiyonu çağırırken 'parent' ifadesini kullanmak zorundasınız. Alacağınız 'herhangibir şey'in adresi de 'parent' ifadesinden hemen sonra koyacağınız 'fr1' ifadesiyle alıcınıza anlatılır. (Bu ifadeleri birbirinden ayırmak için nokta (.) kullanılır.) Peki neden 'fr1' de başka birşey değil ? Aslında fr1'in hiçbir özelliği yok. Bu sadece frame'e (çerçeveye) verilen addır. Bu adı ben rasgele seçtim. Bu ad eğer hatırlarsanız dd-frame.html'de tanımlanmıştı. Bundan sonrası da zaten çok kolay. Peki dd-frame1.html'den dd-frame2.html'deki fonksiyonu doğrudan nasıl çağırabiliriz? Muhteşem grafiğimde de gördüğünüz gibi dd-frame1.html ile dd-frame2.html arasında doğrudan hiçbir bağ yoktur. Yani mutlaka parent (Baba) frame üzerinden dolaşmanız gerekli. Bu yüzden yazdırmak istediğimiz yazıyı yazdırırken 'parent.fr1' demek zorunda kalıyorsunuz.



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

Bir frame yarattığınız zaman yeni link'e bağlanırsanız frame yok olmaz. Eğer kullanıcı sayfanızda kalırsa problem yok. Mesela bir konu kısmı yarattınız. Seçilen konu yandaki boş frame'de görülüyor. Ancak eğer bu konulardan biri ya da fazlası başka bir internet adresindeyse konu kısmı istenmeyebilir. Bu durumda frame'i nasıl kaldıracaksınız?

Yapmanız gereken <a href...> komutunuza bir TARGET="_top" ifadesi eklemektir. Bu durumda izlenen bu link frame'siz bir sayfada oluşacaktır.

Tabii ki konu kısmındaki tüm link'ler dışarı bağlanıyor olabilir. Bu durumda sayfanızdaki <HEAD> komutları arasına bir <BASE TARGET="_top"> komutu ekleyebilirsiniz. Bu tüm link'lerin frame'siz bir sayfada görüneceğini belirtir.
kapıkule Çevrimdışı   Alıntı Yaparak Cevapla
Eski 23-02-2008, 14:06   #13
kapıkule
 
Giriş: 23/02/2008
Şehir: Edirne
Mesaj: 39
Excel Vers. ve Dili:
webmaster
Varsayılan

Statusbar(Tarayıcınızın en altındaki kısım)



Şimdi size statusbar'a (Alıcınızın en altındaki URL'leri gösteren küçük pencere) nasıl yazı yazıldığını ve tabii ki kayan yazı yapmayı göstereceğim.
Öncelikle statusbar nasıl kullanılır? Aşağıdaki script ile statusbar'a basit bir yazı yazabilirsiniz:




Şirin değil mi? İşte script:
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
<html> <HEAD> <SCRIPT Language="JavaScript"> 
<!-- Hide function statbar(txt) 
{ window.status = txt; } // --> </SCRIPT> 
</HEAD> <BODY> <FORM> 
<INPUT TYPE="BUTTON" NAME="Look" VALUE="Yaz!" 
onClick="statbar 
('Selam! Statusbar işte burası!');"> 
<INPUT TYPE="BUTTON" NAME="Erase" 
VALUE="Sil!" onClick="statbar('');"> 
</FORM> </BODY> </HTML>
İkisi de statbar(txt) fonksiyonunu çağıran iki düğme yarattık. Parantez içindeki 'txt' fonksiyonun değişkenidir. Fonksiyon çağırıldığında bu değişkene değeri atanır. ('txt' benim rasgele seçtiğim bir ad, siz adını huseyin koyabilirsiniz) <FORM> komutuna baktığınızda ise statbar(txt) fonksiyonunun çağrıldığını görebilirsiniz. Ancak fonksiyonu çağırırken parantezlerin arasına txt yazmıyoruz. Buraya statusbar'da görmek istediğimiz yazıyı yazıyoruz. Buradan gördüğünüz gibi 'txt' değişkeni çağırılır ve bu değişkene 'Selam! statusbar işte burası!' yazısını atar. Bundan sonra fonksiyon içerisinde değişken olarak kullanılan tüm "txt"ler yerinde bizim atadığımız yazı çıkar. Bu şekilde değişkene değer atamak fonksiyonları daha esnek kullanmanızı sağlar. Şimdi ikinci düğmeye bakalım. Yine aynı fonksiyon kullanılmış. Bu sefer 'txt' değişkenine 'boşluk' atandığından statusbar'da hiçbir şey yazmaz, yani yazıyı siler.
kapıkule Çevrimdışı   Alıntı Yaparak Cevapla
Eski 23-02-2008, 14:07   #14
kapıkule
 
Giriş: 23/02/2008
Şehir: Edirne
Mesaj: 39
Excel Vers. ve Dili:
webmaster
Varsayılan

SetTimeout fonksiyonu


Dökümanımızın 2. bölümünde onMouseOver özelliğini zaten görmüştünüz:
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
<A HREF="asdf.html" onMouseOver="window.status='Herhangi bir link işte...'; return true">
Farenizi link'in üzerinden ayırdığınızda statusbar'daki yazının silinmemesi sizi de rahatsız etmiyor mu? Ben kendime göre bir çözüm buldum. Yukarıdaki kısımdaki silme işlemini de buraya uydurdum. Peki bu 'silme' fonksiyonunu nasıl çağıracağız?

Bir de bunu. deneyin. Sadece farenizi üstüne getirin ve statusbar'a bakarak bekleyin. Lütfen tıklamayın!

İşte kaynağı:

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
<HTML> <HEAD> <SCRIPT Language="JavaScript"> 
<!-- Sakla function moveover(txt) 
{ window.status = txt; setTimeout("sil()",1000); 
} function sil() { window.status=""; } // --> 
</SCRIPT> </HEAD> <BODY> 
<A HREF="dontclck.html" onMouseOver="moveover 
('Yok oluyor!');return true;">link</A> 
</BODY> </HTML>
moveover(txt) fonksiyonu birkaç ekleme dışında statbar(txt) fonksiyonunun aynısı. sil() fonksiyonu da yazılacak yazı dışında statbar() fonksiyonunun aynısı. HTML sayfamızda önce link'ler yarattık. Bu link'leri artık hiç de yabancı olmadığınız onMouseover özelliğiyle donattık ve moveover(txt) fonksiyonuna 'Yok Oluyor!' yazısını gönderdik. setTimeout(....) fonksiyonu ise daha önce görmediğiniz bir özellik. Bu fonksiyon sizin belirlediğiniz zaman süresince bekler ve daha sonra belitilen işlemi yapar. Örneğimizde yapılacak iş olarak sil() fonksiyonu, 1000 milisaniye (1 sn.) beklendikten sonra çağırılmıştır. setTimeout() bir hazır fonksiyondur (yani JavaScript'te zaten var olan) ve işini bitirdikten sonra yeniden başlamaz. Eğer bir döngü yaratmak isterseniz bu işi sil() fonksiyonunun içinden yapabilirsiniz. Bu bilgi bize çok sevilen "kayan yazı" hakkında kılavuzluk yapmaktadır.

10 Mayıs 2000 ~ Ek not: Yukarıda anlatılan yöntem JavaScript'in eski versiyonu için geçerlidir. JavaScript'in en son sürümlerinde onMouseout şeklinde bir yöntem bulunmaktadır. Bu yöntem de aynı onMouseover gibi çalışır ve farenizin link'in üzerinden ayrılmasını kasteder. Bu durumda sizin de tahmin edebileceğiniz aşağıdaki kod daha verimli bir uygulama olacaktır:

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
 <HTML> <HEAD> <SCRIPT Language="JavaScript"> 
<!-- Sakla function yazi(txt) 
{ window.status = txt; } // --> </SCRIPT> 
</HEAD> <BODY> <A HREF="dontclck.html" 
onMouseover="yazi('Ne kadar güzel');return 
true;" onMouseout="yazi(''); return true;"> 
Link</A> </BODY> </HTML>
Görüldüğü gibi bu kodlama ile üstte verilen setTimeout ve benzerlerine gerek kalmamaktadır. Ancak setTimeout fonksiyonunun anlaşılabilmesi için güncelleme sırasında o kısmı kaldırmadım.
kapıkule Çevrimdışı   Alıntı Yaparak Cevapla
Eski 23-02-2008, 14:09   #15
kapıkule
 
Giriş: 23/02/2008
Şehir: Edirne
Mesaj: 39
Excel Vers. ve Dili:
webmaster
Varsayılan

Kayan Yazı Programlama



Şu anda statusbar'a yazmayı ve setTimeout fonksiyonunu kullanmayı bildiğinize göre kayan yazıyı rahatça anlayabilirsiniz. Aşağıdaki tuşa basın ve benim kayan yazımı görün.
Şimdi script'e bir göz atalım


Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
<html> <head> <script 
language="JavaScript"> <!-- Hide var scrtxt= 
"İşte mesajımız gidiyor. Ziyaretçileriniz 
hayretle donup kalacak..."; 
var lentxt=scrtxt.length; // 
scrtxt'ye yazılan yazının 
uzunluğunun tespiti var width=100; // 
Yazının kayacağı toplam genişlik ne olsun 
var pos=1-width; // ileride yazının 
pozisyonunu belirleyecek olan // pos değişkeninin 
ilk değeri function scroll() 
{ pos++; var scroller=""; if (pos==lentxt) 
{ pos=1-width; 
} if (pos<0) { for (var i=1; 
i<=Math.abs(pos); i++) 
{ scroller=scroller+" ";} 
scroller=scroller+scrtxt.substring(0,width-i+1); } 
else 
{ scroller=scroller+scrtxt.substring 
(pos,width+pos); 
} window.status = scroller; 
setTimeout("scroll()",150); // 
Yazınızın hızını 150 
sayısını değiştirerek // ayarlayabilirsiniz } 
 //--> </script> </head> <body 
onLoad="scroll();return true;"> 
Burada da ilginç sayfanız olacak... </body> 
</html>
Bu script de şu ana kadar kullandığımız fonksiyonlardan çok da farklı birşey kullanmıyor. Önce yazımızı başlangıç noktasına getiriyoruz.
(pos=1-width=-99)
Daha sonraki kısımlar sayesinde yazı bir karakter kayar ve setTimeout(...) fonksiyonu zaman dolduğunda scroll() fonksiyonunu tekrar çağırır. Script de bir sonraki adıma geçer. Başlangıçta bir sürü matematiksel hesap göreceksiniz. Bunlar sadece yazının başlaması gereken ilk pozisyonu ayarlamak için yapılmıştır. Eğer pos=lentxt olursa, yani yazı sona ulaşırsa tekrar başlangıç değerine dönüş yapılır.

Aslında her ne kadar popüler ve ilginç olursa olsun bu script bir süre sonra popülerliğini kaybedecektir. İlk gördüğünüzde bu script gerçekten de ilgi çekecektir fakat her gittiğiniz iki sayfadan birinde bu script'i görmek artık sıkıcı bir hal alacaktır. Ayrıca tecrübeli kullanıcılar genel olarak üzerine geldikleri link'in nereye gittiğini statusbar'dan takip ederler ve bu tür scriptler tecrübeli kullanıcıları biraz da olsa rahatsız edecektir.

Buna benzer Intenet'te birçok uygulama yapılmıştır. Örneğin frame'lerde bu kayan yazının kullanıldığını gördüm. Ya da bir form'daki text alanında bu ve buna benzer kayan yazılar kullanıldığını gördüm. Ama mantığı anladıktan sonra bu tür yazıları programlama aslında çok da zor olmamalı...
kapıkule Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 08:07


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım - Tarot Falı - invest in turkey - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Led Aydınlatma- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Boru Profil- Gebze Emlak- Beylikdüzü Temizlik- İstanbul Burun Estetiği- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi- youngblood- Çorlu Palet- Çerkezköy Palet- Çorlu Prefabrik- Çorlu Sürücü Kursu- Çorlu Sandviç Panel- Şişli Avukat- Korona Test Kalemi- Çorlu Vinç- Çorlu Pimapen Tamiri-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden