Neler yeni

Foruma hoşgeldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

  • Saygın ve ciddi bir ortamda yardımlaşmak, haberleşmek, bilgi paylaşmak ve bilgi almak isteyen herkes forumumuza katilabilir.
    Sitemize ilk ziyaretiniz ise, lütfen kurallar ve gizlilik sözleşmesi politikamızı inceleyiniz, foruma kayıt olan herkes bu kuralları kabul etmiş sayılacaktır.

    Foruma üye olmadan konu acamaz, herhangi bir aktivite uygulayamaz ve özel mesajlaşamazsınız.
    Forumda bulunan bütün aktivitelerden faydalanmak için lütfen nickinizi kayıt ediniz...

While döngüsü.

  • Konuyu Başlatan Konuyu Başlatan Ra'
  • Başlangıç tarihi Başlangıç tarihi

Ra'

Forum Master
Katılım
25 Şubat 2025
Mesajlar
550
Tepkime puanı
50
Puan
28
Mirc scripting icerisinde neredeyse en önemli durumların icerisinde gelir.

while döngüsü oluşturmak için ilk başta bilmemiz gereken değişkenlerdir.Doğru şekilde değişken atamak gerekir.

Değişken atamak ( Değer atamak ) ;

Niçin değişken atanır denildiğinde bir çok kod yazımı sırasında istenilen veriyi sabit bir tanım üzerinde kullanıcağımız zamana kadar o tanım icerisinde barındırması için atanır diyebiliriz. Örnek verelim...

#Mylife kanalına giren bütün kullanıcılar diye bir tabir kullanırsak mirc scripting dilinde bunun karşılığı join eventinde $nick dir.Bu kanala giren nick leri tek tek bir değişken icerisinde toplamak başka bir kod ile bağlantı yapılması icin işe yarar aslında kullanım sebebi büyük ölcüde budur.

Kod:
var %:Mylife = $nick

var ile atadığımız değişken adı => %:Mylife
Değişkenin icinde barındıracağı bilgi => #Mylife kanalına giren bütün nickler ( $nick )

Var ile atanan değişkenler bilinmesi gerekir ki kullanımdan sonra otomatik olarak silinir. Yani script icerisinde veri kaydedilen kısım otomatik olarak silinir basit kod lar için kullanılması gereken en ideal durumdur tavsiye edebilirim yalnız bazı durumlarda yetersiz kalır yetersiz kaldığı durumlarda set ile değişken atamanın işe yarıyacağını söylemeliyim.

Kod:
set %Mylife = $nick

Script üzerinde atanan değişkenlerin icerisindeki bilgiler variables e eklenir ve orada tutulur var ile atanan veri kod bitiminde otomatik olarak silinir. yukarıda görüldüğü gibi set ile atanan bir değişkenin variables kısmından silinmesi için unset kullanılması gerekir yani set ile atadığımız bir değişken unset kullanılmadığı sürece o veri kalıcı olarak variables de kalır.

Kod:
unset %Mylife

Şimdi değişken atamayı öğrendiğimize göre while döngüsü oluşturmayı öğrenelim...

Kod:
alias while1 { ; while1 adında alias oluşturduk.
var %:Mylife = 1 ; var ile değişkeni atayıp 1 değeri verdik.
var %:Kod = 10 ; var ile değişkeni atayıp 10 değeri verdik.
while %:Mylife <= %:Kod { ; Döngüyü başlattık. yani atadığımız %:Mylife ın değeri %:Kod dan kücükse durumu eşitleyene kadar onu yükselt.
echo -a %:Mylife ; şartlar yerine getirildiğinde yapılacak işlem
inc %:Mylife ; inc while döngüsünde yükseltme anlamına gelir ( dec düşürmek için kullanılır. )
}
}
; ve kodu bitirdik.
Örneğin sade hali;

Kod:
alias while1 {
var %:Mylife = 1
var %:Kod = 10
while %:Mylife <= %:Kod {
echo -a %:Mylife
inc %:Mylife
}
}

Kullanım; /While1

Atanan %:Mylife ın değeri 1 ve %:Kod un değeri 10 olduğu için kod sonunda inc kullanarak Mylife ı karşısındaki değer ne ise onunla eşit olana kadar yükselt dedik. Örnek kullanıdığında 1 den 10 a kadar sayacağını görüceksiniz.

Set kullanılarak;
Kod:
alias while1 {
set %:Mylife = 1
set %:Kod = 10
while %:Mylife <= %:Kod {
echo -a %:Mylife
inc %:Mylife
unset %:Mylife
unset %:Kod
}
}

Set ile bir atama yaparsanız o değerin silinmesi için unset kullanılması gerekir aksi takdir de o değer sürekli variables kısmında kalıcaktır.

Atamalar ve while döngüsü başlatmayı öğrendik sanıyorum elimden geldiğince basit şekilde anlatmaya calıştım son bir örnek vererek konuyu bitirmek istiyorum.

while döngüsü çok kullanışlı olduğu gibi bir çok yerde alternatifi olmadığını bilinmesi gerekir yani bu işlerin icinde olmaya karar verdiyseniz bilmeniz gereken bir tanımdır. $read ile satır okutmak veya dosya icerisindeki bütün text leri yansıtmak gibi bir çok konuda tek yoldur diyebiliriz neredeyse mesela örnek vermemiz gerekirse kanalda bulunan herkese tek sefer de mesaj yazmak istiyorum sorusunun cevabı aşağıdaki gibi olmalıdır bana göre..

Kod:
alias mesajj {
var %:Mylife = 1
while %:Mylife <= $nick(#,0) {
msg $nick(#,%:Mylife) deneme.
inc %:Mylife
}
}
Kullanım;
/mesajj


İyi forumlar.
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz

  • Geniş / Dar görünüm

    Temanızı geniş yada dar olarak kullanmak için kullanabileceğiniz bir yapıyı kontrolünü sağlayabilirsiniz.

    Izgara görünümlü forum listesi

    Forum listesindeki düzeni ızgara yada sıradan listeleme tarzındaki yapının kontrolünü sağlayabilirsiniz.

    Resimli ızgara modu

    Izgara forum listesinde resimleri açıp/kapatabileceğiniz yapının kontrolünü sağlayabilirsiniz.

    Kenar çubuğunu kapat

    Kenar çubuğunu kapatarak forumdaki kalabalık görünümde kurtulabilirsiniz.

    Sabit kenar çubuğu

    Kenar çubuğunu sabitleyerek daha kullanışlı ve erişiminizi kolaylaştırabilirsiniz.

    Köşe kıvrımlarını kapat

    Blokların köşelerinde bulunan kıvrımları kapatıp/açarak zevkinize göre kullanabilirsiniz.

  • Zevkini yansıtan renk kombinasyonunu seç
    Renk geçişli arkaplanlar
Geri