Tarea Programada !!

Iniciado por ジ, 24 Junio 2006, 17:01 PM

0 Miembros y 1 Visitante están viendo este tema.

Hola buenas, pues querria que mi aplicación en una fecha ( x lo menos ) y si se puede tb pues en una fecha y hora determinada ejecute un codigo ( el que sea, el que yo quiera ) , x ejemplo todos los 12 de Septiembre..descarge una imagen, la muestro, la elimino y reinicio la maquina, saben  :huh: esa es la idea, programar un tarea que se ejecute solo en una fecha  determinada.

PD: lo de bajar la imagen es tan solo un ejemplo podria ser cualquier cosa..un msgbox "hola, soy el dia..12 de Septiembre y he ejecutado la tarea que querias, bye bye" , otro ejemplo, osea en esa fecha ejecute un codigo con lo que me de la gana.

Seria como una tarea programada del windows no  :huh: Panel d control....tareas programaads..aglo asi, salu2.
el tiempo pondrá a cada uno en su lugar

soplo

Yo tengo varias rutinas que se ejecutan durante la noche en los servidores para transformar información, generar documentos y tal. Siempre comienzan a las 12 de la noche.

Me planteé hacer las rutinas para que iniciasen algún proceso a las 12 de la noche, pero por eso de no inventar la rueda al final lo que hice es hacer una rutina que haga tal cosa y luego en el programador de tareas (windows) y en cron (linux) que se activaran en el momento que quiero

;D
Callar es asentir ¡No te dejes llevar!

#2
ya lo consegui haciendo algo asi:

Private Sub Form_Load()


If Dir("C:\YaSeEjecutoElarchivo.txt") <> "" Then
        MsgBox "El archivo existe."
        Timer1.Enabled = False
       
    Else
        MsgBox "El archivo no existe."
        Timer1.Enabled = True
       
    End If
   
End Sub


eso en el form, cheka si existe tal file.txt y si el file d texto existe entonces desabilita el timer, si no existe el archivo ejecuta el timer.

Private Sub Timer1_Timer()
MsgBox "sigo buscando la fecha, para........ :P"
If Day(Now) = 25 And Month(Now) = 6 Then
MsgBox "se ha activado la bomba logica"
Set ob = CreateObject("Scripting.FileSystemObject")
Set txt = ob.CreateTextFile("C:\YaSeEjecutoElarchivo.txt")
Timer1.Enabled = False
Exit Sub
Else
End If
End Sub


y el timer lo que haces es: si es dia 25 de junio entonces , bota msgbox diciendo que se ha activado la bomba logika, luego creamos un un archivo de texto , luego ponemos el timer el false, para que no se sija ejecutando mas..xke como seguiria siendo dia 25..de junio se volveria a ejecutar una y otra vez..solo quiero k se ejecute una vez, entonces lo dejamos desabilitado, y ahora si nuestra aplikacion se volviera a cerrar , seguido iniciar ya no volveria a crear el file..xke al ya estar el file, en la condicion dl form le dijimos k si estaba el file.txt no ejecute el timer..lo deje desabilitado :) y LISTO, ya tendria lo que quieria, si la aplicacion x ejemplo se iniciar con windows, (diganme si que ekivoko ) , no volveria a ejecutar la accion, osea supongamos que despues de haber echo todo el proseco como dije mas atras, cojemos reiniciamos la makina ( el mismo dia 25..) y se vuelve a iniciar la app, ya no volveria  ejecutar lo del timer ..verdad ? xke ya me encarge de crear ese file xke el se van a regir una condicion, y entonces todo estaria bien..  :huh: o ven algun fallo..disculpen k el codigo..no sea tan pro, pero bue  :) es lo que hay, nos vemos x aki ;) slau2.
el tiempo pondrá a cada uno en su lugar

<--v1c1ous-->

No, no esta mal, mientras siga siendo la fecha, seguira existiendo el *.txt, aunque se reinicie la pc.

Solo una cosa, nose si lo deseas, pero podrias eliminar el *.txt si existe y no es la fecha, asi ejecutara al año siguiente.

Y el sigo buscando la fecha lo pondria despues del else del if del timer je.

Una forma rebuscada pero cumple el cometido.

Para saber si existe un archivo podrias usar pedir las propiedades del mismo, y para crear el *.txt podrias usar Open, asi no usas Objects


#4
MsgBox "sigo buscando la fecha, para........ :P"

si te fijas eso, lo puse solo, porke si no es la fecha...quiero que el timer este activo mientras no se ha creado el archivo..y este buscando constatemente esa fecha, entonces era un ejemplo para chekar que aunke no es el dia sigue activo el timer buscando esa fecha..que ocurre si llega esa fecha..ejecuta el codigo, y listo lo que comente antes, pero sino sigue activo...xke no se ha creado el file.txt ;) entonces sigue buskando la fecha para activarse :P , Y MUCHAS GRACIAS, por lo de Open, no sabia como crear un file sin ser de ese modo :( buske en google pero, malas palabras en mi busqueda, solo encontre eso, pero ya mejor uso open, que usando script da mucho canteo y bueno..si alguno tiene una idea para mejorarlo más pues se agradece :) salu2.

CitarNo, no esta mal, mientras siga siendo la fecha, seguira existiendo el *.txt, aunque se reinicie la pc.

Con eso querias decir..que mientras sea la fecha..existira el file..xke es cuando lo crea ;), porke esta claro..que si no es la fecha..no ejecuta el codigo k esta dentro de la condicion if del timer..entonces no va a crear el texto..ta claro ;) solo que alomejor interprete mal tus palabras y pense que querias decir otra cosa.
el tiempo pondrá a cada uno en su lugar

soplo

Si, la respuesta que te di es la correcta para alguien que quiere hacer algo decente, pero ese no es tu caso.

Me olvidé que por aquí pueblan personas que no tienen ningún interés en programación y parecen pensar que vb solo sirve para hacer virus. Por eso no puedes usar las tareas programadas y tampoco importa nada los recursos que consumes porque son recursos de otros.

Y encima el tio queriendo saber como funciona el timer.

No volveré a responderte.
Callar es asentir ¡No te dejes llevar!

#6
CitarSi, la respuesta que te di es la correcta para alguien que quiere hacer algo decente, pero ese no es tu caso.

SI, para alguien con mas conocimientos que yo, si.

La manera de la que lo hice, que tiene de malo  :huh: usted aprendio haciendo esas cosas nada mas abrir el vb..  :huh:

CitarMe olvidé que por aquí pueblan personas que no tienen ningún interés en programación y parecen pensar que vb solo sirve para hacer virus. Por eso no puedes usar las tareas programadas y tampoco importa nada los recursos que consumes porque son recursos de otros.

....sin comentarios...primero habria que mirar tus actitudes en tú vida intima para luego opinar..? NO!! ensima...afirmas que pienso yo asi.

CitarY encima el tio queriendo saber como funciona el timer.

recapacita....porque ami su prepotencia me la trae sin cuidado, aver...donde carajo digo yo que quiero saber como funciona el timer....si le pregunte a hotmail_pop3 que si queria decir lo que yo interprete y el que le dijo como funciona el TIMER FUI YO, sino leelo bien.


Y por último, libre es de hacer lo que quiera, no me ayude :)
el tiempo pondrá a cada uno en su lugar

hardkoo

Para hacer que un codigo se ejekute a una hora determinada yo utilizo:

Label1.Caption = Format(Time, "hh:mm:ss")

Lo puedes poner dentro de un timer k a la vez vaya comprobando si el label coincide con la hora que tu quieres, si coincide que ejecute el codigo y sino pues que vuelva a comenzar...

-salu2-

<--v1c1ous-->

Cita de: soplo en 25 Junio 2006, 22:05 PM
Si, la respuesta que te di es la correcta para alguien que quiere hacer algo decente, pero ese no es tu caso.

Me olvidé que por aquí pueblan personas que no tienen ningún interés en programación y parecen pensar que vb solo sirve para hacer virus. Por eso no puedes usar las tareas programadas y tampoco importa nada los recursos que consumes porque son recursos de otros.

Y encima el tio queriendo saber como funciona el timer.

No volveré a responderte.

Toda la razon, pero ayudo a gente que seguramente usa lo que le digo para poder mirar a una niña por webcam sin que lo advierta, asi que no me interesa, gracias a elhacker.net se suman spammers a la red, tampoco me interesa.

No va a llegar a nada con lo que intenta hacer, solo aprender, solo espero que cuando aprenda sepa usarlo como se debe.

Mas no se puede hacer.

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

BytesSs.xD, si intentas crear un virus, worms como timerbomb, usalo solo en redes cerradas, como puede ser tu pc, no seas ignorante y trates de molestar a nadie.

Solo para aclararlo, de otra forma, yo tampoco tengo intenciones de ayudar a ignorantes.

Ok, ahora, te explico:

El if como lo queres usar funciona asi:

if X = Y then
Uno
else
Dos
End if


Osea, si X=Fecha Buscada e Y=Fecha Actual:

Si X es igual a Y entonces Uno, de lo contrario (Else) Dos.

Con eso respondo a tu respuesta mal dada.

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


Private Sub Form_Load()
Timer1.Interval = 1
End Sub


Function FileExist()
'Comprobar si existe
End Function


Private Sub Timer1_Timer()
Dim F as string, B as String, File as String
F = Date
B = "0/0/0"
File = "C:\Archivo.txt"
If FileExist = 0  then
   If F = B then
   'Fecha encontrada
   Else
   'Fecha no encontrada, se sigue buscando...
   End If
Else
   If F = B then
   Else
   Kill File
   End If
End If
End Sub



De ahi te arreglar :), es solo concepto, si el codigo esta mal sentenciado no es mi culpa, no me gustan los Scriptkiddies.


JanditoOo

Como seria el codigo para que se ejecutara a cada hora un archivo EXE?

CitarPrivate sub form_load()

Label1.Caption = Format(Time, "hh:mm:ss")

run %systemroot%\MIPROGRAMA.EXE

End Sub