IRCDForum.COM - IRC ve mIRC dünyasının forumu!   Reklam Alanı


  IRCDForum.COM - IRC ve mIRC dünyasının forumu! IF - mIRC Scripting mIRC Scripting Dersleri


Yeni Konu   Cevap Yaz

 
LinkBack Seçenekler Stil
Alt 13 Temmuz 2016, 10:49   #1
 
Code - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 01 Mart 2015
Mesajlar: 211
WEB Sitesi:
IRC Sunucusu:
İlgi Alanı:
Alınan Beğeni: 31
Standart mIRC'de (If-then-else statements)

Döküman sahibi: Paint
Konu: Koşul ifadeleri ve Operatörler
Tarih: 19.05.2012

Helpethos.net Dökümanıdır.

Merhabalar,

If komutu değerleri karşılaştırmamızı ve bu değerler sonucunda işlem yapma olanağı sağlar.

IF anlam olarak eğer, else ise değilse olarak çevrilebilir.

En basitten başlayalım:

Kod:
if (v1 operator v2) { komutlar1 }
elseif (v1 operator v2) { komutlar2 }
else { komutlar3 }
Yukarıda yapmak istediğimiz olay:
Satır 1: Eğer satır 1 deki koşul doğru ise komutlar 1'i uygula.
Satır 2: Eğer ilk satırdaki koşul doğru değilse ve ikinci satırdaki koşul doğru ise komutlar 2'yi uygula.
Satır 3: Eğer hiç bir komut doğru değilse komutlar3'ü uygula...


Not: Parantezler olmadanda kod çalışır fakat farkedilemeyecek kadar olsada yavaş olur, ayriyeten parantezler kodunuzu okuyan birisinin anlamasını kolaylaştırır.

Not2: İç içe istediğiniz kadar IF-ElseIF-ELSE kullanabilirsiniz.

Peki şimdi "if (v1 operator v2) { komutlar1 }" buradaki operator ne anlama geliyormuş ve operatorler nelermiş buna bakalım.

Operators

IF-ElseIF-ELSE komutlarını basit olsada anlattık daha iyi anlamak için örnekler yapmanız gerek.

Operatorler IF ve ELSEIF komutlarında kullanılır, operatörler bir çok koşulu sorgularken gereklidir.

--
== : Eşitse
//if Paint == paint { echo -a Değer1: $v1 Değer2: $v2 eşit. } (Sonuç: Değer1: Paint Değer2: paint eşit.)
//if Paint == AmiR { echo -a Değer1: $v1 Değer2: $v2 eşit. } (Sonuç: Paint AmiR e eşit olmadığı için hiç birşey dönmez.)

=== : Eşitse ( Büyük-Küçük harf duyarlı | Case sensitive )
//if Paint === Paint { echo -a Değer1: $v1 Değer2: $v2 eşit. } (Sonuç: Değer1: Paint Değer2: Paint eşit.)
//if Paint == paint { echo -a Değer1: $v1 Değer2: $v2 eşit. } (Sonuç: v2 deki paint yazısının ilk harfi küçük olduğu için hiç birşey dönmez.)

!= : Eşit değilse
//if Paint != Kaint { echo -a Değer1: $v1 Değer2: $v2 eşit. } (Sonuç: Değer1: Paint Değer2: Kaint eşit değil.)
//if Paint === Paint { echo -a Değer1: $v1 Değer2: $v2 eşit. } (Sonuç: v1 ve v2 eşit olduğu için birşey dönmez.)

< : Küçükse
//if 1 < 2 { echo -a Evet küçük. } (Sonuç: Evet küçük.)
//if 3 < 2 { echo -a Evet küçük. } (Sonuç: 3 sayısı 2 den büyük olduğu için birşey olmaz.)

> : Büyükse
//if 3 < 2 { echo -a Evet büyük. } (Sonuç: Evet büyük.)
//if 1 < 2 { echo -a Evet küçük. } (Sonuç: 1 sayısı 2 den büyük olmadığı için sonuç gelmez.)

>= : Büyük veya eşitse
//if 3 >= 2 { echo -a Evet büyük. } (Sonuç: Evet büyük.)

<= : Küçük veya eşitse
//if 1 <= 2 { echo -a Evet küçük. } (Sonuç: Evet küçük.)

// :v2 değeri v1 e eşitse veya katıysa.
Sonuç dönenler:
//if 2 // 2 { echo -a v2: $v2 değeri v1: $v1 değerine eşit veya katı. }
//if 2 // 4 { echo -a v2: $v2 değeri v1: $v1 değerine eşit veya katı. }
Sonuç dönmeyenler:
//if 3 // 4 { echo -a v2: $v2 değeri v1: $v1 değerine eşit veya katı. }

\\ :v2 değeri v1 e eşit veya katı değilse.
Sonuç dönenler:
//if 3 // 4 { echo -a v2: $v2 değeri v1: $v1 değerine eşit veya katı değil. }
Sonuç dönmeyenler:
//if 2 // 2 { echo -a v2: $v2 değeri v1: $v1 değerine eşit veya katı. }

& : Bit seviyesinde karşılaştırma
Bunu açıklaması oldukça uzun ayrı bir ders gerekir o yüzden hiç girmiyorum.

---
isin : v1 değeri v2'nin içinde geçiyorsa.
Cevabı $true dönenler:
//if paint isin paintci { echo -a $true }
//if Reply isin Reply { echo -a $true }
Cevap dönmeyenler:
//if HelpEthos isin Ethos { echo -a $false }

isincs : v1 değeri v2'nin içinde geçiyorsa. (case sensitive)
Cevabı $true dönenler:
//if Reply isin Reply { echo -a $true }
Cevap dönmeyenler:
//if Reply isin reply { echo -a $false }

iswm : v1 değerini v2'nin içinde sorgulama. (Wildcard destekli.)
Cevabı $true dönenler:
//if repl* iswm reply { echo -a $true }
//if *epl* iswm reply { echo -a $true }
//if *e?l* iswm reply { echo -a $true }
Cevap dönmeyenler:
//if replu* iswm reply { echo -a $false }

iswmcs : v1 değerini v2'nin içinde sorgulama. (Wildcard destekli.) (case sensitive)
Cevabı $true dönenler:
//if Repl* iswmcs Reply { echo -a $true }
Cevap dönmeyenler:
//if Repl* iswmcs reply { echo -a $false }

isnum : v1 eğer sayı ise. Bu operatorde v2 zorunlu değildir v2 yazarsanız operatorun anlamı v1 sayısı v2 aralığında ise burda v2 yi sayı1-sayı2 şeklinde yazmalısınız.
Cevabı $true dönenler:
//if 1 isnum { echo -a $true }
//if 5 isnum 4-6 { echo -a $true }
//if 51 isnum 5- { echo -a $true }
Cevap dönmeyenler:
//if a isnum { echo -a $false }
//if 5 isnum 1-3 { echo -a $false }

isletter : isnum operatorünün sayı yerine harf şekli.
Cevabı $true dönenler:
//if A isletter { echo -a $true }
//if c isletter ac { echo -a $true }
Cevap dönmeyenler:
//if 11 isletter { echo -a $false }
//if c isletter db { echo -a $false }

isalnum : Metin sadece harf ve rakamlar içeriyorsa.
Cevabı $true dönenler:
//if Metin43 isalnum { echo -a $true }
//if metinci isalnum { echo -a $true }
Cevap dönmeyenler:
//if metin½ isalnum { echo -a $false }

isalpha : Metin sadece harf içeriyorsa.
Cevabı $true dönenler:
//if metin isalpha { echo -a $true }
Cevap dönmeyenler:
//if metin58 isalpha { echo -a $false }

islower : Metin sadece küçük harfler içeriyorsa.
Cevabı $true dönenler:
//if metinci islower { echo -a $true }
Cevap dönmeyenler:
//if Metinci islower { echo -a $false }

isupper : Metin sadece büyük harfler içeriyorsa.
Cevabı $true dönenler:
//if PAINT isupper { echo -a $true }
Cevap dönmeyenler:
//if Paint isupper { echo -a $false }

----

ison : v1 deki Nick v2 de yazan kanalda bulunuyorsa.
Kullanım: //if v1 ison v2 { komutlar }

isop : v1 deki Nick v2 de yazan kanalda opsa.
Kullanım: //if v1 isop v2 { komutlar }

ishop : v1 deki Nick v2 de yazan kanalda halfopsa.
Kullanım: //if v1 ishop v2 { komutlar }

isvoice : v1 deki Nick v2 de yazan kanalda voice sahibiyse.
Kullanım: //if v1 isvoice v2 { komutlar }

isreg : v1 deki Nick v2 de yazan kanalda yetki sahibi değilse yani voicesi bile yoksa
Kullanım: //if v1 isreg v2 { komutlar }

ischan : v1 bulunduğunuz bir kanal ise
Kullanım: //if v1 ischan { komutlar }

isban : v1 deki mask v2 de yazan kanalda ban listesinde varsa
Kullanım: //if v1 isban v2 { komutlar }

-----


isaop : v1 de yazan nick v2 kanalı için auto-op listesinde ise ( v2 opsiyonel )
Kullanım: //if v1 isaop v2 { komutlar }

isavoice : v1 de yazan nick v2 kanalı için auto-voice listesinde ise ( v2 opsiyonel )
Kullanım: //if v1 isavoice v2 { komutlar }

isignore : v1 de yazan mask ignore listesinde v2 de yazan parametre ile eklenmişse. ( v2 opsiyonel )
//if v1 isigonre v2 { komutlar }

isprotect : v1 de yazan nick v2 kanalı için protect listesinde ise ( v2 opsiyonel
Kullanım: //if v1 isaprotect v2 { komutlar }

isnotify : v1 de yazan nick notify listenizde varsa
//if v1 isnotify { komutlar }

Önemli NOT: Bir operatörü olumsuz biçime çevirmek için operatörün başına ! ekleyin.
Örnek: !isop, !ishop, !isin, !isignore
-
Not: //if DENEME == HELPETHOS { ECHO -a $FALSE }
Burada $v1 DENEME $v2 HELPETHOS olarak dönecektir.
-
ÖNEMLİ:
Tek if komutuyla birden fazla sorgulamayı aynı anda yapmak için || veya && kullanabilirsiniz.
|| anlam olarak veya olarak çevrilebilir.
&& ise ve olarak çevrilebilir.

Kullanımları:
//if v1 isin v2 && v3 isop v4 { echo -a $true } Anlamı: v1 yazısı v2'nin içinde geçiyorsa ve v3 nicki v4 kanalında opsa ekrana $true yaz.

//if v1 isin v2 || v3 isop v4 { echo -a $true } Anlamı: v1 yazısı v2'nin içinde geçiyorsa veya v3 nicki v4 kanalında opsa ekrana $true yaz.



$IIF

$iif identifieri daha hızlı koşul sorgulamamızı sağlar.

Kullanımı:
$iif(koşul,doğru ise komutlar, yanlış ise komutlar)

Örnek:

Kod:
;Birisi !iif yazarsa
on *:text:!iif:*:{
;Eğer $chan identifierı bir şey döndürüyorsa %gönderim variablesini dönen yazı yap döndermiyorsa $nick ten dönen yazı yap
  set %gönderim $iif($chan,$chan,$nick)
;Eğer kanaldan gelmişse mesaj kanala IIF yaz özelden geldiyse gönderen kişinin özeline yaz.
  msg %gönderim IIF 
}
Benden bu kadar gerisi sizin yaptığınız pratiklere bağlı. Okuduğunuz için teşekkürler.

Kodlamaktan ve sorgulamaktan korkmayın...
 Code isimli Üye şimdilik offline konumundadır   Alıntı

Yeni Konu   Cevap Yaz

Etiketler
ifthenelse, kullanımları, mircde, statements


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık





Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Chat - Sohbet