mIRCForumlari - mIRC ve IRC Kullanıcılarının Paylaşım Platformu
  https://www.mircforumlari.net/iletisim/


SohbetG.Com

Kullanıcı Etiket Listesi

Ağaç Şeklinde Aç2Beğeni
  • 2 gönderen RahmetLi

Yeni Konu aç Cevapla
 
Seçenekler
Alt 27 Mart 2023, 06:34   #1
Çevrimdışı
Üyelik tarihi: 07 Aralık 2022
Konular: 21245
Mesajlar: 24.248
Nerden: İstanbul
Cinsiyet: Erkek
Web Site: TRmIRC.Net
IRC Sunucu: IRC.TRmIRC.Net
Alınan Beğeni: 3770
Beğendikleri: 6794
@RahmetLi
Ruh Hali : : Olu Gibi
Standart IRCServices - Array Kullanimi

Bildiğiniz gibi UnrealIRCd, IRCServices vs. gibi yazilimlar C Dili ile yazilmis ve gelistirilmistir.
C'de diziler çok kullanışlıdır.
Dizileri tanımlarken tüm elemanlarını “0″'a eşitlemek faydalidir. Bunu yapmadığımız zaman RAM’de, dizinin tanımlandıği yerde ne bilgi varsa; ona göre işlem yapılır.

Kod : Kodu kopyalamak için üzerine çift tıklayın!

char *Takimlar[]={ "Ankaragucu", "Antalyaspor", "Besiktas", "Bursaspor", "Eskisehirspor", "Fenerbahce", "Galatasaray", "Gaziantepspor", "Kayserispor", "Konyaspor", "RizeSpor", "Sivasspor", "Trabzonspor", NULL };
Dizgimizi Takimlar adi ile olusturduk.

Dizgileri siralamak icin kodlarimizi su sekilde yazabiliriz;

Kod : Kodu kopyalamak için üzerine çift tıklayın!

int i; for (i=0; Takimlar[i]!=NULL; i++ ) send_cmd(s_NickServ, "NOTICE %s :\2(%d\2) Numara -> \2%s", u->nick, i+1, Takimlar[i]); }
Komut kullaniminda dizgideki tanimli bilgileri siralayacaktir.

Kod : Kodu kopyalamak için üzerine çift tıklayın!

© NickServ Kullanilabilir TAKIM Listemiz © NickServ - © NickServ (1) Numara -> Ankaragucu © NickServ (2) Numara -> Antalyaspor © NickServ (3) Numara -> Besiktas © NickServ (4) Numara -> Bursaspor © NickServ (5) Numara -> Eskisehirspor © NickServ (6) Numara -> Fenerbahce © NickServ (7) Numara -> Galatasaray © NickServ (8) Numara -> Gaziantepspor © NickServ (9) Numara -> Kayserispor © NickServ (10) Numara -> Konyaspor © NickServ (11) Numara -> RizeSpor © NickServ (12) Numara -> Sivasspor © NickServ (13) Numara -> Trabzonspor
Dizgimiz icerisindeki verileri kullandirmak, icerisinde olmayanlari kullandirmamak icin su yolu deneyebiliriz;

Kod : Kodu kopyalamak için üzerine çift tıklayın!

static void do_set_takim(User *u, NickGroupInfo *ngi, char *param) { NickInfo *ni; ni = get_nickinfo(u->nick); const char *nick = ngi_mainnick(ngi); int i; int sonuc = 0; if (!param) { ngi->takim = NULL; send_cmd(s_NickServ, "NOTICE %s :Takiminiz \2 Kaldirildi.", u->nick); put_nickgroupinfo(ngi); return; } for (i=0; Takimlar[i]!=NULL; i++) { send_cmd(s_NickServ, "NOTICE %s :~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick); send_cmd(s_NickServ, "NOTICE %s :-\2",u->nick); send_cmd(s_NickServ, "NOTICE %s :Sectiginiz takim \2 %s", u->nick, param); sonuc=1; break; } if (sonuc==1) { ngi->takim = sstrdup(param); send_cmd(s_NickServ, "NOTICE %s :-", u->nick); send_cmd(s_NickServ, "NOTICE %s :Takiminiz \2%s\2 Olarak Belirlendi.", u->nick, ngi->takim); } else { send_cmd(s_NickServ, "NOTICE %s :~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick); send_cmd(s_NickServ, "NOTICE %s :-\2", u->nick); send_cmd(s_NickServ, "NOTICE %s :\2Maalesef\2, Sahip Olmak istediginiz \2takim\2, Listemizde ekli \2degildir.\2", u->nick); send_cmd(s_NickServ, "NOTICE %s :Kullanilabilir takimlari listelemek icin, \2 /NS takimlar\2 Komutunu Kullaniniz.", u->nick); send_cmd(s_NickServ, "NOTICE %s :Ayrintili Bilgi icin, \2 #HELP \2 Kanalina giriniz..", u->nick); send_cmd(s_NickServ, "NOTICE %s :-\2", u->nick); return; } }
Burada girilen veri, eğer dizgi icerisinde varsa kabul edilecel, eğer dizgi icerisinde yoksa reddedilip hata vericektir.

Makale Sahibi: toXic


Oktayy ve NobRaN bunu beğendiler.


Kalbim Atar Cansız, Geçmez Gün Ahsız, Vahsız..
  Alıntı ile Cevapla

Cevapla
Etiketler
array


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