Bigisayar Dersleri - Bilgisayar derhanesi

mrb arkadaşlar blogumda bilgisayar derleri vermeye başladım.. bi sorunuz falan olursa yorum olarak yazabilirsiniz. elimden geldiğince yardım etmeye çalışırım... herkese ii günler..

Çerçeveler

Çerçeveler

Frames (Çerçeveler)

Javascriptte frameler pencerelerle eşit işlem görür. Sanırım bir pencerenin içeriğinin nasıl değiştiğini hatırlarsınız. Hepsi frameler içinde geçerlidir. Basit anlatımla, her frame ayrı bir pencere olmalıdır. Erişim şekli haricinde başka hiç bir fark yoktur.

Frameler arası komünikasyon

Buda aynı HTMLde olduğu gibi çalışır. Prensip aynıdır. HTML ile, başka bir frame'e bağlanmak için target="frameadı" kullanırsınız, javascript ile parent.framename.location.href = 'http://www.herhangibir.com'. Gördünüz mü? nekadar kolay. Eğer, benimsayfam adlı frame a link verecek bir javascript isterseniz, şöyle yazacaksınız:

Herhangibir.com

Anlaşıldı mı? Şimdi gerçekten frameler arası komünikasyona başlayalım. Bir frameden öbürüne bir kaç kelime yazalım. Tetikleyen de bir link olsun. Framesetin kodu şöyle:




Şimdi, target.htm yi yapınız fakat içi boş olsun, hatta etiketleri bile olmasın.

Gelelim top.htm ye. Herhangi bir linki tetikleyici olarak kullanıyorum. şöyle:

Acaba çalışacak mı?!

Yukardaki satır uygulanmaya başladığı zaman, Javascript target adındaki frame'e ulaşır. Daha önceden dediğimiz gibi frame bir pencere gibi düşünüldüğü için, document özelliklerine sahiptir. Nerede document var ise orada writeln() metodu vardır ve oda frame'in içeriğinin üzerine yazar ve "Heeeeyyy!!!" çıkar.

Pencere Açma

Pencere Açma

Prompts & Opening Windows (soru sorma ve pencere açma)

Ziyaretçilere soru sorma

Değişkenleri öğrendiğimiz zamanı hatırlıyormusunuz? Değişkenler bilgileri saklamada kullanılıyordu. Örnek ve alıştırmalarda değişkenlerin 'statik' tariflerini gördünüz, yani browser değişkenin değerini Javascripti çöalıştırmadan bildiği durumlar. Halbuki prompt() metodu ile browsere ziyaretçiye soru sormasını ve cevapları değişken olarak saklamasını söyleyebiliriz. Bunun hepsi karmaşık görünsede esasında tek satırda iş biter.

var durum = prompt("Kendinizi nasıl hissediyorsunuz?","iyi yada hasta");

Nasıl cevap verdiğiniz önemli değil, çünkü değişkenle ilgili bir şey yapmadım henüz. durum değişkeni şu anda Javascript tarafından ulaşılabilir durumda değil. Eğer sayfa yüklenmeden sizi cevaplamaya mecbur bıraksaydım ulaşılabilir olurdu. Şimdi sayfa yüklendi ve artık değişkenler yerleştiremezsiniz. Eğer değişkene şimdi ulaşmaya çalışsaydım "object undefined" hatası alırdık. (Evet, değişkenler de nesnedir.)

Şimdi kısaca parantezlerin içindekilerin ne yaptığını anlatacağım. Önceki dersten hatırlarsınız, parantez içinde metodların parametreleri vardır. Parametreler metodların ne yapmaları gerektiğini etraflıca anlatırlar. prompt() metodunun 2 tane parametreye ihtiyacı vardır. Birincisi soru, ikincisi varsayılan cevaptır. Her iki parametrede " " ile sınırlanıp virgülle ayrılır. Aman dikkat " ve , arasında boşluk olmamalıdır.

Şimdiye kadar çok iyi gidiyoruz,Soruların nasıl sorulacağını öğrendik. Şimdi ise, bir script ile ziyaretçiye soru sorup, ziyaretçinin cevabına göre Alert-box içinde selam verelim. Bu şekilde cevapları işleyip geçerli kılmasını öğreniriz.

Kolay değil mi? if-then-else sanırım tanıdık gelmiştir, değil mi? Böyle oynamak eğlenceli oluyor mu?

Şimdi bir sonraki bölüme geçelim:

Javascriptle pencere açma

HTML ile pencere açmak rutin bir iştir, ama bir takım sınırlamaları vardır. HTML ile pencerelerin neye benzediğini kontrol imkanınız yoktur. Hangi özellikler olmalı (scroll bar, status bar, üst menu v.s.) veya pencerenin ölçüleri gibi. Fakat Javascript ile open() metodunu kullanarak bunların hepsini uygulayabilirsiniz. Aynen şöyle:

window.open("URL","isim","özellikler");

Yukardaki kod ile yeni bir pencere açıp, ilk parametre olarak yer belirtirsiniz. Bu örnekte "URL", fakat gerçekte "http://www.testleronline.com" diye bir şey yazmanız lazım.

Metodun ikinci parametresi ise pencerenin adıdır. Bu sizin aynı pencereye değişik sayfalar yüklemenizi sağlar. Örneğin, Javascript kullanarak content.htm dosyasını yükleyen "content" adında yeni bir pencere açalım. Daha sonra ise content2.htm dosyasını aynı pencereye yüklemeye çalışalım. Böylece aynı ismi kullanarak yeni bir pencere açmadan, mevcut "content" adındaki pencerenin içeriğini değiştirmiş olursunuz. Bir örnek verelim:

"javascript" adında bir pencere açalım
"javascript"'in içine giren yeni bir HTML sayfası açalım

Anladınız mı? Her iki örneğin kodu aşağıdadır:

"javascript" adında bir pencere açalım

"javascript"'in içine giren yeni bir HTML sayfası açalım

İlk linki tıklayınca javascript adındaki pencere açılır examples/page1.htm sayfası içine konulur.

İkinci link ise ilk linkin açtığı pencereye yeni bir HTML sayfası yerleştirir. Şimdiye kadar iyi gidiyor. Şimdi birazda features parametresini irdeleyelim!.

Features parametresi açılan pencerenin hangi özellikleri taşımasını istiyorsanız onları dahil eder. Eğer features (özellikler) parametresinde herhangi bir özellik dahil ederseniz, yazılı olmayanları uygulamaz, sadece belirttiğiniz parametreleri olan bir pencere açar. Örneğin:

window.open("URL","name","status,scrollbars,resizable")

böyle yazarsanız, status bar, scrollbar (kaydırma çubukları) ve ölçüleri ayarlanabilir bir pencere elde edersiniz. Dikkat ederseniz, stringde hiç boşluk bırakılmamıştır. Boşluk bırakırsanız, bir takım browserlarda hata mesajı alırsınız. Şimdi ise sadece yükseklik ve genişliği belirten tarif eden bir örnek göreceksiniz:

window.open("URL","name","height=250,width=640")

Unutmayın boşluk bırakmak yok! Ayrıca HTML'den alışkın olduğunuz " " işaretleri de yok!. Bu biraz karışık olabilir, ama bir kere anladınız mı tamamdır.

Aşağıda kullanabileceğiniz Feature (Özellik) listesi:

height

Pencerenin yüksekliği (pixel olarak)

width

Pencerenin genişliği (pixel olarak)

status

Sayfanın altındaki mesaj çubuğu

menubar

Sayfanın üstünde Dosya, Düzen Sık Kullanılanlar gibi şeylerin olduğu kısım

scrollbars

Eğer gerekiyorsa kaydırma çubukları görünsün

toolbar

Üstünde Geri, İleri, Anasayfa, gibi buttonların olduğu gezinme çubuğu

location

Şu anda bulunduğunuz sayfanın URLsini gösteren kutu

directories

Bu sadece Netscape için geçerli. "Yenilikler" butonu gibi butonlar...

resizable

Ziyaretçilerin pencere ölçülerini değiştirmesine izin veriyorsanız yazın

Bunlardan sadece birini yazarsanız, öbürlerini istemediğiniz anlamına gelir. Eğer hiç bir şey yazmazsanız standart bir pencere açılır. Hangi özellikleri istiyorsanız onları yazınca pencere istediğiniz özelliklerde (feature) açılır

Teori: DOM

Teori: DOM

Teori: DOM

document.writeln() ne demektir? Siz ne işe yaradığını ve ne zaman kullanmanız gerektiğini biliyorsunuz, ama neden document.writeln() diye adlandırılmıştır? Halbuki print_into_source() gibi daha çok anlam ifade eden bir deyim de olabilirdi.

Bu ve bir çok sorunun cevabı DOM'da (Document Object Model) gizlidir. DOM Javascriptin sayfaları tanımlama ve tarif etme şeklidir. Daha sonra bu konuyu açacağız.

DOM hakkında konuşmaya başlamadan önce, object-orientated (nesne-yönlendirilmeli) programlamayı tartışmalıyız. Biliyorum, bu biraz teknik elemanların anlayacağı şeyler gibi duruyor ama öyle değil. Object-orientated programlamanın en azından Javascript tarafını çözmek için fazla teknik olmaya gerek yok. Object-orientated programlamanın ardındaki esas fikir, bilginin nesnel terimler halinde saklanmasıdır. Örneğin, window bir object'dir (nesne).

Daha da açacak olursak: Object'ler objectlerin nasıl davranacaklarını tarif eden özelliklere sahiptirler. Bu özellikler, objectlerden bir "." (nokta) ile ayrılmıştır. Ne demek istediğimi anladınız değil mi? Bir örnek:

window.status = "Hey, orada neler oluyor?!";

Bu browser penceresinin status-bar'ına (pencerenin altındaki gri satır) Hey, orada neler oluyor?! diye yazacaktır. Gördüğünüz gibi "window" burada object oluyor, "status" ise özelliği. Metnin string'i ( Hey, orada neler oluyor?! ) ise özelliği tarif ediyor.

Özelliklere ilave olarak nesnelerin bir de metodları vardır. Bu metodlar da neyin nesi, bunları öğrenmemiz şart mı? diyebilirsiniz. Metodlara örnek,

alert(), writeIn() veya open(). Özellikler (properties) gibi metodlar da objectlerden bir "." (nokta) ile ayrılırlar.

document.writeln('I know JavaScript!')

Property (özellik) ve metodlar arasındaki esas fark, metodlar her zaman 2 tane parantez tarafından takip edilirler. Parantezlerin içine ise parametreleri koyarsınız. Örneğin alert() parantezlerinin içine alert-boxda çıkmasını istediğiniz yazıları koyarsınız. writeln() metodu parantezi içine yazılan string ise HTMLye yazdırılır.

Devam etmeden önce son bir şey: window herzaman varsayılan object'dir. Örneğin window.status yazmayla sadece status yazmak arasında bir fark yoktur. Gerçek programcılar genelde yalnız status yazarlar, ama biz ilerde kaybolmamak için uzun haliyle yazsak daha iyi olur sanırım.

Özetlersek: Şimdiye kadar object'lerin görünümlerini tarif eden properties (özellikleri) olduğunu öğrendik. Ayrıca biliyoruz ki metodlar bir şeyin nasıl yapılacağını tarif ederler. Sonra window'un varsayılan object olduğunu öğrendik, istersek window'u kodumuza dahil etmeyebiliriz.

Kısa özet için bu kadar yeter. Şimdi başka bir ilginç yanına bakalım:

Objectlerin özellikleri de object olabilir!.. Bir önceki derste resimlerin dönüşümünü hatırlıyormusunuz? "image1"in kaynağını window.document.image1.src = 'whatever.gif' şeklinde göstermiştik. Dikkat ederseniz, document gerçekte bir property (özellik) olamaz, çünkü özellikler kendilerini tarif eden bir şey tarafından takip edilmelidir. Aynısı image1 içinde geçerlidir. Sanırım artık tahmin etmişsinizdir yukardaki örnekte src'un property (özellik) olduğunu. Gördüğünüz gibi document ve image1 her ikiside nesne içinde nesnedirler. Anladınız sanırım (kısa içeriğin uzun tarifi).

Umarım yukardaki resmin nedemek istediğini anladınız, yeterince İngilizce gördüğümüz için etiketleri Türkçeleştirmedim. Çok profesyonel bir reesim değil ama, resimde DOM'u bir ağaç şeklinde görüyorsunuz, window nesnesi ise ağacın kökünde oluyor.

- İyi ama sen bize window nesnesine gerek yok demiştin
- Evet ama bu window nesnesinin DOM'da olmadığı anlamına gelmez.
- Peki kullanmak zorunda değilsem neden DOM'un içerisinde?
- Çok basit, şöyle düşün: Aşağıdaki resim güzel durur mu? Onun için window'u keşfettiler.:-)

"window nesnesi köktür". Oradan, ilk özellikler, metodlar ve nesneler grubuna tırmanırız. Daha yukarı tırmanmak bizi bir başka özellikler, metodlar ve nesneler grubuna götürür. Bunun hepsi önceden tasarlanmıştır. Aniden writeln() komutunu yazamazsınız, önceden nesnesini ve yerini belirtmelisiniz.

Olaylar

Olaylar



Events

Bugünün dersi Events yani olaylar hakkında. Eğer sitenizin epeyi bir interaktiv olmasını istiyorsanız kesinlikle Event'lere ihtiyacınız var. Events yani olayları Javascriptin bir kısımlarını tetikleyenler olarak görünüz. Eğer birisi faresini linklerin üzerinde gezdirirse, "onMouseOver" özelliği ateşlenmiş olur. Eğer linki tıklarsa, bu sefer önce "onMouseDown", sonra ise "onMouseUp" ve "onClick" ateşlenmiş olur. Derslerin en başındaki Javascript örneğini hatırlarsanız (Alert-box) orada "onMouseOver" yani "farenin üzerinden gezmesi" eventi karşılığında o fonksiyon ateşlenmiş oldu. "onMouse" diye başlayan event'ler bol biçimde değişik menü yapımında kullanılabilir. Düğmelerin renkleri, yada resimlerin değişmesi gibi efektler.

Ve işte ilk örnek:
Move your mouse here!

Move your mouse here!

Gördünüz mü? Bir kere fare üzerine geldiğinde ("onMouseOver") 'yey()' fonksiyonu çağrılıyor. "yey()" fonksiyonu ile daha önceden sayfanın üst kısmında Alert-Box açılması şeklinde tarif edilmişti. Event (olay) tetiklenince hemen Alert-boxda açılmış oldu. Çok yaygın bir örnekte, resim değişiklikleridir. Bugün çok basit bir tanesini göreceğiz. Aşağıdaki 2 resmi ve "onMouseOver" ile "onMouseOut" efektleri ile aşağıdaki 2 resimde uygulayacağız:

İlk satırla başlayalım:



Resimin bir ismi olması çok önemlidir.

Şimdi "onMouseOver" ile kodu genişletelim.



Olayı bir diyalog gibi hayal edini:

- Git ismi "image1" olan resmi bul.
- Tamam efendim,
- Şimdi "image1"in "src"sini "image2.gif" ile değiştir,
- Oda tamam efendim, görev bitmiştir.
- Aferin, güzel iş!
- Teşekkür ederim!.

Sanırım anladınız. Şimdiye kadar ki ile sonuç:

Şimdi diyeceksiniz ki, resmi nasıl eski haline getirebiliriz. Azıcık nefes alın yahu, nefesinizi tutmuş buraya bakıyorsunuz. Gidin iki tane kahve kapında gelin bakalım.

Kahvenizi aldıysanız devam edelim, şimdi artık ikinci event olan "onMouseOut" kullanma zamanı geldi. (yani fare resmi terkedince orijinal haline dönme işlemi). Şimdi yukardaki koda gerekli ilaveyi yapalım:



Sanırım deminki diyalog gibi bir senaryo yazmamıza gerek yok, siz manzarayı çakmışsınızdır artık. Olan bir önceki efektin tam tersidir.

Event (olaylar) dersi için bukadar yeter sanırım. Bu gün bir resmin kaynağının nasıl değiştirildiğini öğrendiniz. Dersin özetini çıkarmadan önemli noktaları belirtmek istiyorum.



*

Nesnelere kesinlikle aynı isimi vermeyin. Aynı isimli 2 resmin javascriptin çalışmasına bir zararı olmaz (hata mesajı vermez) sadece bir tanesini belirtmemiş olursunuz. Eğer moseover effekti isterseniz, bu sefer ikisi birden değişir :-))
*

Yukardaki örnekte 'image1.gif' etrafında tek tırnak, geri kalan heryerde "" vardı. Eğer "" içinde tekrar tırnak gerekirse, içerde ' kullanmanız gerekir. Şöyle: " ' Örnek ' " veya ' " Örnek " ' olabilir.ama kesinlikle " ' Örnek " ' veya " " Örnek " " olmamalı. Tamammı?

If-Then-Else

If-Then-Else



If-Then-Else

Temel prensiplerini anladıktan sonra, artık değişkenleri de kullanarak bir şeyler üretmenin zamanı geldi denebilir. Bu ders If-Then-Else ifadeleri hakkında olacaktır. "If-Then-Else" kullanarak programınızı ziyaretçinin girdiği verilere göre farklı reaksiyon gösterir hale getirebilirsiniz. "If-Then-Else"in esas formatı şöyle olur:

if (eğer şartlar doğruysa)

{

bu satırı uygula;
bu satırı da uygula;
birde bu satırı uygula;

} else {

bu satırı uygula

}

Yukardaki örnekle ilgili önemli bir nokta:



*

if-the-else cümlesini başlatmak için "if" ile başlamalısınız. If küçük harfle yazılmalıdır. Dilerseniz "IF" yazın bakın browser hemen $&%#|!* demeye başlar.
*

Parantezlerin içinde bir koşul ( şart ) bulunmalıdır. Artık "kızkardeşim beni seviyor" veya "internet bağlantım çok yavaş" demiyoruz. Bunların yerine kizkardes == "seviyor" veya internet_hizi == "yavas" (burada "kizkardes" ve "internet_hizi" değişkenler oluyor. "seviyor" ve "yavas" ise değğşkenlere atanmış değerler oluyor.)

Şimdi biraz daha detay ile devam edelim. Bunu hemen bütün javascriptlerde kullanmak zorundasınız. Ben kullanılmayan bir tane olduğunu sanmıyorum.


var feedback = prompt("Şimdiye kadar bu derslerden memnunmusunuz?", "evet veya hayir");

if (feedback == "evet") {

alert("teşekkür ederim!");

} else {

alert ("kimse sizi okumaya zorlamıyor, artık okumayın lütfen!");

}


Sanırım ilk satırı geçen dersten hatırlarsınız, ziyaretçiye bir soru soruyorsunuz ve cevabıda değişken olarak saklıyorsunuz.

Bu scriptin ikinci satırı epeyi ilginç. Gördüğünüz gibi Javascripti sorgulamaktayız. Sorumda diyorum ki "aldığın değer 'evet'e eşitmidir?" Dikkat edilecek bir kaç nokta var burada: Bakın, cevapta " " işareti yok ama evet de var. Unutmayın stringleri yazdırırken, string'te " " işareti olmalı, ama değişkenlerde gerek yok. İkincisi 2 tane == işaretinin kullanımına dikkat. 1 tane = herhangi bir şeyi tanımlamak için kullanılır. Fakat bir şeyi sorguluyorsanız yana yana 2 tane = işareti kullanmanız lazım. Eğer yukardaki örnekte 1 tane = işareti kullanırsanız, ya hata verecektir, veya değerleri birbirinin üzerine yazacaktır. Aşağıda şartların listesi de verilmiştir:



x == y


Eğer x eşittir y

x != y


Eğer x eşit değil y

x < y


Eğer x küçük y

x > y


Eğer x büyük y

x <= y


Eğer x küçük eşit y

x >= y


Eğer x büyük eşit y

Değişkenler

Değişkenler



Değişkenler (Variables)

Buraya kadar her bir Javascriptin nasıl olması gerektiğini öğrendiniz, nasıl yorumlar koyabileceğinizi de öğrendiniz. Şimdilerde hiç bir işe yaramayan "alert box" örneğini de gördünüz. Çok fazla bir şey değil, ama meraklanmayın. Bundan sonra artık az laf çok iş. Direk dersimize dalıyoruz. Şimdi derin bir nefes alın, hatta gidin kendinize bir fincan çay, kahve yapın, mevsim meyvaları bile olabilir. Uyanık ve ayık kalmaya gayret edin.

Bugün Javascriptin bilgiyi nasıl sakladığını ve ondan nasıl " kod " yarattığını öğreneceğiz. Merak etmeyin, bu bir bilim değil, sadece sabır işi. Yalnız bu derste okuduklarınızın hepsini anlamanız gerekiyor. Burada görecekleriniz daha sonraki derslerde ve ilerde kendi programlarınızı yazarken lazım olacak şeyler.

Değişkenler

Matematikte kullanıldığı gibi, değişkenler sayıları ve "string"leri saklarlar. ( "string" terimi size şimdilik sıkıntı vermesin, daha sonra anlatacağız.) Şöyle düşünebilirsiniz: Bir karenin alanını hesaplamak istiyorsunuz. Genişliği "a", uzunluğu "b" olarak tarif ediyorsunuz. Şimdi, eğer a=50 ve b=25 olursa, alanı 1250 cm2 olur. Size basit bir örnek:



Yukarıda gördüğünüz bir sürü değişik kod var, ne olduğunu ise az sonra adım adım öğreneceğiz.

Bu yey() fonksiyonunu tarif eden kod idi. Fonksiyonların ne olduğunu daha ilerde öğreneceğiz. Şu anda ilk ve son 2 satıra konsantre olunuz. Orta kısımda ise sadece alert-box çağıran ve içinde ne olması gerektiğini söyleyen kod var. Aşağıda ayıklanmış halini bulacaksınız:

Bütün scriptler bu şekilde başlamalı, biraz daha irdeleyelim:

IRC-CHAT Dersleri

IRC-CHAT Dersleri

Smiley Listesi

:-)

Mutlu / gülüyor

%*}

Sarhos

:-(

Üzgün

8-)

Gözlüklü

(:-(

Çok mutsuz

8:-)

Gözlük basinin üstünde

:-<

Çok çok üzgün

:-#)

Pala biyik

;-)

Göz kirpiyor

:<)

Büyük burunlu

:-/

Kararsiz

:-(*)

Midesi bozuk

:-I

Hmmm

:-=)

Biyikli bir ihtiyar

(-:

Solak

@:I

Türbanli

:-P

Dil çikarmis

C=:-)

Asçibasi

:-o

Çok sasirmis

3:o[

Koç gibi

:~)

Burun çekiyor / nezle

.-)

Tek göz

:-!

Sigara içiyor

*-(

Tek gözüne çomak sokulmus

:-?

Pipo içiyor

(:-I

Yumurta kafa

:-X

Papyonlu

(:)-)

Dalgic

:-a

Dilini burnuna degdiriyor

[:-)

Walkman dinliyor

:-9

Dudaklarini yaliyor

{:-)

Saçini ortadan ayirmis

#:-)

Saç bas birbirine girmis

:----)

Yalanci

%-)

36 saatir bilgisayar basinda

~ ~:-(

Sinirden duman çikariyor

':-)

Kasinin birini tras etmis

:-))))

Kahkaha atiyor

vB-Hacker.com daki seo yarışması

Genel Komutlar, Send, SOP

3) LIST :

Kullanim bicimi :

/msg memoserv LIST

4) READ :

Kullanim bicimi :

/msg memoserv READ 4

5) DEL :

Kullanim bicimi :

/msg memoserv DEL <>

/msg memoserv DEL all

6) UNDEL :

Kullanim bicimi :

/msg memoserv UNDEL

7) PURGE :

Kullanim bicimi :

/msg memoserv PURGE

8) FORWARD :

Kullanim bicimi :

/msg memoserv FORWARD <şifre>

Memoriserv Giriş, Genel Komutlar, Send, SOP

1) GİRİŞ :

MemoServ kısaca lakabı (Nickname) kayıtlı kullanıcılara ve sisteme kayıtlı sohbet odalarına ( Channel ) notlar bırakabilmenizi sağlayan sistemdir.

/msg memoserv {komut ismi}
biçiminde yazarak kullanılır (Sohbet etmek icin kullandıgınız her pencerenin yazı satırına yazabilirsiniz).

1) GENEL KOMUTLAR :

SEND : Lakabı kayıtlı kanal veya kullanıcıya not göndermek ichin.
SENDSOP :Bir kanalın kurucusuna ve tüm soplara yönelik not(lar) bırakmak ichin.
LIST : Posta kutunuzda bulunan tüm mesajları ve gönderenlerin lakabını görmek ichin
READ : Size bırakılmış notları okumanız ichin.
DEL : Posta kutunuzdaki notlardan istediklerinizi silmenizi sağlayan komuttur
UNDEL : Memoserv aracılığıyla size bırakılan mesajlardan DEL ALL veya PURGE komutlarını kullanmadan sadece DEL komutu ile silerek geri dönüşüm kutusuna atmış olduklarınızı , UNDEL komutu ile geri alabilirsinizi.
PURGE : Posta kutunuzdaki tüm notların silinmesini sağlayan komuttur FORWARD : MemoServ'den gelen notları kayıtlı başka lakaba yönlendirebilmenizi sağlar.

1) SEND :

Kullanim bicimi :
/msg nickserv register {sifreniz}

/msg memoserv send #kanal_adi bu ay sonu oda uyeleri buluşması yapılacaktır

2) SENDSOP :

Kullanim bicimi :

/msg memoserv sendsop #kanal_adi bana bi acc ayarlarmısınız yaww :)

Akick, DROP, Info, List, Invite, OP, DEOP

Akick, DROP, Info, List, Invite, OP, DEOP

Komut: /msg chanserv AKICK #kanal ADD MASK
/msg chanserv AKICK #kanal DEL MASK|Entery-num
/msg chanserv AKICK #kanal LIST

AKICK ile bir kisinin o kanala girmesi durumunda kicklenip banlenmesini saglarsiniz. Anlayabileceginiz gibi ADD ile AKICK listesine birisini ekler; DEL ile siler, LIST ile de akick listesinde kimlerin var oldugunu gorebilirsiniz.

5) DROP :

Komut: /msg chanserv info #kanal

Bu komut ile kanalin kurucu; kurulum tarihi gibi bilgiler size sunulacaktir.

7) LIST :

Komut: /msg chanserv list #kanal Tanim

Bu komut ile tanim olarak verdiginiz deger katagorilerine uyan tum register edilmish kanallar size sunulacaktir.

8) INVITE :

Komut: /msg chanserv invite #kanal

Bu komut sizin +i (invite only) olan kanaliniza davet edilmenizi saglayacaktir.

9) OP :

Komut: /msg chanserv OP #kanal Nick

Bu komut ile Nick olarak vereceginiz kisiye chanserv tarafindan o kanalda OP verilmesini saglayacaksiniz.

10) DEOP :

Komut: /msg chanserv DEOP #kanal nick

Bu komut ile nick olarak verdiginiz kisinin #kanal'daki opunun chanserv tarafindan alinmasini saglayacak; yani kisiyi deop'latmish olacaksiniz.

2.11) SECURE :

Komut: /msg chanserv SET #kanal SECURE {ON|OFF}

SECURE ON; durumunda sadece nickname'lerini register etmish vede identify etmish kisiler op olabilir.

3) ACCESS :

Komut: ACCESS #kanal ADD mask level
ACCESS #kanal DEL {mask | entry-num}
ACCESS #kanal LIST [mask]

Aciklamalar:
MASK:
Kisilerin IP, nickname vede e-maillerini iceren durum.
Ornegin benim nickim HakOmaN, e-mailim MASTER, ip'im ise 195.243.23.2 olsun. Bu durumda su sekilde benim mask'lerim olacaktir:

HakOmaN!MASTER@195.243.23.2
HakOmaN!*@*
*!MASTER@*
*!*@195.243.23.2
HakOmaN!*@195.243.23.3 vs vs

Anlayacaginiz gibi genel olarak bir mask: Nickname!e-mail@IP seklindedir. vede buradaki Nickname, e-mail vede IP yerine * kullanilarak degisiklik ifade edilebilmektedir.

Onemli olan bir nokta mask'de IP kullanirken kisilerin genelde IPlerinin her internet seansinda degistigini hatirlayip access verirken su maski kullanmanin daha akillica olacagini bilmektir: Nickname!*@*

entery-num:
Access listesinde kisilerin listedeki siralaridir. LIST'ini aldiginiz zaman access listesinin, bunu daha detaylica gorebileceksiniz.

!!!DIKKAT!!! Bir nickin access listesinde yerinin olabilmesi icin o nick register edilmish olmalidir.

ACCESS LEVELLERI:

Founder : En yetkili kisi. Tum access seviyelerinden daha ustun. Odaya girince otomatik olarak OP'lanir.

10 ve yukarisi: Otomatik oplanir. Akick'e yetkisi vardir.

5: Otomatik olarak oplanir. Akick yetkisi yoktur.

0:Etkisiz leveldir. Otomatik olarak herkes sifir' leveldadir.

-1 ve assagisi: OPlanamaz.

Access listesinde, herkes, levelindan assagi olmak kaidesi ile bir ucuncu sahisa level tanimlayabilir. Ornegin leveli 10 olan bir kisi, 9 ve assagisi bir level olmak uzere herkese level verebilir.

Secure, Access, Access, Levelleri

2.11) SECURE :

Komut: /msg chanserv SET #kanal SECURE {ON|OFF}

SECURE ON; durumunda sadece nickname'lerini register etmish vede identify etmish kisiler op olabilir.

3) ACCESS :

Komut: ACCESS #kanal ADD mask level
ACCESS #kanal DEL {mask | entry-num}
ACCESS #kanal LIST [mask]

Aciklamalar:
MASK:
Kisilerin IP, nickname vede e-maillerini iceren durum.
Ornegin benim nickim HakOmaN, e-mailim MASTER, ip'im ise 195.243.23.2 olsun. Bu durumda su sekilde benim mask'lerim olacaktir:

HakOmaN!MASTER@195.243.23.2
HakOmaN!*@*
*!MASTER@*
*!*@195.243.23.2
HakOmaN!*@195.243.23.3 vs vs

Anlayacaginiz gibi genel olarak bir mask: Nickname!e-mail@IP seklindedir. vede buradaki Nickname, e-mail vede IP yerine * kullanilarak degisiklik ifade edilebilmektedir.

Onemli olan bir nokta mask'de IP kullanirken kisilerin genelde IPlerinin her internet seansinda degistigini hatirlayip access verirken su maski kullanmanin daha akillica olacagini bilmektir: Nickname!*@*

entery-num:
Access listesinde kisilerin listedeki siralaridir. LIST'ini aldiginiz zaman access listesinin, bunu daha detaylica gorebileceksiniz.

!!!DIKKAT!!! Bir nickin access listesinde yerinin olabilmesi icin o nick register edilmish olmalidir.

ACCESS LEVELLERI:

Founder : En yetkili kisi. Tum access seviyelerinden daha ustun. Odaya girince otomatik olarak OP'lanir.

10 ve yukarisi: Otomatik oplanir. Akick'e yetkisi vardir.

5: Otomatik olarak oplanir. Akick yetkisi yoktur.

0:Etkisiz leveldir. Otomatik olarak herkes sifir' leveldadir.

-1 ve assagisi: OPlanamaz.

Access listesinde, herkes, levelindan assagi olmak kaidesi ile bir ucuncu sahisa level tanimlayabilir. Ornegin leveli 10 olan bir kisi, 9 ve assagisi bir level olmak uzere herkese level verebilir.

KeepTopic, TopicLock, Private, Secureops

KeepTopic, TopicLock, Private, Secureops

2.6) KEEPTOPIC :

Komut: /msg chanserv SET #kanal KEEPTOPIC {ON|OFF}

ON modunda iken kanalizdan son kisi ciktikdan sonra bile son topici hatirlayip yeniden birisi geldigi zaman kanalinizin TOPIC'inin o sekilde degishmesini saglar. ON veya OFF Seklinde ayarlanir.

Ornek: /msg chanserv set #deneme KEEPTOPIC ON
/msg chanserv set #deneme KEEPTOPIC OFF

2.7) TOPICLOCK :

Komut: /msg chanserv SET #kanal TOPICLOCK {ON|OFF}

ON modunda sadece kanalin kurucu (founder) sifresini bilip de kendini kanalda identify eden kisi topici "/msg chanserv set #kanal topic yenitopic" komut satiri ile degistirilmesine izin verir.

2.8) PRIVATE :

Komut: /msg chanserv SET #kanal PRIVATE {ON/OFF}

Kanalin chanservin listesinde gosterilmesini onler. ON modunda ucuncu sahislar /msg chanserv list ile kanali goremezler.

2.9) SECUREOPS :

Komut: /msg chanserv SET #kanal SECUREOPS {ON|OFF}

ON modunda kanalda sadece yetkisi olan kisiler (access list'de yer alan kisiler) op olabilir.

Founder, Password, Desc, Topic, MLock

2.1) FOUNDER :

Komut: /msg chanserv SET #Kanal FOUNDER nickname

Kanalimizdaki kurucu (founder) ismini degistir. Buradaki nickname yerine yazdiginiz isim artik kanalin kurucu konumunu alacaktir.

2.2) PASSWORD :

Komut: /msg chanserv set #kanal password sifre

Kanalinizin kurucu sifresini degistirmek icin kullanilan bu satirda; sifre yerine koyacaginiz yeni tanim kanalin yeni yetki sifresi olacaktir.

2.3) DESC :

Komut: /msg chanserv set #kanal desc Yeni kanal tanimi

Kanalinizin tanitim yazisini degistirmek icin kullanilir.

2.4) TOPIC :

Komut: /msg chanserv set #kanal TOPIC topiciniz

Kanalinizin topicini chanserv "topiciniz" olarak degistirecektir.

2.5) MLOCK :

Komut: /msg chanserv SET #kanal MLOCK oda_modu

Kanalinizin modlarini otomatik olarak ayarlanmasini saglayacaktir. Ornegin kanalizda kimse yokken birisi girdiginde chanserv otomatik olarak kanalin mod'larini bu komut ile tanimladiginiz sekilde degistirecektir.

Ornek: /msg chanserv set #deneme MLOCK +nt-imk
/msg chanserv set #deneme MLOCK +ntspi-m
vb.....

1) GİRİŞ :

Chanserv sizin kanallarinizi register (kayit) ettirmenizi sagladigi gibi kimi tehlikelerden korumak icinde bazi kontrolleri elinize almanizi saglayan bir servisdir. Chanserv ayni zamanda kanalinizin takeover olmasini da onleyebilmektedir.

Assagida genel komutlari bulacaksiniz. Bu dokumanin icinde ise sirasi ile bu komutlari anlatacagiz. Assagidaki komutlari kullanmak icin /msg chanserv KOMUT yazmaniz yeterli olacakdir.

REGISTER Bir kanalin kaydini yap
IDENTIFY Kendini kanalinda yetkili kilmak icin sifrenle tanit
SET Kanal ozelliklerini vede kanal bilgilerini ayarla
ACCESS Yetkilendirilmish kisileri degistir
AKICK Autokick (otomatik kickleyici) ayarlari
DROP Kanalin registirasyonunu iptal et.

Diger komutlar: INFO, LIST, INVITE, OP, DEOP

Genel olarak komutlar yukaridaki gibi olup bunlari madde madde alt ozellikleri ile birlikte dokumanda anlatacagiz.

!!DIKKAT!! 2 hafta boyunca kullanilmayan kayitlar otomatik olarak silinecektir.

Chanserv Giriş, Register, Identify, Set

1) GİRİŞ :

Chanserv sizin kanallarinizi register (kayit) ettirmenizi sagladigi gibi kimi tehlikelerden korumak icinde bazi kontrolleri elinize almanizi saglayan bir servisdir. Chanserv ayni zamanda kanalinizin takeover olmasini da onleyebilmektedir.

Assagida genel komutlari bulacaksiniz. Bu dokumanin icinde ise sirasi ile bu komutlari anlatacagiz. Assagidaki komutlari kullanmak icin /msg chanserv KOMUT yazmaniz yeterli olacakdir.

REGISTER Bir kanalin kaydini yap
IDENTIFY Kendini kanalinda yetkili kilmak icin sifrenle tanit
SET Kanal ozelliklerini vede kanal bilgilerini ayarla
ACCESS Yetkilendirilmish kisileri degistir
AKICK Autokick (otomatik kickleyici) ayarlari
DROP Kanalin registirasyonunu iptal et.

Diger komutlar: INFO, LIST, INVITE, OP, DEOP

Genel olarak komutlar yukaridaki gibi olup bunlari madde madde alt ozellikleri ile birlikte dokumanda anlatacagiz.

!!DIKKAT!! 2 hafta boyunca kullanilmayan kayitlar otomatik olarak silinecektir.

1) REGISTER :

Komut: /msg chanserv register #kanal_adi SIFRE Kanalin Tanitim Bilgileri.

Kanali Chanserv bilgi haznesine kaydeder.

Bu komutu kullanabilmek icin oncelikle kaydini yapacaginiz odada OP olamaniz gerekmekte.

Bir ornekle aciklarsak:

Biz #deneme diye bir kanali kaydetmek isteyelim. Kanalimiz deneme uzerine kurulu olacagi icin genel olarak kanal tanitimi da "Deneme yapmak isteyenler icin kanal" seklinde olabilir. Sifremizi ise sifredeneme123 olarak sechmish olalim. Bu durumda su komut yeterli olacakdir.

(Tabiki once o odaya girip op olmamiz gerekiyor. Bunun icinde /join #deneme yapmak yetecekdir)

/msg chanserv register #deneme sifredeneme123 Deneme yapmak isteyenler icin kanal

Onemli olan bir iki sey var burada. Oncelikle sifrenizi unutmamak cunku onemli yerlerde ise yarayacakdir. Buradaki sifre sizin kanalinizin en yetkili kisisi olmak icin gereken sifredir. Bu ilerki kullanimlarda gerekecekdir. İkinci nokta da su ki; kanalin founderi (daha ilerde annatilacak) kanali register eden kisi yani nickname'dir.

!!!DIKKAT!!! : Kanal register edebilmek icin oncelikle nick'inizi register etmeniz gerekmekte. Nickserv dokumaninda bunu bulabileceksiniz.

2) IDENTIFY :

Komut: /msg chanserv IDENTIFY #kanal SIFRE

Kanalda sizi yetkili kilip tum ozelliklere en yuksek seviye seklinde hukmetmenizi saglar.

#deneme kanalinin sifresi hatirlayacaginiz gibi sifredeneme123 idi. Ornegimize devam etmek istersek kanalimizda yetkili olabilmek icin;

/msg chanserv identify #deneme sifredeneme123

yazmamiz gerekmekte. Hemen goreceginiz gibi OP olmush olacaksiniz.

3) SET :

Komut SET #kanal opsiyonlar parametreler

Kanala ait ozelliklerin ayarlanmasini saglar.

Bu komutta opsiyonlar olarak kullanacaklarimiz assagidaki listedeki gibidir. Aciklamalari yapilacaktir.

FOUNDER Kanalin founderini degistir.
PASSWORD Kanalin founder sifresini degistir.
DESC Kanalin tanitim yazisini degistir.
TOPIC Kanalin TOPIC'ini degistir.
MLOCK Kanalin MODE'larini degistir.
KEEPTOPIC Kanalin TOPIC'ini kanalda kimse kalmayinca bile koru.
TOPICLOCK Topicim sadece SET topic ile degistirilmesini sagla
PRIVATE Chanserv listesinden kanalin adini sakla.
SECUREOPS Kanalda sadece yetkili kisilerin OP olmasini sagla.
RESTRICTED Kanalda access'in ishe yaramamisini sagla.
SECURE Chanservin kanal koruma sistemlerini ayarla.

Opsiyonlarini aciklayalim: