Bu ders MDX TreeView (Mdx Ayarlar) diye nitelendirilen, artık birçok scriptte kullanılan, profesyonel script olarak nitelendirilebilecek scriptlerde kullanılan ve birçok ayarın bu tek dialogda toplandığı (Mirc Ayarlar menüsü gibi) dialogu mdx ile nasıl yapıldığını anlatır...
Ders zamanla güncellenecerek genişletilecektir.. zaman azlığı nedeniyle çok ayrıntıya girmeden genel olarak anlatacağım.. Burada şunu da unutmamak gerekir; bu ders daha çok belli bir takım birikimlere sahip olan arkadaşlara hitap eder.. Bu ders mirc script işlerine yeni başlayanlar için değildir...
Bu dersimizde kullandığımız dosyalar aşağıdadır.
Mdx.dll ve views.mdx dialogun kullanılmasında zorunlu olan dosyalardır... bars.mdx ise Dialogun üstünde kullanılan X Script Genel Ayarlar yazısının oluşturulmasında ve arka planının beyazımsı hale getirilmesinde kullanıldı.. Ben oraya resim koymak yerine kendimce böyle bir yol seçtim.. Dileyenler bu bölüme kendi resimlerini kullanırlar...
Bu Kodu alt+r ye basılıp açılan Remote penceresinde boş bir sayfaya yerleştiriyorsunuz ve scriptinizin /remote on (remotelerinin açık olduğuna) olduğuna emin olunuz...
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on *:start: { .baglantimenusu }
alias baglantimenusu { dialog -m ayarlar ayarlar | did -v ayarlar 8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 }
alias otokanal { dialog -m ayarlar ayarlar | did -v ayarlar 24,25,26,27,28,29,30,31,32,33,34,35,36 }
alias otonick { dialog -m ayarlar ayarlar | did -v ayarlar 37,38,39,40,41,42,43,44,45,46,47,48,49 }
dialog ayarlar {
title " X Script - Genel Ayarlar [ Kısayol Tuşu: F6 ] "
size -1 -1 252 200
option dbu
icon icon\Ayarlar.ico, 0
;Yan Liste
list 1, 5 26 68 149, size extsel
button "Tamam", 2, 139 180 50 15, OK
button "Yardım", 3, 20 180 45 15
;Üst yazı
text "", 4, 5 3 241 19
list 5, 200 2 25 14, size disable
text " X Script - Genel Ayarlar Merkezi", 6, 7 7 170 12
box "",7, 5 -1 242 23
;Bağlantı Menüsü
combo 8, 90 36 90 120, drop
box "Sunucu Ayarları", 9, 78 24 168 64
button "Ekle",10, 195 36 30 11
button "Sil",11, 195 49 30 11
button "Düzenle",12, 195 62 30 11
button "IRC Servere Bağlan", 13, 102 54 55 12
check "Yeni Sunucu Penceresi Aç", 14, 100 71 96 14, flat
box "Bağlantı Ayarları", 15, 78 90 168 85
edit "", 16, 135 100 90 12
edit "", 17, 135 117 90 12
edit "", 18, 135 135 90 12
edit "", 19, 135 154 90 12
text "İsim :", 20, 113 102 20 10
text "E-Posta Adresi :", 21, 87 119 48 10
text "Nick :", 22, 113 137 20 10
text "Alternatif Nick:", 23, 90 156 45 10
;Otomatik Kanal Girişi
box "Otomatik Kanal Ayarları", 24, 78 24 168 151
text "Otomatik Kanal Listesi", 25, 108 38 70 12
list 26,85 52 150 75
check Otomatik Giriş Açık, 27, 173 160 62 11, flat
button "Ekle", 28, 170 127 30 12
button "Sil", 29, 170 142 30 12
Text "Kanal :", 30, 85 129 18 11, read autohs center
edit "#", 31, 110 127 55 12, autohs
Text "Şifre :", 32, 85 144 16 12, read autohs center
edit "", 33, 110 142 55 12, autohs
Text "Server :", 34, 85 160 21 11, read autohs center
edit "irc.", 35, 110 158 55 12, autohs
icon 36, 85 33 100 57, icon\kanallar.ico, 0
;Otomatik Şifre Girişi
box "Otomatik Şifre Ayarları", 37, 78 24 168 151
text "Otomatik Nick İdentify", 38, 108 38 70 12
list 39, 85 52 150 75
check Otomatik İdentify Açık, 40, 173 160 62 11, flat
button "Ekle", 41, 170 127 30 12
button "Sil", 42, 170 142 30 12
Text "Kanal :", 43, 85 129 18 11, read autohs center
edit "#", 44, 110 127 55 12, autohs
Text "Şifre :", 45, 85 144 16 12, read autohs center
edit "", 46, 110 142 55 12, autohs
Text "Server :", 47, 85 160 21 11, read autohs center
edit "irc.", 48, 110 158 55 12, autohs
icon 49, 85 33 100 57, icon\key.ico, 0
}
alias mdx return $dll($mircdir $+ \dll\mdx.dll,$1,$2-)
alias views { return $shortfn($mircdirdll\views.mdx) }
alias bars { return $shortfn($mircdirdll\bars.mdx) }
alias ayarlariac {
var %i = did -i ayarlar 1 1,%a = did -a ayarlar 1 +e
%i iconsize normal small
%i seticon normal 0, $+ icon\genel.ico
%i seticon normal 0, $+ icon\kanallar.ico
%i seticon normal 0, $+ icon\key.ico
%i seticon normal 0, $+ icon\gorunum.ico
%i seticon normal 0, $+ icon\s3.ico
%i seticon normal 0, $+ icon\toolbar.ico
%i seticon normal 0, $+ icon\simge.ico
%i seticon normal 0, $+ icon\balon.ico
%i cb root 1
%a 1 1 Bağlantı Menüsü
%i cb root last 1
%a 2 2 Oto-Join
%a 3 3 Oto-Identify
%i cb root 1
%a 4 4 Görünümler
%i cb root last 1
%a 5 5 Switchbar
%a 6 6 Toolbar ve Diğer
%a 7 7 Nicklistesi
%a 8 8 Tray
%i cb root 1
}
alias sakla1 { did -h ayarlar 8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49 }
alias goster.baglanti { sakla1 | did -v ayarlar 8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 }
alias goster.otokanal { sakla1 | did -v ayarlar 24,25,26,27,28,29,30,31,32,33,34,35,36 }
alias goster.otonick { sakla1 | did -v ayarlar 37,38,39,40,41,42,43,44,45,46,47,48,49 }
on *:dialog:ayarlar:*:*:{
if ($devent == init) {
mdx SetMircVersion $version
mdx MarkDialog $dname
mdx SetControlMDX $dname 1 treeview hasbuttons haslines > $views
mdx SetFont $dname 9,15,24,25,37,38 +a 14 600 Arial
mdx SetColor $dname 9,15,24,37 text $rgb(0,14,255)
mdx SetControlMDX $dname 26,39 ListView report grid rowselect showsel single > $views
mdx SetFont $dname 26,39 13 600 Tahoma
did -i $dname 26 1 headerdims 100 85 110
did -i $dname 26 1 headertext +c Kanal $chr(9) Şifre $chr(9) Server
did -i $dname 39 1 headerdims 100 85 110
did -i $dname 39 1 headertext +c Nick $chr(9) Şifre $chr(9) Server
did -i $dname 26,39 1 setbkg color $rgb(248,248,255)
did -i $dname 26,39 1 settxt color $rgb(0,0,0)
did -i $dname 26,39 1 settxt bgcolor $rgb(230,230,255)
mdx SetBorderStyle $dname 4,6
mdx SetControlMDX $dname 5 toolbar flat list nodivider arrows > $bars
did -i $dname 5 1 bmpsize 30 30
mdx SetBorderStyle $dname 5
mdx SetColor $dname 5 background $rgb(245,245,245)
did -i $dname 5 1 setimage +nhd 0 icon large icon/ayarlar.ico
did -i $dname 5 1 bwidth 250 250
did -a $dname 5 1 a
mdx SetColor $dname 4,6 background $rgb(245,245,245)
mdx SetColor $dname 4,6 textbg $rgb(245,245,245)
mdx SetFont $dname 6 17 600 Tahoma
ayarlariac
sakla1
}
if ($devent == sclick) {
if ($did == 1) {
tokenize 32 $did(1,1,1)
if ($4 == 2) {
if (!$5) { goster.baglanti }
if ($5 == 2) { goster.otokanal }
if ($5 == 3) { goster.otonick }
}
}
}
Bu işlemleri tamamlayınca, Şimdi gelelim Kodun sırayla açıklanmasına...
Bu Komut ; Script açıldığı zaman Mdx TreeView diyalogumuzun açılmasını sağlar. Eğer bu komut olmassa Mdx TreeView açılışta açılmaz. Eğer başlangıçta Mdx TreeView menüsünün açılmasını istemiyorsanız Kodda bu bölümü çıkarınız...
satırları dialogların bölümlerini açılmasında kullanacağımız kodlardır.. Bunlar farklı şekildede hazırlanabilirdi, fakat böylesi hem daha anlaşılır hemde kodlamada daha basit bir yöntem.. Tam olarak bunların ne işe yaradığını söylersek;
komutunu kullandığımızda Bağlantı menüsü olan bölümdeki id'leri içeren alias komutumuz o bölümdeki idleri ( Resim 1 - Bağlantı Menüsü ) içerdiği için sadece o bölümle alakalı idleri açar ve dialogda yer alan diğer idler gösterilmez..
komutunda da sadece o bölümdeki id'leri içeren alias komutumuz o bölümdeki id'leri içerdiği için sadece o bölümle alakalı idleri açar ve dialogda yer alan diğer id'ler gösterilmez.. Yani Bağlantı menüsünde yer alan o idler bu bölümü açtığımızda gösterilmez, saklanır. Böylece hiç bir bölüm birbiriyle karışmaz..
komutunda da Otomatik identify bölümündeki id'leri içeren alias komutumuz o bölümdeki id'leri içerdiği için sadece o bölümle alakalı idleri açar ve dialogda yer alan diğer id'ler gösterilmez..
Görüldüğü gibi böyle bir yöntemle dialogların bölümlerini açtırmak basit bir yöntem olduğu gibi, düzenlenmesi de kolaydır. Hataların düzeltilmesinde, anlaşılmasında da size kolaylık sağlar..
Gelelim Ana dialogumuza; dialogu oluştururken bölüm bölüm başlık yerleştirdim kolaylık olması adına.. Tavsiyem sizde öyle edin.. Bu dialog oluşturma olayına pek girmiyorum ( çünkü bunun dersi zaten var ) ..
--> Bu dialogumuzun boyutlarını içeren kodumuz.. 252 sayısı genişliği belirtirken, 200 sayısı uzunluğunu belirtir..
--> dialogumuzun yapımında kullandığımız konumlandırma sayların ( sağ, sol üst, alt gibi ) hesaplanacağı yol... Bunun bir diğer seçeneği option pixels 'dir. Fakat bunu kullanırsanız tüm dialogda yer alan bu sayılarla oynamanız gerekecektir.. options pixels yöntemi daha çok, ince ayar gerektiren dialoglarda kullanılır..
--> Dialogumuzun Ana iconu..
yukarıdada dialoglarda yer alan bölümlere başlık koyarak işleri kolaylaştıracağız demiştik.. Burada ; Yan Liste bu başlıktır. yani komutsal anlamda hiç bir etkisi yoktur dialoga. Sadece o bölümlere giren kod bölümü nereler diye başlık başlık yaptım ben.. İsterseniz silebilirsiniz..
--> Dialogumuzun Sol Yan liste menüsüdür.
1 Sayısı o Listenin ID numarasıdır.
- 149 Sayısı ise uzunluğunu belirten sayılardır..
Bu satırlar dialogun üstünde olan X Script Genel Ayarlar Merkezi yazısını oluşturan ve o bölümün rengini krem-beyazımsı renk haline getiren kodlardır. Bu satırları silebilir yerine resminizi içeren bir kod satırı ekleyebilirsiniz.. Ben bir daha resim ayarlamak ile uğraşmayayım diye böyle bir yol seçtim..
Bu satırlar bağlantı menüsünü oluşturan kodlardır.. (Resim-1) Zaten başlıkla bu belirtilmiştir...
Bu satırlar Otomatik Kanal girişini içeren kodlardır.. (Resim-2) Zaten başlıkla bu belirtilmiştir...