Visual Basic - Ayuda VBS: Crear, guardar y leer Archivos

Life is soft - evento anual de software empresarial
 
Vista:

Ayuda VBS: Crear, guardar y leer Archivos

Publicado por Factor (1 intervención) el 31/03/2008 16:54:03
Buenos dias muchachos...
Recurro a uds por ayuda ya que tengo un problema que aunque es algo muy estúpido, me ha causado problemas. Resumo a continuación la situacion.
Resulta y pasa que trabajo con una aplicación a donde llegan una serie de codigos que definen un mensaje, es decir, estan estos codigos y sus mensajes.

Cod Mensaje
W650 La Terminal presento un error de cierre.
W750 El sistema no encuentra el archivo.
W850 La Red esta ocupada.

A la aplicación llega el código “W650”, se lee el código y se le envía un Correo Electronico a la persona encargada de solucionar el problema. El mensaje es lo de menos, eso lo hago por medio de otro metodo y ya lo tengo listo, y la llegada de los mensajes tambien, pero resulta que tengo un mensaje con codigo “W766” se presenta cada rato y llena de Emails a los encargados de mantenimiento (la verdad me importa un pepino que los llene de correos, ellos definieron el mensaje y ahora se quejan), pero ahora me solicitaron que creara una forma de que se enviara un Email solo cuando existan 15, 30, 45 y 60 mensajes de ese código.
Resulta que esa parte de la llegada de los Codigos y la salida de los Email’s se implementa en un VBS, y lo primero (y único) que se me ha ocurrido para solucionar el problema es crear un contador que almacene el numero de veces que ha llegado un mensaje, pero el VBS no guarda ese dato por que solo se ejecuta cuando llega un mensaje y no mas.

Por tanto la cosa esta asi:
Les agradecería que me indicaran como hago para implementar un Script que una vez leído el código del mensaje, lleve un contador que se guarde en un archivo de Texto o algo asi, y que luego lo lea, sea examinado en un “If” y asi se determine si se envía o no.
Lo del envio del Correo es algo sencillo y lo controla una variable llamada “enviocorreo” que cuando es igual a “1” NO envía el correo, y cuando es igual a “0” lo envía.

De no ser igual a 15, entonces se debe incrementar el contador, guardar el dato de nuevo en el archivo y no hacer nada mas hasta la llegada del próximo mensaje que es cuando se vuelve a leer y se repite el proceso.

Al final les adjunto el pedazo de código que he intentado implementar para hacer eso junto con unas anotaciones sobre cada linea.

Les agradezco la ayuda y todo lo que me pueda guiar, y si, se que es algo muy estúpido, pero no me sale.

Gracias por todo.

----- CODIGO EN VBS-----
'** Analizo el codigo del mensaje.
if CodMensaje ="W766" then
'** Paro el envio de correos.
enviacorreo=1
'** Creo un archivo. Creo que intento crearlo...
Open App.Path & "Contador.txt" For Input As #1
'** Aca supuestamente intento leer la variable guardada.
Input #1, ContW766
Close #1
'** Calculo el modulo del Contador respecto a 15. La variable que me almacena el modulo se llama EvaW766 (por eso de Evaluar)
EvaW766= ContW766 Mod 15
'** Si el modulo es Cero, eso significa que hay 15, 30, 45 o 60 mensajes.
'** Por tanto creo una variable de texto que adjunto al mensaje y hago
'** que se se envie el correo haciendo "enviacorreo" igual a 0.
if EvaW766 = 0 then
AlertW766 = "ALERTA CRITICA N°" & ContW766 / 15
enviacorreo=0
End if
'** Si el Contador es mayor a 60. Lo hago igual a cero. Solo me interesa que existan por cada tanta, hasta 60 mensajes.
if ContW766>60
Cont766=0
end if
'** Incremento el contador en 1.
ContW766 = ContW766 + 1
'** Se supone que aca estoy guardando el contador de nuevo para la proxima lectura.
Open App.Path & "Contador.txt" For Output As #1
Print #1, ContW766
Close#1
end if
'** Se acaba el codigo y listo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder