Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
| mIRC Dialog Hazırlama
DialogLar
Dialoglar şüphesiz "custom window" lardan sonra mIRC nin en göz alıcı bölümleridir.
mIRC içinde 2 çeşit dialogtan bahsetmet mümkündür.
1) /dialog komutuyla oluşturulabilen dialoglar (Modeless).
2) Remotelerde $dialog identifier leriyle oluşturulan dialoglardır.
Her iki tür dialoğun açıklaması aşağıdadır
/Dialog Komutu
/dialog komutu ile dialog oluşturmak için -m (modeless) işareti kullanılır. Bu tür
dialoglarda scriptten "halt" yada "return" değerleri çağırılamaz.
Aşağıda /dialog komutunun işlevsellik kazandığı işaretler ve bunların açıklamaları bulunmaktadır.
/dialog -mdtsonkcvie isim [tablo] [x y w h] [yazı]
"-m" Modeless tarzı dialog oluşturur. Kullanımı: /dialog -m dialogismi tablo
"-a" -m, ile kullanıldığında o anki aktif pencereden özelliği kendisine alır.
"-x" Dialoğu kapatır (tüm nesnelerde kullanılabilir)
"-d" Dialogu desktop penceresi olarak atar, -m ile birlikte kullanılır.
"-t" Dialogun title sini ayarlamaya yarar. Kullanımı: /dialog -t dialogismi yazı
"-s" Dialogun boyunu ve pozisyonunu değiştirir. Kullanımı: /dialog -s dialogismi x y w h
"-r" Dialogu ortalar
"-bp" Boyutta dbu veya pixel olarak değişiklik yapar.
"-o" Dialogu herzaman tüm pencerelerin üstünde gösterir (ontop).
"-n" Bir üstteki -o özelliğini sıfırlar.
"-k" "Ok" butonuna basar (tamam).
"-c" "Cancel" butonuna basar (iptal).
"-v" Dialogu aktif pencere olarak tanıtır.
"-ie" Eğer dialog desktop(-d) olarak oluşturulduysa bu dialoga minimize(simge durumuna küçült) veya maximize(önceki boyut-ekranı kapla) özellikleri katar.
$dialog() identifier
Dialoglarda $dialog() identifieri modal lar oluşturur, bunlar dialog kapanıncaya kadar beklerler, değer döndürürler. Bu tür dialoglar kullanıcı tarafından yapılan girdilerle kontrol edilebilir. Yani istek olmazsa, cevap vermezler. $dialog() identifier diğer identifier lerle aynı şekilde çalışır:
%sonuc = $dialog(isim,tablo[,parent])
Not: Bu tür dialoglar remotelerden "event" çağıramazlar (remote eventleri kullanılamazlar)
Bununla beraber $dialog(isim/N) identifier ile o an açık olan dialogları kontrol edebilirsiniz. "N" ne belirtilirse, geri dönüşü "N"inci açık dialogtur. eğer "N" sıfır ise, geri dönen değer toplam dialog sayısı olacaktır.
$dialog() bununla beraber şu özellikleri barındırmaktadır.:
x,y,w,h Dialogun boyutunu ve bulunduğu pozisyonu belirlerler.
"cw,ch" Kullanıcı alanındaki dialogun yüksekliğini ve genişliğini belirtir.
"title" Dialogun title kısmını belirtir.
"modal" Dialog türü "Modal" ise "$true" değerini değilse "$false" değerlerini döndürür.
"table" Dialogun kullandığı dialog tablosunu döndürür.
"ok" "Ok" butonuna atanan "#ID" yi döndürür (eğer bir "ok" butonu belirttiyseniz).
"cancel" "Cancel" butonuna atanan "#ID" yi döndürür (eğer bir "cancel" butonu belirttiyseniz).
"result" "Result" butonuna atanan "#ID" yi döndürür (eğer bir "result" butonu belirttiyseniz).
"focus" Varolan Focus kontrol #ID sini döndürür.
"tab" Varolan, görünen "Tab" #ID sini döndürür.
"active" Eğer dialog aktif pencere ise "$true", değilse "$false" değerlerini döndürür.
Dialog Tablosu
Tablo ve bu tablonun öğeleri aşağıda yer almaktadır.
dialog isim {
title "yazı"
size x y w h
option tür (dbu, pixels)
text "yazı", id, x y w h, stil (right, center)
edit "yazı", id, x y w h, stil (right, center, multi, pass, read, return, hsbar, vsbar, autohs, autovs, limit N)
button "yazı", id, x y w h, stil (default, ok, cancel)
check "yazı", id, x y w h, stil (left, push, 3state)
radio "yazı", id, x y w h, stil (left, push)
box "yazı", id, x y w h, stil
list id, x y w h, stil (sort, extsel, size, vsbar, hsbar)
combo id, x y w h, stil (sort, edit, drop, size, vsbar, hsbar)
icon id, x y w h, dosyaismi, index, stil (noborder top left bottom right)
link "yazı", id, x y w h
tab "yazı", id, x y w h
tab "yazı", id
menu "yazı", menuid [, menuid]
item "yazı", id [, menuid]
item yazı, id [, menuid]
}
"yazı" ile belirtilen yerlere yazılan yazılar default olarak dialoglarda görünür, #ID numaraları ise "unique" yani ardaşık sayı olmalıdır(mecbur değil fakat aynı numaraya sahip olan iki özellik çakışır ve dialog çalışmaz), x y w h ise pozisyon ve boyutları belirtmektedir, ve "stil" ler ise yukarıdaki eventlerin herbirinin kendi sahip olduğu özelliklerdir ve sadece yukarıdaki çeşitlere sahiptirler.
Diğer Stiller
İsteğe bağlı olarak kullanılabilinecek diğer tür stiller:
"disable" Kontrolü kullanılmaz hale getirir.
"hide" Kontrolü gizler
"group" Grubu başlatır.
"result" Kontrol identifies
Tab Kontrol
"Tab" ları bilmeyenimiz yoktur herhalde. Kısaca dialoglar içinde yer den kazanmak ve daha fazla iş yapmak için kullanılırlar. Aşağıda bir örneğini görmektesiniz.
dialog test {
title "mIRC"
size -1 -1 110 100
option dbu
tab "m", 1, 5 5 100 90
tab "I", 2
tab "R", 3
tab "C", 4
button "m is for ... ", 11, 30 50 50 24, ok tab 1
button "I is for Internet", 12, 30 50 50 24, tab 2
button "R is for Relay", 13, 30 50 50 24, tab 3
button "C is for Chat", 14, 30 50 50 24, tab 4
}
"/did -fu" ile aktik olan Tab focusunu değiştirebilirsiniz.
Örnek:
Bir dialogumuz ve iki "Tab"ımız var. Biri "Korumalar" diğeri "Away Ayarları".
Dialogu açtığınızda doğal olarak ilk tab görünecektir. fakat siz ikinci tab oto açılsın istiyorsunuz. Bu durumda "/did -fu" özelliğini kullanmalısınız.
"/did -vh" ile tabları "göster\gizle" özellikleriyle gösterip-gizleyebilirsiniz.
Menüler
Dialoglarda yer kazanmak ve daha fazla iş yapabilmek için kullanılan bir diğer nesne ise "Menüler ve Submenüler"dir.
Menü ve Submenü öğeleri:
dialog isim {
menu "yazı", menuid [, menuid]
item "yazı", id [, menuid]
item break, id [, menuid]
}
Menülerde dikkat edilmesi gerekn en önemli konu #MenuID lerin yerleridir.
"Menü" nesneleri en üstte, "item" nesneleri onların altında yer almalıdır.
Bir "item"in bir "menü" altında olduğunu belirtmek için, item den sonra gelen #ID hangi "menü" altına atılmak isteniyorsa o "Menü" nün [menuid] sini almalıdır.
Örnek olarak, aşağıda mIRC editörünün "Menü" sistemi verilmiştir:
dialog test {
title "mIRC"
size -1 -1 110 100
option dbu
menu "&File", 60
item "&New", 70
menu "&Load", 80, 60
item "&Script", 90
item break, 100
item "&Users", 110
item "&Variables", 120
item "&Unload", 130, 60
item break, 140
item "&Save", 150
item "&Save As...", 160
item "Save &All", 170
item break, 180
item "Save && &exit", 190, ok
item "&Cancel", 200, cancel
}
"/did komut" komutuyla (aşağıda anlatılıyor) menü "item"lerine enable/disable, check/uncheck, append, delete, insert ve overwrite özellikleri verebilirsiniz.
Bir "Menü" ye submenu eklemek için: /did -a isim [menuid] [newid] [yazı]
Bir "Menü" ye item eklemek için: /did -i isim [id] [newid] [yazı]
Dbu & Pixels
Dbu ve Pixels özellikleri mIRC dialoglarının ve bu dialogların nesnelerinin boyutunu ayarlaması için kullanılır. Eğer bu "option" lardan birini kullanmazsanız mIRC size default olarak Pixels özelliğini verir. DBU (double) dialogunuzu daha dolgun göstererek boyuttan tasarruf etmenizi sağlar.
Identifier $dbuw ve $dbuh Pixel ve Dbu özeeliklerini döndürürler.
"Ok" ve "Cancel" Buttonları
Dialog kullanırken "Ok" veya "Cancel" özelliği içeren butonlardan en az birini kullanmak zorundasınız. Kullanıcı ne zaman bu butonlardan birine tıklasa dialog kapanacaktır. Diğer dialog neslerine verilebilinen "sclick" (aşağıda anlatılıyor) komutuyla bu butonlara işlevsellik kazandırabilirsiniz.
Default Pozisyon ve Boyut
Dialog boyutları ve mIRC programı içinde dialogun bulunacağı özgün yeri belirten parametremiz -1 dir. Eğer "x y" yi "-1 -1" olarak belirtirseniz dialogunuz mIRC programı içinde tam ortada oluşur. Boyutlarda ise dialog açılırken dahi mevcut boyutları değiştirmek mümkündür. Bunu biraz sonra anlatacağımız "init" özelliğinde /dialog -s name x y w h komutuyla yapacağız.
On Dialog Event
Dialog event leri oluşturduğumuz dialoğa her türlü işlevselliği verebildiğimiz alandır. Bir butona tıklanında ne olacak, bir kutuyu işaretlediğinizde ne olacak vs. gibi tüm işlemlerimizi burada yapmak zorundayız. Tabiki sadece "nesne"lerle kısıtlı da değiliz. Dialogumuz açılırken neler yapılacak (eski işaretki ayarları geri yükleme vs.) gibi işlemler içinde kullanılacak tek yer "dialog eventleridir."
Kullanımı:
on 1:dialog:isim:event:id: {
echo $dname $devent $did
}
Event yazan yerde aşağıdaki özelliklerden biri olmalıdır.:
"init" Dialog görünürken(açılırken) hemen önce dialoga yazılacak veya verilecek özellikler bu event le belirtirlir. Örneğin eski ayarların geri yüklenmesi gibi özellikler bununla belirtilir.
"edit" Editbox, Listbox ve Combo box taki yazıları değiştirmek için kullanılır.
"sclick" List ve Combo box ta tek tıklama, checkbox,radiobox ta işaretleme- işareti kaldırma yada bir butona basma işlemini belirtir.
"dclick" List ve Combo box ta double click(çift tıklama) işlemi
"menu" Menüdeki bir itemi seçme
/did Komutu
The /did komutu aşağıdaki özelliklerle beraber dialogtaki controlün değerini değiştirir. Örneğin bir yazıyı değiştirmek, bir butona focus vermek, ya da listbox tan bir satır silmek vs... gibi tüm işlemlerimizi bu komutla yapıyoruz..
/did -ftebvhnmcukradiogj isim id [n] [yazı | dosyaismi]
"-f" Focus #ID sini belirler
"-t" Default Button #ID sini belirler
"-e" #ID Kullanılabilir
"-b" #ID Kullanılamaz
"-v" #ID Görünebilir
"-h" #ID Gizle
"-n" Kullanılabilir Editbox
"-m" Kullanılamaz Editbox
"-c" İşaret koy: Checkbox/Radiobutton List/Combo satır
"-u" İşareti kaldır: Checkbox/Radiobutton List/Combo satır
"-k" "-cu" ile kullanılır ve iki ayrı listboxtaki seçili nesneleri korur.
"-r" #ID deki tüm yazıları temizler
"-a" Belirtilen #ID ye yazı yazar
"-d" [N]. satırı siler.
"-i" [N]. satıra yazı ekler.
"-o" [N]. satırdaki yazıların üzerine yeni yazı yazar.
"-g" İcon kontrol bölümüne İcon\bmp ekler\değiştirir. Kullanımı: /did -g name id [n] filename
"-z" Listbox ın "horizontal scrollbar" yüksekliğini resetler.
"-j" Editbox taki ayarları resetler
Eğer birçok modifikasyonu ayrı #ID lerde ve aynı anda yapmak istiyorsanız aşağıdaki örnekte gösterildiği gibi ID leri birer virgül(,) ile ayırarak yapabilirsiniz.
Örnek : /did -b name 2,12,14,16
Editbox ta belirttiğiniz sıradaki yazıyı seçmek için: /did -c isim id [n] [start [end]].
$did(isim,id)
Dialoglarda bir kontrolün değerini veya bir ayarı değiştirmek için $did() dialog id identifier ini kullanıyoruz. Dialogta yapmak istediğini işlemler sırasında en çok kullanacağınız bu değişken ile kullanım çeşitleri aşağıda yer almaktadır.
$did(isim,id)
$did(isim,id,N)
Eğer dialogunuzda eventleri kullanmak istiyorsanız, aşağıdaki isimler altında kullanınız.
$did() parametresinin sağladığı özellikler:
"text" [N]. satırdaki yazıyı belirtir.
"len" Satır uzunluğunu ya da seçili [N]. satırı belirtir.
"lines" Satırları belirtir.
"sel" Satır uzunluğunu ya da seçili [N]. satırı belirtir. Eğer [N]. satır sıfır(0) ise bu özellik seçili satırı belirtir.
"seltext" Editbox tan seçilen yazıyı ya da Listbox tan ilk seçilen ilk "item" i belirtir.
"selstart" Editbox içindeki satırda seçme işleminin başyacağı karakteri gösterir.
"selend" Editbox içindeki satırda seçme işleminin biteceği karakteri gösterir.
"edited" Eğer Editbox taki yazı değişmiş ise "$true" parametresini gösterir.
"state" Eğer (0) olursa "off", (1) olursa "on" ve (2) olursa belirsiz.
"next" Bir sonraki "Tab" kontrolünü belirler.
"prev" Bir önceki "Tab" kontrolünü belirler.
"visible" Eğer kontrol görünür(visible) ise "$true" parametresini , değilse "$false" parametresini alır.
"enabled" Eğer kontrol kullanılabilir(enabled) ise "$true" parametresini , değilse "$false" parametresini alır.
Combobox ta "Edit Kontrol" [N] in değeri sıfır(0) a eşittir.
$didwm(isim,id,wildtext,N)
Satır numarası - matches wildtext i döndürür, aramayı [N]. satırdan [N2]. satıra kadar yapar ve bu satırları seçme imkanınız vardır.
$didtok(isim,id,C)
List\Combo\Edit boxlardaki itemlerin Jeton(tokenized) listesi için kullanılır. Bir diğer kullanım şekli: /didtok name id C yazı |