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 Sorunları (https://www.ircforumlari.net/mirc-scripting-sorunlari/)
-   -   Kelimelerin Baş Harfini Büyük Yazmak. (https://www.ircforumlari.net/mirc-scripting-sorunlari/39919-kelimelerin-bas-harfini-buyuk-yazmak.html)

Amigo 24 Ekim 2007 19:43

Kelimelerin Baş Harfini Büyük Yazmak.
 
Selam

Cümle İcinde Kelimelerin Baş HarfLerini Büyük Yazmasini İstiyorum..Yani Ben Kücük Yazsamda Otomatik Büyütmesi İcin Bir Kod Warmi Acaba.Forumda Araştirdim Ama buLamadim. Sagolun.

L4roXyL 24 Ekim 2007 20:35

Cevap: Kelimelerin Baş Harfini Büyük Yazmak.
 
on *:input:*: { if $left($1,1) != / && !$ctrlenter && !$inpaste { say $+($upper($left($1-,1)),$right($1-,-1)) | haltdef } }

Kurduğun her cümlenin ilk harfini büyük yapıcaktır.

Amigo 24 Ekim 2007 20:53

Cevap: Kelimelerin Baş Harfini Büyük Yazmak.
 
Teşekkür Ederim L4roXyL ;oki

Amigo 24 Ekim 2007 21:11

Cevap: Kelimelerin Baş Harfini Büyük Yazmak.
 
L4roXyL

[:21:07:28] <nICKIM> Selam nasilsin.

Burada Sadece Cümlenin iLk keLimesininkini Büyüttü.Ben Cümlede Her keLimenin ba$ Harfini İstemi$tim ama.yâni aLttaki Gibi.Yardimci oLurmusun.Sağolasin.

[:21:07:28] <nICKIM> Selam Nasilsin.

L4roXyL 25 Ekim 2007 01:25

Cevap: Kelimelerin Baş Harfini Büyük Yazmak.
 
Amigo istediğin şey, regular expression ile yapılabilir. Ama ben farklı bir yöntem ile yaptım, işini göreceğine inanıyorum.
Açıklıyayım'ki "hep hazır veriyor, anlamıyoruz" diyenler utansın .)

$left($1,1) != / : Burada demek istediğimiz, yazılan kelimenin ilk karakteri "/" değilse &&(ve)
!$ctrlenter : Eğer caps lock aktif değilse, &&(ve)
!$inpaste : Gönderilen text, paste edilmiyorsa;
Bir değişken yapıyoruz(%/) ve değerini 1 olarak atıyoruz.
Sonra $numtok ile cümle içerisindeki boşluk sayısını anlıyoruz.
Devamında while kullanarak $gettok yardımı ile, $numtok sorgulamasından aldığımız değeri(%=) 1'e eşit olana kadar yani %/ değerine eşit olana kadar arttırıyoruz.
Ve bunu yaparken her kelimenin/lerin ilk harfini, $upper ve $left yardımı ile büyütüyoruz. Ve kelimenin/lerin 1. harflerinden sonrasını $right kullanarak normal biçime dönüştürüyoruz.
Ve son olarak, bu yapılanların hepsini $addtok kullanarak %: değişkenine atıyoruz. İşlevler bittikten sonra(while) say olarak %: değişkenini okutuyoruz. Yani kısacası, yazılan her kelimenin ilk harfi büyük oluyor.
Açıkladım, çünki ne kadar basit ve yapılabilir olduğunu sizde öğrenin diye.

on *:input:*: { if $left($1,1) != / && !$ctrlenter && !$inpaste { var %/ = 1,%= = $numtok($1-,32),%: | while %/ <= %= { var %: = $addtok(%:,$+($upper($left($gettok($1-,%/,32),1)),$right($gettok($1-,%/,32),-1)),32) | inc %/ | haltdef } | say %: } }

İşini görecektir.

Amigo 25 Ekim 2007 19:40

Cevap: Kelimelerin Baş Harfini Büyük Yazmak.
 
L4roXyL Acikladigin İcin Tesekkur Ederim.Emeğine Sağlik +Rep .:)

L4roXyL 26 Ekim 2007 16:47

Cevap: Kelimelerin Baş Harfini Büyük Yazmak.
 
Kod'da sorun olmaz fakat yanlış bir bilgi vermişim;
!$ctrlenter : Eğer yazılan text ctrl + enter tuşuna basılarak gönderilmiyorsa demektir.

MyKraL 20 Ocak 2016 20:28

Cevap: Kelimelerin Baş Harfini Büyük Yazmak.
 
Alıntı:

L4roXyL Nickli Üyeden Alıntı (Mesaj 276940)
Amigo istediğin şey, regular expression ile yapılabilir. Ama ben farklı bir yöntem ile yaptım, işini göreceğine inanıyorum.
Açıklıyayım'ki "hep hazır veriyor, anlamıyoruz" diyenler utansın .)

$left($1,1) != / : Burada demek istediğimiz, yazılan kelimenin ilk karakteri "/" değilse &&(ve)
!$ctrlenter : Eğer caps lock aktif değilse, &&(ve)
!$inpaste : Gönderilen text, paste edilmiyorsa;
Bir değişken yapıyoruz(%/) ve değerini 1 olarak atıyoruz.
Sonra $numtok ile cümle içerisindeki boşluk sayısını anlıyoruz.
Devamında while kullanarak $gettok yardımı ile, $numtok sorgulamasından aldığımız değeri(%=) 1'e eşit olana kadar yani %/ değerine eşit olana kadar arttırıyoruz.
Ve bunu yaparken her kelimenin/lerin ilk harfini, $upper ve $left yardımı ile büyütüyoruz. Ve kelimenin/lerin 1. harflerinden sonrasını $right kullanarak normal biçime dönüştürüyoruz.
Ve son olarak, bu yapılanların hepsini $addtok kullanarak %: değişkenine atıyoruz. İşlevler bittikten sonra(while) say olarak %: değişkenini okutuyoruz. Yani kısacası, yazılan her kelimenin ilk harfi büyük oluyor.
Açıkladım, çünki ne kadar basit ve yapılabilir olduğunu sizde öğrenin diye.

on *:input:*: { if $left($1,1) != / && !$ctrlenter && !$inpaste { var %/ = 1,%= = $numtok($1-,32),%: | while %/ <= %= { var %: = $addtok(%:,$+($upper($left($gettok($1-,%/,32),1)),$right($gettok($1-,%/,32),-1)),32) | inc %/ | haltdef } | say %: } }

İşini görecektir.


cok eski konuyu hortlatıyorum ama . dikkatimi cekti. bunu ekledikten sonra cümle icerisinde aynı kelimeler kullandıgımda 2. kelime cıkmıyor :) en basit örnekle : test test yazıyorum enterliyorum 1 tane test gönderiyo .

CoCoRiCo 20 Ocak 2016 21:35

Cevap: Kelimelerin Baş Harfini Büyük Yazmak.
 
//echo : $wcaps(Kelime kelime kelimeler..)
alias Wcaps { return $regsubex($1-,/(\b\w)/ig,$upper(\1)) }

Feragat 31 Ocak 2016 23:14

Cevap: Kelimelerin Baş Harfini Büyük Yazmak.
 
Alıntı:

MyKraL Nickli Üyeden Alıntı (Mesaj 1041727660)
cok eski konuyu hortlatıyorum ama . dikkatimi cekti. bunu ekledikten sonra cümle icerisinde aynı kelimeler kullandıgımda 2. kelime cıkmıyor :) en basit örnekle : test test yazıyorum enterliyorum 1 tane test gönderiyo .


Bunun sebebi, cümle içindeki kelimelerin $addtok tanımı ile bir değişken içinde toplanıyor olması.
$addtok tanımında belirlenen değişkene aynı değer 1 den fazla yazdırılmaz.

Örnek:
//set -s %x $addtok(%x, $r(1,4), 32)

Sonuç:
Kod:

* Set %x to 1
-
* Set %x to 1 4
-
* Set %x to 1 4
-
* Set %x to 1 4
-
* Set %x to 1 4 3
-
* Set %x to 1 4 3
-
* Set %x to 1 4 3 2
-
* Set %x to 1 4 3 2
-
* Set %x to 1 4 3 2
-
* Set %x to 1 4 3 2
-
* Set %x to 1 4 3 2
-
* Set %x to 1 4 3 2
-
* Set %x to 1 4 3 2
-
* Set %x to 1 4 3 2
-
* Set %x to 1 4 3 2

1 ile 4 arasında random sayı türetip %x değişkenine araya boşluk (32) atarak yazdırdığımızda birbiri ile aynı olan sayıları 2. defa yazmayacaktır. Sebep budur.

- $addtok tanımının mirc.chm (mirc yardım) dosyasındaki anlatımı
Kod:

$addtok(text,token,C)

Adds a token to the end of text but only if it's not already in text.

$addtok(a.b.c,d,46)        returns a.b.c.d

$addtok(a.b.c.d,c,46)        returns a.b.c.d

The C parameter is the ascii value of the character separating the tokens.

 Note: $addtokcs() is the case-sensitive version


Faydalı kaynaklar
1- [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
2- [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

kolay gelsin


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

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