IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Hazır Kodlar (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/)
-   -   Cümle oluşturma [regex megex herşey var bir ben yokum] (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/10170-cumle-olusturma-regex-megex-hersey-var-bir-ben-yokum.html)

Alience 03 Ocak 2006 23:32

Cümle oluşturma [regex megex herşey var bir ben yokum]
 
Yaptıklarımı step by step (tek tek :D) anlatarak aklımdaki düşünceleri ve gelişmesini sizlere göstererek değişik bir anlatım tarzını

uygulayacağım.

Konumuz: yazdığımız birşeyin karşı tarafa cümle şeklinde uygulanarak gönderilmesi.
Nasıl?: şöyleki bu bir cümle denemesidir. okadar. gibi bir cümlemiz olsun bunu Bu bir cümle denemesidir. Okadar. şeklinde yazması ve

gelişimi.
Ne gerekli?: ilk önce bizim giridiğimiz yazıyı tanıması için on input eventi, bunun dışında bol bol $gettok, $replace ve var.

Uygulamaya başlıyoruz:
mirc nin remotesini açıp file > new den yeni bir script oluşturuyorum içine:
on *:input:*: { echo -a Test }
yazıp status penceresinde rastgele birşey yazıyorum ve enterliyorum çıkan sonuç
Test
* You are not on a channel
bundaki amacımız tek tek doğrulayarak hatamızı sonradan aramaktansa yaptığımız anda bulmak :).
şimdi ihtiyacımız olan input ta / gbi komut girince bunu mirc in komut olarak görmesi bunu da

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] deki kodumuzu alarak başlıyorum bu kodda
on *:input:*: {
if ($mouse.key & 2) || !$regex($1,^\/) {
msg $active $replacecs($1-,l,L,b,ß,s,S,ş,$,g,G)
halt
}
}
msg $active $replacecs($1-,l,L,b,ß,s,S,ş,$,g,G) kısmı işime yaramayan kısım oldugu için onu siliyorum diğeri on input kısmı bizim biraz önce

denediğimiz event if ($mouse.key & 2) || !$regex($1,^\/) { ise eğer yazılan yazının 1. kelimesi / ile başlıyorsa veya / ile başlayıpta ctrl

tuşuna basılı iken entere basmıyorsa komut olarak uyguladır.

remoteye aşağıdaki şekilde yazıyorum
on *:input:*: {
if ($mouse.key & 2) || !$regex($1,^\/) {
echo - $1-
halt
}
}
ve rastgele asdsad giriyorum çıkan sonuç:
- asdsad
/asdasd giriyorum:
* /asdasd: not connected to server << komut olarak algılıyor tamamdır.
aynı komutu ctrl tuşu basık iken giriyorum:
- /asdasd << yazı olarak algılıyor tamamdır.


cumlekur aliasesimizi oluşturmaya başlıyoruz
alias cumlekur {
if $isid {

}
}

buradaki $isid aliasesimizi $cumlekur şeklinde kulanacağımızı /cumlekur şeklinde çağırılırsa çalışmayacağı anlamına gelir.

şimdide en basit yoldan regex kullanarak cumle oluşturma safhamıza geçiyoruz
var %x , %i = $regsub(UPTR,$1-,/(\.([a-z]|[A-Z]|[[:space:]]|ş|ü|ğ|ö|ç|ı|Ş|Ü|Ğ|Ö|Ç|İ).)/g,\1,%x)
yukardakinin anlamı . ve ondan sonraki kelimeleri türkçe(|ş|ü|ğ|ö|ç|ı|Ş|Ü|Ğ|Ö|Ç|İ) karakterler dahil ve [a-z] küçük [A-Z] büyük kelimelerle

birlikte [[:space:]] boşluk karakterini tarıyoruz

Kod:

on *:input:*: {
  if ($mouse.key & 2) || !$regex($1,^\/) && !$window(Status Window) {
    msg $active $cumlekur($1-)
    halt
  }
}
alias cumlekur {
  if $isid {
    var %x , %i = $regsub(cumlekur,$1-,/((\.|;|\:)+([a-z]|[A-Z]|[[:space:]]|ş|ü|ğ|ö|ç|ı|Ş|Ü|Ğ|Ö|Ç|İ).)/g,\1,%x), %i = 1, %retval = $1-
    while %i <= $regml(cumlekur,0) {
      if $regex(ifcumlekur,$regml(cumlekur,%i),((\.|;|\:).|..)) {
        %setvar = $remove($regml(cumlekur,%i),.,:,;,$chr(32))
        %setvar = $+($left($regml(ifcumlekur,1),1),$chr(32),$upper($replacecs($left(%setvar,1),ş,Ş,ç,Ç,ü,Ü,ğ,Ğ,ı,İ)),$mid(%setvar,2,2))
        var %x , %l = $regsub(%retval,$+(/,$regml(cumlekur,%i),/g),%setvar,%x), %retval = %x
      }
      inc %i 1
    }
    return $replace($upper($left(%x,1)),ş,Ş,ç,Ç,ü,Ü,ğ,Ğ,ı,İ)) $+ $right(%x,-1)
  }
}

Eeeeeeeeee şey kusura bakmayın ben koptum gittim anlatıcaktım ama şimdi gelde yukarıdaki kodu basit bir şekilde anlat. Herneyse bu bir ders konusu olucaktı ama hazırkodlar kısmına yazmak nasip oldu aynı şekilde yazımı txt dosyasından foruma pasteliyorum. Komedi bir hazır kod oldu ama olsun en azından buradan bir konuyu yazarak anlatmanın ne kadar zor olduğunu anlamış oluyoruz :D.

Flyman 05 Ocak 2006 02:35

eline saglikta ne is yapar bu kod onu anlamadim ben valla :)) gulmeyin anlamadim isde

Alience 05 Ocak 2006 02:43

mesela sen
selam nasılsın.ben şahsen iyiyim yazdın
bunu türkçede
Selam nasılsın. Ben şahsen iyiyim şekline cevirir bak şimdi aklıma geldi sonuna . ekletmesini unutumuşum onuda :(
neyse onsuz idare edin artık :D

Flyman 06 Ocak 2006 02:25

guzel biseymis kullanayim biraz bakalim :)

Impulsiv 08 Şubat 2008 19:36

Cevap: Cümle oluşturma [regex megex herşey var bir ben yokum]
 
Arkadaşlar, nasıl çalışır bu kod? Sadece remoteye eklemek yeterli mi? ( Ekledim çalışmadı.. )

L4roXyL 08 Şubat 2008 21:11

Cevap: Cümle oluşturma [regex megex herşey var bir ben yokum]
 
Şu kısmı; !$window(Status Window)
Bu şekilde; ($active != status window) değiş.

Cheryy 31 Temmuz 2008 20:40

Cevap: Cümle oluşturma [regex megex herşey var bir ben yokum]
 
Cümlenin sonuna . eklentisini nasıl yapacağız peki?

Cheryy 02 Ağustos 2008 13:04

Cevap: Cümle oluşturma [regex megex herşey var bir ben yokum]
 
Yardım edebilecek birisi yok mu arkadaşlar?

q0kh4n01 24 Ekim 2008 19:52

Cevap: Cümle oluşturma [regex megex herşey var bir ben yokum]
 
<q0kh4n> deneme
<q0kh4n> Deneme
<q0kh4n> SeLam
<q0kh4n> Selam
<q0kh4n> moruk
<q0kh4n> Moruk

ßu SekiLde Cıkıyorr :D neden

q0kh4n01 24 Ekim 2008 19:53

Cevap: Cümle oluşturma [regex megex herşey var bir ben yokum]
 
Alıntı:

L4roXyL Nickli Üyeden Alıntı (Mesaj 346727)
Şu kısmı; !$window(Status Window)
Bu şekilde; ($active != status window) değiş.

olarak yapmıştım ama yapmadan öncede hiç çalışmıuyodu


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 05:33.

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net