![]() |
dialog tasarladım fakat işlem yapptırmayı beceremedim arkadaşlar dialog yaptım fakat buna işlem yaptırcam ban ayardımcı olurmusunuz on !1:JOIN:#:/msg $chan Welcome to $chan $nick mesela burdaki welcome mesajını dialogtan değiştirmek istiyom nasıl yapabilirim dialogta bir pencere açılcak oraya yazıcam mesajı bu mesaj komuttaki bulunnan welcome mesajı yerine gidicek ? ayrıca bir sorum daha olucak sizlere dialog yaparken mesela ben dialog penceresi üzerinde yazı yazma yeri yapıyorum ama mesela bir butona basarak bir yazı yazma penceresi açılmasını yapamıyorum bunu da anlatırsanız çok makbule geçer ? |
ilk önce kendi yaptıgın dialogların kodlarını buraya yazsan bence daha iyi olur :) bana kalsa dialog yapmam welcome yerine $input veya $$? kullanırımda! |
mesela şöle bişey var bunun üzerinde bana gerekli açıklamayı yaparsan çok makbule geçersin bunu anlarsam mantığı kavrıcam dialog Dialog1 { title "Dialog1" size 177 106 350 255 check "aç", 1, 33 110 27 13 button "mesaj", 2, 71 105 75 25 button "&Hide", 3, 0 0 0 0, hide Ok } bu dialoğun şöle işlemesini istiyorum 1.mesela burda chek işareti konulan bir yer var orayı işaretlediğim zaman bu komut kullanıma açık olucak işaret kalktığında bu komut çalışmıycak 2. mesaj butonuna bastığımda bir yazı penceresi açılmasını istiyorum(ben beeceremedim ) ve buraya yazdığım yazı ordaki welcome yazısı yerine geçsin tabi sen input filan yaz diyosun bunu bu dialog üstünde ve komut üstünde gösterirsen sevinirim ark |
dialog yapmadan su sekild eyapila bilir dedigin ama isine yararsa menu menubar,channel { karsilama mesaji gir: /set %karsilama.msg $$?="Lutfen mesajinizi yaziniz ->>` su anki mesajiniz %karsilama.msg ` " } } on !1:JOIN:#:/msg $chan %karsilama.msg $chan $nick denemedim ama calisir tahmin ediyorum |
ark teşekkür cevap için ama ben bir dialog penceresinde bi kaç şey toplamak istiyorum o yüzden yani bunu anlarsam diğerlerini de yapıcam buna göre ok senin verdiğini kontrol ettim çalışıyo sadece bu kısmı yeterli oluyo bunda karsilama mesaji gir: /set %karsilama.msg $$?="Lutfen mesajinizi yaziniz ->>` su anki mesajiniz %karsilama.msg ` " bide remotedeki işte dialog olarak yardımcı olursanız sevinirim lütfen |
dialog Test { title "Test Dialoğu 1" ;Altaki -1 lerin anlamı ekranın tam ortasıdır size -1 -1 120 33 check "aç", 1, 5 10 30 14 button "mesaj", 2, 40 5 75 25 button "&Hide", 3, 0 0 0 0, hide Ok } ;Dialoğumuzdaki yaptığımız işleri görmek için aşağıdaki event gerekli on *:dialog:Test:*:*: { ;dialoğumuz ilk açıldığında yapılacak işlemler ben burada en son check box seçilimi değilmi onu kontrol ettirdim if $devent == init { if %::join-on-off == 1 { did -c $dname 1 } } ;dialoğumuzda mausenin sol tuşu ile bir kere tıkladığımızda aktif olur if $devent == sclick { ;Dialok yaparken her kontrole verdiğimiz id ler buralarda işe yarıyor :) hangi id ye sol tıkladık if $did == 1 { ;eğer checkboxa tıkladıysak onu %::join-on-off değişkenine atıyoruz set %::join-on-off $did(1).state } if $did == 2 { if $input(Lütfen karşılama mesajını giriniz örn: $+ $crlf $+ Welcome to $!chan $!nick,e,Test dialoğu input titlesi(başlığı),%::joinmesaji) { set %::joinmesaji $ifmatch } ;Burada $input(içeridekimesaj,e[yazı yazılan mircnin internal input dialoğu için],başlığı,textkısmına yazılacak yazı) } } } en son olarakta on !1:JOIN:#:/msg $chan Welcome to $chan $nick yi on !1:JOIN:#: if %::join-on-off == 1 { /msg $chan %::joinmesaji } olarak değiştirmen gerek. birde en son olarak $crlf yeni satıra geç demek enter tuşu mantıgı açılımı (carriage return field, türkçesi yani satır olarak çevirebiliriz), $+ larda aralarında yazılan kelime ve değişkenleri birleştirir örn: selam $+ nasılsın yazarsak selamnasılsın olur. |
son bişey sorucam bu diologtan sonra remotedeki yazdığımız koda aktarmaktaki arda yazdığın kodları tasarlamaya yardım eden prog varmı diolog tasarımı yapan prg lar gibi |
benim bildiğim yok orası artık sizin kodlamanıza kalmış zaten orada dialog ile ilgili olan kodları verdim dclick, vs vs mirc helpinde var $input mirc nin başka bir komutu normalde dialogla alakası yoktur. bu arada dialog yaparsanız tekrar /dialog -m test test diye girerseniz bir hatayla karşılaşırsınız aynı dialog acık diye bunu onlemek için alias test { if !$dialog(Test) { /dialog -m Test Test } } gibi yazarsanız dialog açıksa tekrardan açmaya kalkmaz ve hata cıkmaz |
özür ark ama ben bu kodları *.mrc olarak kaydettim addon gibi scripte yükleme yapmak istiyom ne remoteye ekliyo ne popupa ekliyoo kodları sebebi nedir bunun ? addon olarak eklerkende ayrıyetten ek komut gerekiyomu bu arada ark bahsettiğin alias test { if !$dialog(Test) { /dialog -m Test Test } } bu kodu nereye koyucaz ? ark çok soru sordum umarım kızmazsın :) ama gösterdiğin alaka için gerçekten saol böle ilgi olduğu için bende yeni katıldım buralarda gezinicem artık :) bu sekilde kaydettim xxx.mrc dialog Test { title "Test Dialoğu 1" size -1 -1 120 33 check "aç", 1, 5 10 30 14 button "mesaj", 2, 40 5 75 25 button "&Hide", 3, 0 0 0 0, hide Ok } on *:dialog:Test:*:*: { if $devent == init { if %::join-on-off == 1 { did -c $dname 1 } } if $devent == sclick { if $did == 1 { set %::join-on-off $did(1).state } if $did == 2 { if $input(Lütfen karşılama mesajını giriniz örn: $+ $crlf $+ Welcome to $!chan $!nick,e,Test dialoğu input titlesi(başlığı),%::joinmesaji) { set %::joinmesaji $ifmatch } } } } on !1:JOIN:#: if %::join-on-off == 1 { /msg $chan %::joinmesaji } yardım için teşekürler ayrıca o dialog hata komutunu nereye yazmamız gerekli |
en basiti komut olarak /load -rs dosyayoluvedosyadile.uzantısı yüklkemesi gerekli ayrıca remotede (alt + r) de File menüsünden > Load'tan yükleyebilrisin olmadı remoteyi acar File menüsünden > New dersin oraya kodları yapıştırısın :). |
load ile yapmıştım ama dediğim gibi kabul etmiyo load script yazıyo statusta ama remoteye baktığımda hiç bişiyok bu 6.16 versiyonda bir koruma filanmı var 6.16 yükleyemediklerimi 6.12 ye aynı şekilde yüklüyorum bu 6.16 da böle sorun yaşıyomusun ark saol |
yok hiçbir verisiyonda başıma öyle bir şey gelmedi su an kullandığımda 6.16 ondada sorun olmadı o zaman dediğim giib remotede File > new ile yeni script oluşturup içine kopyala. |
ok tamam öle yaptım bu sefer alıyoo remoteye ben yükledim remoteye ama bu sefer bu dialogu aaçamıyorum :( dialog penceresini nasıl açıcam ? sorulşar için kusura bakma ark böle senide yoruyom bu arada mmirci sildim yeniden yükledim yüklüyoo ok oldu şimdi bu dialog penceresini açamadım bi okaldı |
alias test { if !$dialog(Test) { /dialog -m Test Test } } yukarıdaki koduda daha önce dediğim gibi remoteye kodu kopyaladığın yere kopyala en uste veya en alta sonra komut olarak /test yaz mircde. |
alias test { if !$dialog(Test) { /dialog -m Test Test } } ok ark bunu yazdıktan sonra açıldı daha önce yaıyodum açmıyodu saol teşk bu arada ark mrc olarak yüklemede bütün komutlar remoteye gidiyo popup olan yere hiç komut gitmiyo normalde dialoglar popup ta olması gerekmiyomu ark bide şunu merak ediyorum bazı scriptlerde remotede o kadar komut yok mırc klasöründe bulunan dosyalarla işlem yapıyolar remoteden bunu nasıl mırc klasöründeki dosya içindeki komutlara yönlendirebiliriz remotenin bir kod alma sınırı var sanırım dim ? |
remotede koldarın başında alias yazıyorsa bunları alias ini silip aliasese kopyalayabilirsin alias test { if !$dialog(Test) { /dialog -m Test Test } } bu kodu aliasese yazacak olursak test { if !$dialog(Test) { /dialog -m Test Test } } senin dediğini bu cevaplıyor addon olarak düşünürsen herşeyi remoteye yazarsın ama script yazarsan ki genelde sadece eventsleri (on dialog, on join vs vs) remoteye yazsan onunkadar ve daha fazla kodu aliasese yazabilirsin ki remotede fazla gözükmemesinin sebebi budur. popups dialog değildir menülerdir mause ile sağ tıklayınca acılan menüler. |
ok anladım saol bide şey isticem senden timer omutu varyaa mesela o benim koddaki mesj atıyo yaa onu 3 sn sonra atsın timer 0 3 yazsak hep 3 saniyede bir mesaj atacak bir jere atması için nasıl olucak 3 sn sonra bi r kere yazıcak ? |
timer 1 3 olacak |
ok saol şimdi ark böle bir problem oldu şimdi bir dialog içinde 5 6 mesaj giriş kutusu 5 6 tane check atma yeri olunca ne yapacaz peki ? nasıl bunları birbirinden ayırıcam mesela şöle bişey 3 tane var bunda nasıl yapıcaz yönlenndirmeyi 3 de farklı işlem yapıcak alias mesaj { if !$dialog(mesaj) { /dialog -m mesaj mesaj } } dialog mesaj{ title "mesaj" size 179 108 350 255 button "Mesaj girin", 1, 71 25 75 17 check "aç", 3, 37 23 35 13 check "aç", 4, 33 73 27 13 button "Mesaj Girin", 6, 73 71 75 17 check "aç", 7, 32 118 75 13 button "Mesaj Girin", 8, 71 118 75 17 button "&Hide", 10, 0 0 0 0, hide Ok } |
bide en alta okey butonu ekliyelim buna dialogtan çıkarken ok e basalım |
f $did == 2 { if $input(Lütfen karşılama mesajını giriniz örn: $+ $crlf $+ Welcome to $!chan $!nick,e,Test dialoğu input titlesi(başlığı),%::joinmesaji) { set %::joinmesaji $ifmatch } ;Burada $input(içeridekimesaj,e[yazı yazılan mircnin internal input dialoğu için],başlığı,textkısmına yazılacak yazı) } sana verdiğim örneğe bakarsan buradaki $did == 2 buttonun id si sen buraya button "Mesaj Girin", 6, 73 71 75 17 butonu eklemişsin bunun id si ilk rakam olan 6 dır demekki on *:dialog.. nın içindeki $devent == sclick in icine if $did == 6 { komutların } gibi eklersen o duğmenin ne iş yapıcagını anlayabilirsin komutların yerine kendi komutlarını yazıcaksın örnekteki gibi ok buttonu içinde button "&Hide", 10, 0 0 0 0, hide Ok zaten olan duğme onu button "Kapat", 10, 2 2 50 25, cancel olarak değiştir sol ustte gozukecek onuda mirc helpten button "ismi", idsi, x y w h buradaki x y bildiğimiz kartezyen koordinatlar w genişligi, h yuksekligi, bundan sonrası sana kalmış eğer scripting bilen bir tanıdığın varsa sana realde anlatsa çok daha iyi olur keza bukadar şeyi yazmak zor oluyor :), yoksa oyle kişi kodun çalışan halini yedekle kurcala. |
valla saol arkadaş ellerin dertgörmesin bilgiler baya işime yaradı butondan sonrakiler onun id si olduğuunu bilmiyodum aslında biraz qbasic biliyorum komutları az çok irdeleyebiliyorum yinede ama mirc te bazı şeyler farklılık var haliyle bunlarıdayvaş yavaş sökecez |
Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 18:03. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk