Buen trabajo, como estás empezando a programar con esto si quieres te puedo contar algunas optimizaciones, aunque no es tan importante, lo importante es que has llegado al programa funcional, sólo son detalles que pueden mejorar algo el código.
Por ejemplo el bucle infinito lo puedes hacer sin necesidad de usar una variable y una comparación. La cosa tal como has puesto es hacer el bucle mientras la condición sea verdadera, pues eso se puede poner directamente:
La constante True siempre va a dar cierto, no hace falta computar una comparación y usar memoria y accesos a variables, ¡así es directo!
También suele ser típico, supongo que para escribir menos

usar simplemente un valor
1 para que se evalúe como
true (en una expresión lógica el cero se avalúa como
false y cualquier otro número como
true):
Ya la otra es que suele ser interesante sacar fuera del bucle código constante que no hay que reevaluar. En este caso no es importante pero te lo cuento porque en bucles que hagan cálculos fuertes o se requiera velocidad todo lo que puedas calcular sólo una vez ayuda.
Por ejemplo en este caso las asignaciones de los nombres de fichero no hace falta hacerlas cada vez que se entra en el bucle, pues siempre son las mismas, así que se puede poner:
Código: Seleccionar todo
$archivofecha1 = "fecha1.txt"
$archivofecha2 = "fecha2.txt"
$archivofecha3 = "fecha3.txt"
$archivofecha4 = "fecha4.txt"
While 1
$fechatxt1 = FileRead($archivofecha1)
$fechatxt2 = FileRead($archivofecha2)
$fechatxt3 = FileRead($archivofecha3)
$fechatxt4 = FileRead($archivofecha4)
$fecha = @YEAR & "/" & @MON & "/" & @MDAY
[...]
WEnd
Ah, de la misma manera cuando en las dos ramas de un IF se hace la misma operación al principio o al final, se puede sacar fuera. En este caso al poner el ToolTip se hace igual si es todo ok o no, así que se puede simplificar.
Código: Seleccionar todo
IF $baja1 = "ok1" and $baja2 = "ok2"and $baja3 = "ok3"and $baja4 = "ok4" Then
TraySetIcon("Ok.ico")
Else
TraySetIcon("Error.ico")
EndIf
TraySetToolTip($baja1 & ". "& $baja2 &". "& $baja3 &". "& $baja4)
Ya ves que es una tontería, es por afinar. Son cosas que van optimizando el código y realmente con la costumbre acabas haciéndolas sin darte cuenta, lo que no hace daño
Igual 5 segundos es demasiado a menudo para esta tarea ¿no? ¿cada cuánto bajas esos archivos?
Si es porque crees que el Sleep está muy limitado tranquilo, se pueden poner hasta casi
25 DÍAS de espera (2147483647 milisegundos = 24.85 días) ¡Casi nada!
