Untitled Document
mIRC in Italiano - Script - Forum - Imposta come Home Page - Aggiungi ai Preferiti - Home - Chat
Utenti connessi: - Visitatori oggi: - Visitatori totali: - Pagine viste oggi:


NewsLetter


localmirc
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----

-
----
-
-
-
-
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----

----
mIRC Scripting: DDE Visual basic e mIRC
Il seguente tutorial spiega come sia possibile far comunicare mIRC e un’altra applicazione scritta in VB6. Per capirne a pieno il contenuto è necessario avere una buona conoscenza del mIRC Scripting e una base sulle funzioni principali del Visual Basic.

Iniziamo subito col creare un piccolo software in grado di eseguire un alias precedentemente impostato; leggere le variabili da questo create e interpretare gli identificatori del mIRC. Inoltre useremo il nostro programma per tenere in constante controllo lo stato del mIRC, rilanciandolo ogni qual volta questo venga chiuso.

Apriamo l’editor del Visual Basic e creiamo una finestra come rappresentato nella figura:

DDE Visual basic e mIRC

Appena finito ci spostiamo nel codice ed inseriamo quanto segue:


'--------- INIZIO CODICE VISUAL BASIC ---------

Private status_mirc As String

Private Sub Form_Load()
status_mirc = "Inattivo"
'Setto la proprietà Locked dei diversi controlli su FALSE in modo da non consentirne la modifica
txtCMD.Visible = False
txtServer.Locked = True
txtPorta.Locked = True
txtPath.Locked = True
Timer.Enabled = False
'Richiamo la Sub Disable
Disable
End Sub

Private Sub cmdAvvia_Click()
If (cmdAvvia.Caption = "Avvia") Then
cmdAvvia.Caption = "Ferma"
txtServer.Enabled = True
txtPorta.Enabled = True
txtPath.Enabled = True
lblServer.Enabled = True
lblPorta.Enabled = True
lblPath.Enabled = True
txtMIRC.Enabled = False
'impostiamo l'intervallo del timer a 10 secondi.
Timer.Interval = 10000
Timer.Enabled = True
ctrl_dde

ElseIf (cmdAvvia.Caption = "Ferma") Then
Disable
Timer.Enabled = False
End If
End Sub

Private Sub ctrl_dde()

On Error GoTo errori

'In questa prima parte diciamo al mirc di eseguire l'alias ctrl_dde
txtCMD.LinkTopic = txtMIRC & "|command"
txtCMD.LinkItem = "/ctrl_dde"
txtCMD.LinkMode = 2
txtCMD.LinkPoke

'L'alias invocato precedentemente salva nel mirc due variabili: %servers_dde e %porte_dde
'Queste due variabili vengono trascritte rispettivamente negli oggetti txtServer e txtPorta
txtServer.LinkTopic = txtMIRC & "|evaluate"
txtServer.LinkItem = "%servers_dde"
txtServer.LinkMode = 2
txtServer.LinkRequest

txtPorta.LinkTopic = txtMIRC & "|evaluate"
txtPorta.LinkItem = "%porte_dde"
txtPorta.LinkMode = 2
txtPorta.LinkRequest

'Riportiamo nell'oggetto txtPath il percorso dell'eseguibile del mIRC
'che ricaviamo valutando l'identificatore $mircexe
txtPath.LinkTopic = txtMIRC & "|evaluate"
txtPath.LinkItem = "$mircexe"
txtPath.LinkMode = 2
txtPath.LinkRequest

status_mirc = "Attivo"

Exit Sub

errori:
'Valutiamo il numero di errore.
Select Case Err.Number
'Se il numero di errore e' 282 significa che il collegamento DDE non e' attivo
'Questo puo' significare due cose: o che il nome DDE non esiste, o che il programma avente quel nome
'non è più in esecuzione
Case 282
If (status_mirc = "Inattivo") Then
MsgBox "Server DDE non trovato! Specificare un nome valido"
cmdAvvia_Click

'Se il mIRC era stato visto come Attivo, ma ora non lo è più, viene rieseguito
ElseIf (status_mirc = "Attivo") Then Shell (txtPath.Text)

Else: Exit Sub

End If

End Select

End Sub

Private Sub Timer_Timer()
ctrl_dde
End Sub

Private Sub txtMIRC_Change()
'Se non e' presente nessuna stringa di testo all'interno del controllo txtMIRC disabilito il controllo cmdAvvia
If (Len(txtMIRC.Text)) Then cmdAvvia.Enabled = True Else cmdAvvia.Enabled = False
End Sub

Private Sub Disable()
cmdAvvia.Caption = "Avvia"
txtServer.Enabled = False
txtPorta.Enabled = False
txtPath.Enabled = False
lblServer.Enabled = False
lblPorta.Enabled = False
lblPath.Enabled = False
txtMIRC.Enabled = True
status_mirc = "Inattivo"
End Sub

'--------- FINE CODICE VISUAL BASIC ---------
A questo punto possiamo compilare il lavoro appena creato e spostarci sul mIRC editor. Andiamo nella sezione alias ed incolliamo questo codice:


;--------- INIZIO CODICE mIRC ---------

ctrl_dde {
if ($server) {
unset %servers_dde %porte_dde
var %c = $scon(0), %i = 1
while (%i <= %c) {
%servers_dde = $instok(%servers_dde, $scon(%i).server, $calc($numtok(%servers_dde,44) + 1), 44)
%porte_dde = $instok(%porte_dde, $scon(%i).port, $calc($numtok(%porte_dde,44) + 1), 44)
inc %i
}
}
}

;--------- FINE CODICE mIRC ---------


Come potete notare questo alias crea semplicemente due variabili nelle quali salva i server dove attualmente e' connesso e le porte di questi.

La programmazione del nostro lavoro è giunta al termine; ora è il momento di testarlo… Apriamo il mIRC e successivamente il nostro programma, scriviamo in quest' ultimo il nome DDE usato dal mIRC (di default è mirc, in ogni caso potete scoprirlo tramite l'identificatore $ddename) ed infine spingiamo sul pulsante Avvia.
Se non sono stati commessi errori i campi di testo server, porte e percorso verranno riempiti dalle informazioni prelevate dal mIRC. Adesso provate a chiudere il mIRC (il programma deve restare aperto) e noterete che dopo alcuni secondi il mIRC verrà rieseguito in automatico :).

Con questo è tutto…

Guerrjero
www.tuttoirc.it




  Ultime dal forum mIRC Scripting

Vai al forum
Ultimi script e addon inseriti
Diablo III (14032)
Fancazzista Scr... (18042)
Sensuality scri... (7498)
Grand Theft Aut... (5046)
Stealth Script ... (8196)
-SagittarioScri... (17891)
Paradise Script (13432)
Trivia Game 200... (11621)
Ircap Script 8.... (5079)
RawScript 2.0 (8295)


 

 



Cerca nel sito

Le ultime news:



Sondaggio
Cosa vorresti di nuovo?

Risultati | Archivi

Statistiche Download
Database:
283 Files
241 Mb
Scaricati:
2632635 Files
Totale: 5556635Mb

Upload
Hai realizzato uno Script? Una addon? Una tcl? Un articolo? Qualsiasi cosa? Mandacelo ora! Utilizza il form upload per inviarci il tuo materiale e se lo riteniamo idoneo lo vedrai pubblicato nel portale!
[ Upload ]

Chat
Inserisci il tuo nick:



| Contattaci | Pubblicità | Staff |
Il presente materiale è Copyright TuttoIRC.it 2005. Leggi il Disclaimer