problema con un log viewer

yo tenia la carpeta del mirc en c:\archivos de programa\ y me puse un logs viewer, y cuando quiero ver un log me sale este error:
* /loadbuf: unable to open ‘C:\ARCHIVOS’

despues lo pasa a c:\Mirc y el viewer anda lo mas bien
que puedo hacer para solucionarlo?
aca esta el addon en cuestion:
;====================
;mIRC LogExplorer v1.0
;by ^scaryMonsteR
;====================
on *:LOAD:{
if ($version < 6.0) { echo -a LogExplorer requires mIRC version 6.0 or higher. Unloading… | unload -rs logs.mrc }
if ($logdir == $null) { echo -a You need to have logging enabled for this script to work. Unloading… | unload -rs logs.mrc }
}
alias logs dialog -dm logEx logEx
dialog logEx {
title “LogExplorer v1.0”
size -1 -1 380 170
option dbu
list 1, 10 10 110 90, vsbar hsbar sort extsel
button “Open”, 2, 10 95 55 15
button “Delete”, 3, 65 95 55 15
button “Merge”, 4, 10 110 55 15
button “Rename”, 5, 65 110 55 15
text “Match Text:”, 6, 11 130 30 7
edit “”, 7, 42 129 78 10
button “Close”, 8, 38 145 54 15, ok
edit “”, 9, 130 10 240 155, multi read vsbar autovs hsbar
}
on *:dialog:logEx:dclick:1:{ did -r $dname 9 | loadbuf 1- $+ $lines($logdir $+ $did(1).seltext) -pio $dname 9 $logdir $+ $did(1).seltext }
on *:dialog:logEx:edit:7:{
did -r $dname 1
var %str $did(7).text
var %i = 1
while ($findfile($logdir,* $+ %str $+ *.log,%i)) {
did -a $dname 1 $nopath($findfile($logdir,* $+ %str $+ *.log,%i))
inc %i
}
}
on *:dialog:logEx:init:0:{
did -b $dname 4
var %i = 1
var %input = $input(LogExplorer will now load your list of logs. This may take a few minutes (Your IRC is not frozen though).,4,LogExplorer)
while ($findfile($logdir,*.log,%i)) {
did -a $dname 1 $nopath($findfile($logdir,*.log,%i))
inc %i
}
}
on *:dialog:logEx:sclick:*:{
if ($did == 1) {
if ($did(1,0).sel >= 2) did -e $dname 4
else did -b $dname 4
}
if ($did == 2) {
if ($did(1).seltext == $null) return
else {
did -r $dname 9
var %file = $logdir $+ $did(1).seltext
loadbuf 1- $+ $lines(%file) -pio $dname 9 %file
}
}
elseif ($did == 3) {
if ($did(1).seltext == $null) return
else { if ($input(Are you sure you want to delete $did(1).seltext $+ ?,40,LogExplorer) == $yes) { .remove $logdir $+ $did(1).seltext | did -d $dname 1 $did(1).sel } }
}
elseif ($did == 4) {
if ($did(1,0).sel > 2) { var %input $input(LogExplorer can only merge two files at a time. Please select only two files.,4,LogExplorer) | halt }
else {
var %newfile $?=“Please enter new file name (do not include .log)”
var %x $did(logEx,1,1).sel | set %y $did(logEx,1,2).sel
var %a $did(1,$did(1,1).sel).text | var %b $did(1,$did(1,2).sel).text
.copy -o $logdir $+ $did(1,$did(1,1).sel).text $logdir $+ %newfile $+ .log
.copy -a $logdir $+ $did(1,$did(1,2).sel).text $logdir $+ %newfile $+ .log
if ($input(Delete old files?,40,LogExplorer) == $yes) {
.remove $logdir $+ $did(1,$did(1,1).sel).text | .remove $logdir $+ $did(1,$did(1,2).sel).text
did -d logEx 1 %x | did -d logEx 1 %y
}
var %input $input(Merged %a and %b into %newfile $+ .log,4,LogExplorer)
}
}
elseif ($did == 5) {
if ($did(1).seltext == $null) return
else { var %newname $logdir $+ $?=“Enter new filename (do not include .log)” $+ .log | .rename $logdir $+ $did(1).seltext %newname | did -o $dname 1 $did(1).sel $nopath(%newname) }
}
}

17 years, 10 months ago
El tema ahi es que no toma el directorio completo, lo recorta. Es un error clasico y se soluciona cambiando el nombre del path por el nombre del path entre comillas dobles (&ldquosmile.
Aca creo que alcanzaria con cambiar todos los $logdir por $+(”,$logdir,").
Suerte!
17 years, 10 months ago
* /loadbuf: invalid parameters
-
* /loadbuf: invalid parameters (line 60, logs.mrc)

aca es lo que modifique:
;====================
;mIRC LogExplorer v1.0
;by ^scaryMonsteR
;====================
on *:LOAD:{
if ($version < 6.0) { echo -a LogExplorer requires mIRC version 6.0 or higher. Unloading… | unload -rs logs.mrc }
if ($+(“,$logdir,&rdquosmile == $null) { echo -a You need to have logging enabled for this script to work. Unloading… | unload -rs logs.mrc }
}
alias logs dialog -dm logEx logEx
dialog logEx {
title “LogExplorer v1.0”
size -1 -1 380 170
option dbu
list 1, 10 10 110 90, vsbar hsbar sort extsel
button “Open”, 2, 10 95 55 15
button “Delete”, 3, 65 95 55 15
button “Merge”, 4, 10 110 55 15
button “Rename”, 5, 65 110 55 15
text “Match Text:”, 6, 11 130 30 7
edit “”, 7, 42 129 78 10
button “Close”, 8, 38 145 54 15, ok
edit “”, 9, 130 10 240 155, multi read vsbar autovs hsbar
}
on *:dialog:logEx:dclick:1:{ did -r $dname 9 | loadbuf 1- $+ $lines($+(“,$logdir,&rdquosmile $+ $did(1).seltext) -pio $dname 9 $+(“,$logdir,&rdquosmile $+ $did(1).seltext }
on *:dialog:logEx:edit:7:{
did -r $dname 1
var %str $did(7).text
var %i = 1
while ($findfile($+(“,$logdir,&rdquosmile,* $+ %str $+ *.log,%i)) {
did -a $dname 1 $nopath($findfile($+(“,$logdir,&rdquosmile,* $+ %str $+ *.log,%i))
inc %i
}
}
on *:dialog:logEx:init:0:{
did -b $dname 4
var %i = 1
var %input = $input(LogExplorer will now load your list of logs. This may take a few minutes (Your IRC is not frozen though).,4,LogExplorer)
while ($findfile($+(“,$logdir,&rdquosmile,*.log,%i)) {
did -a $dname 1 $nopath($findfile($+(“,$logdir,&rdquosmile,*.log,%i))
inc %i
}
}
on *:dialog:logEx:sclick:*:{
if ($did == 1) {
if ($did(1,0).sel >= 2) did -e $dname 4
else did -b $dname 4
}
if ($did == 2) {
if ($did(1).seltext == $null) return
else {
did -r $dname 9
var %file = $+(“,$logdir,&rdquosmile $+ $did(1).seltext
loadbuf 1- $+ $lines(%file) -pio $dname 9 %file
}
}
elseif ($did == 3) {
if ($did(1).seltext == $null) return
else { if ($input(Are you sure you want to delete $did(1).seltext $+ ?,40,LogExplorer) == $yes) { .remove $+(“,$logdir,&rdquosmile $+ $did(1).seltext | did -d $dname 1 $did(1).sel } }
}
elseif ($did == 4) {
if ($did(1,0).sel > 2) { var %input $input(LogExplorer can only merge two files at a time. Please select only two files.,4,LogExplorer) | halt }
else {
var %newfile $?=“Please enter new file name (do not include .log)”
var %x $did(logEx,1,1).sel | set %y $did(logEx,1,2).sel
var %a $did(1,$did(1,1).sel).text | var %b $did(1,$did(1,2).sel).text
.copy -o $+(“,$logdir,&rdquosmile $+ $did(1,$did(1,1).sel).text $+(“,$logdir,&rdquosmile $+ %newfile $+ .log
.copy -a $+(“,$logdir,&rdquosmile $+ $did(1,$did(1,2).sel).text $+(“,$logdir,&rdquosmile $+ %newfile $+ .log
if ($input(Delete old files?,40,LogExplorer) == $yes) {
.remove $+(“,$logdir,&rdquosmile $+ $did(1,$did(1,1).sel).text | .remove $+(“,$logdir,&rdquosmile $+ $did(1,$did(1,2).sel).text
did -d logEx 1 %x | did -d logEx 1 %y
}
var %input $input(Merged %a and %b into %newfile $+ .log,4,LogExplorer)
}
}
elseif ($did == 5) {
if ($did(1).seltext == $null) return
else { var %newname $+(“,$logdir,&rdquosmile $+ $?=“Enter new filename (do not include .log)” $+ .log | .rename $+(“,$logdir,&rdquosmile $+ $did(1).seltext %newname | did -o $dname 1 $did(1).sel $nopath(%newname) }
}
}

17 years, 10 months ago
El tema es asi, lo haria yo pero prefiero que aprendas (Escusa porque estoy vago).
mIRC no sabe manejar bien los nombres de archivo largos con espacios en el medio, y la unica forma es agregandole comillas alrededor del nombre de archivo.
$logdir al estar instalado el mirc en algo como C:\Archivos de Programa\mIRC pasa a ser C:\Archivos de Programa\mIRC\log, y eso jode al mirc poque como vemos tiene dos espacios.
La solucion: Rodearlo por comillas dobles “”
Asi C:\Archivos de Programa\mIRC\log da error pero “C:\Archivos de Programa\mIRC\log” no.
Como se hace esto en el codigo: Vas revisando linea por linea y te fijas cuando se hace referencia a un archivo y lo modificas agregandole las “ alrededor:
Ejemplos:
on *:dialog:logEx:dclick:1:{ did -r $dname 9 | loadbuf 1- $+ $lines($+(”,$logdir, $did(1).seltext,&ldquosmile) -pio $dname 9 $+(”,$logdir, $did(1).seltext,&ldquosmile }
Cambia por:
on *:dialog:logEx:dclick:1:{ did -r $dname 9 | loadbuf 1- $+ $lines($logdir $+ $did(1).seltext) -pio $dname 9 $logdir $+ $did(1).seltext }
O cosas como:
while ($findfile($logdir,* $+ %str $+ *.log,%i)) {
Por cosas como:
while ($findfile($+(”,$logdir,"),* $+ %str $+ *.log,%i)) {
Y asi… Es cuestion de ir revisando el codigo.
Espero que se halla entendido
Saludos,
qwerty
17 years, 10 months ago
o sea…sorry q joda siempre con lo mismo insayn…pero porq no dejas de usar un poco tantos addons superfashions q eidentemente no entendes al 100% y haces tu script un poco mas modsto y despues le vas agregando cosas mientras vas aprendiendo?
el log viewer de mi script no es mas q una ventana con una lista a la derecha y dos o 3 lineas para q cargue los logs…le puse los eventos para q haga tal boludez con el doble click y ya esta… si recien estas empezando…de q te sirve tener un script q tenga un logviewer q es mejor q el explorador de windows (o sea q pods borrar, editar logs y demas) si despues de todo de ese codigo tuyo no es nada…. que se yo… es una opinion nomas… no digo que este mal usar addons, pq para algo estan…. pero asi no vas a aprender nunca…
17 years, 10 months ago
bueno si estudias y trabajas por mi, me dedico a programar…
aparte YO estoy haciendo mi script a mi mededida, entendes? no es que digo: YO SOY GUACHO Y PROGRAMO DESDE 0, sino prefiero cubrir mis necesidades… si las se hacer yo mismo mejor, pero si me es muy dificil, tendre que buscar otras alternativas (ej: usar addons)
aparte soy diseñador (estudio para serlo) y no programadror
pd: no son addons superfashiions… y lo que no entiendo son cosas de errores, se como se usa cada addon que tengo…
gracias
17 years, 10 months ago
En realidad, a mi gusto, es una exelente forma de aprender.
Una cosa es, por ejemplo, leer que es una hash table, y otra ver como puede ser aprovechada.
Igual no es lo unico que hay que hacer
17 years, 10 months ago
bueno viendo ke hay discusion, meto mi opinion tb, Creo que si sos usuario nomas, sé feliz, bajate los addons, scripts completos, mIRC pelado, lo se te cante…. pero si tu intension es aprender, intenta no hacerlo, o mejor dicho intenta hacer vos todo lo que necesites pa correr un mIRC lo más comodo posible, lo que no significa que le pongas las mil y un boludeces.
Si tu intension es aprender en serio, tonses ni uses addons, ni nada, etc…hacelos vos. Por ejemplo , el logvieweer es una de las cosas mas faciles para hacer, y si te es dificil, te bajas un tutorial , ahces alguna pregunta aca, te bajas alguno ya hecho, simplemente para ver como funciona y entender lo básico de su funcionamiento (y de paso aprendes a usar comandos como loadbuf, remove, y varias boludeces de ventanas en el caso de ke uses una ventana para el logviewer)
nus vemosh
17 years, 10 months ago
 

Buscar mensajes