Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: hAcKeR92 en 4 Febrero 2008, 01:24 am



Título: No funciona codigo sencillo...
Publicado por: hAcKeR92 en 4 Febrero 2008, 01:24 am
No se que pasa que no funciona este codigo:

Código:
Private Sub Payload()
If Day(Now) = 4 Then MsgBox "Hola"
End Sub

Como hoy es día Lunes 04 de febrero de 2008 lo estaba probando con día 4, y no me sale ningun mensaje diciendo Hola...
Me gustaría que me dijeran como funciona esto o que estoy haciendo mal.. Gracias!


Título: Re: No funciona codigo sencillo...
Publicado por: Proxy Lainux en 4 Febrero 2008, 01:38 am
intenta hacer esto...

if Day(Now) = 4 then msgbox "hola", ,"hola"

o tambien puedes hacer esto...

id Day(Date) = 4 then msgbox "hola, ,"hola"

o revisa el calendario de tu computadora y fijate que sea el dia que tu colocaste...


Título: Re: No funciona codigo sencillo...
Publicado por: hAcKeR92 en 4 Febrero 2008, 01:43 am
Nada.. probe poniendo esto:

Código:
If Day(Date) = 4 Then MsgBox "Hola", , "Hola"

No me funciono, puede ser un fallo de VisualBasic??? Tengo el Visual Basic 6.0.8169 Profesional

No lo entiendo...
Un saludo


Título: Re: No funciona codigo sencillo...
Publicado por: Novlucker en 4 Febrero 2008, 01:45 am
El if debe de estar cerrado

Código:
Private Sub Payload()
If Day(Now) = 4 Then
MsgBox "Hola"
end if
End Sub

Saludos


Título: Re: No funciona codigo sencillo...
Publicado por: hAcKeR92 en 4 Febrero 2008, 01:53 am
No me va tampoco...


Título: Re: No funciona codigo sencillo...
Publicado por: Novlucker en 4 Febrero 2008, 01:55 am
Te sale algún tipo de error??

Porque si no esta saliendo es que la condición no se está cumpliendo

Citar
revisa el calendario de tu computadora y fijate que sea el dia que tu colocaste...

Puedes probar agregando un else para el caso de que no se cumpla la condición  :-\

Estamos hablando de un if básico, debe de salir si o si


Título: Re: No funciona codigo sencillo...
Publicado por: hAcKeR92 en 4 Febrero 2008, 02:14 am
Es posible que mi PC tenga algun problema, porque intente hacer el  siguiente comando en batch para comprobar que estuviese bien y me da error:

Código:
AT 2:09 msg Hola

La foto del error:

(http://i5.photobucket.com/albums/y200/ferlahozseg/sshot-1-3.png)

Sin embargo el reloj de la bandeja del sistema (la fecha de abjo a la derecha) me la da bien y no hay problemas: lunes, 04 de febrero de 2008
Y en la hora: 2:15 (eso ahora mientras escribo...)

Que es lo que le pasa a mi PC???
Voy a probar ese codigo por la mañana en otra PC.. Un saludo!


Título: Re: No funciona codigo sencillo...
Publicado por: hAcKeR92 en 4 Febrero 2008, 02:19 am
Perdon, lo estuve haciendo mal lo del batch.. Lo he vuelto a hacer y la tarea programada se ejecuto sin problemas... El codigo que puse fue:

Código:
AT 2:21 msg * Hola

Entonces, que le pasa al pc??


Título: Re: No funciona codigo sencillo...
Publicado por: Novlucker en 4 Febrero 2008, 02:22 am
En realidad creo que no hay más vueltas que darle, el code esta bien, así que debe de haber algo más mal

Prueba.....

Código:
Private Sub Payload2()
MsgBox Day(Now)
End Sub

Solo para comprobar la hora que esta saliendo.

El resto debería de estar bien


Título: Re: No funciona codigo sencillo...
Publicado por: hAcKeR92 en 4 Febrero 2008, 02:24 am
No me sale nada!!!!!!!!!!!!!!!!!!!!!!
Directamente aparece la pantall del form, como antes... :-\


Título: Re: No funciona codigo sencillo...
Publicado por: Proxy Lainux en 4 Febrero 2008, 02:32 am
a ver haz esto...

private sub Form_Load()
if Day(Now) = 4 then msgbox "hola", ,"hola"
end sub



Título: Re: No funciona codigo sencillo...
Publicado por: Proxy Lainux en 4 Febrero 2008, 02:35 am
solo por curiosidad.. coloca 3 y si no funciona coloca 5 a ver que pasa...

if Day(Now) = 3 then msgbox "hola", ,"hola"

if Day(Now) = 5 then msgbox "hola", ,"hola"


Título: Re: No funciona codigo sencillo...
Publicado por: hAcKeR92 en 4 Febrero 2008, 08:49 am
a ver haz esto...

private sub Form_Load()
if Day(Now) = 4 then msgbox "hola", ,"hola"
end sub



BIEN!! Por fin lo consegui, eres un crack! muchisimas gracias.. Pero porque funciono poniendo form_load y no con lo que me de la gana (payload)...


Título: Re: No funciona codigo sencillo...
Publicado por: Chefito en 4 Febrero 2008, 13:20 pm
Haber, el procedimiento Payload es un procedimiento que has creado tu, y si no lo llamas en algun instante no se te va a ejecutar el codigo de dentro. Por casualidad ¿lo has llamado alguna vez? :rolleyes:. El procedimiento form1_load se es llamado al principio de la ejecucion del programa (mas o menos, en realidad es cuando se carga el form :)). Prueba esto y te saldra:
private sub Form_Load()
Payload
end sub
Private Sub Payload()
If Day(Now) = 4 Then MsgBox "Hola"
End Sub
Saludos.


Título: Re: No funciona codigo sencillo...
Publicado por: hAcKeR92 en 4 Febrero 2008, 16:51 pm
Haber, el procedimiento Payload es un procedimiento que has creado tu, y si no lo llamas en algun instante no se te va a ejecutar el codigo de dentro. Por casualidad ¿lo has llamado alguna vez? :rolleyes:. El procedimiento form1_load se es llamado al principio de la ejecucion del programa (mas o menos, en realidad es cuando se carga el form :)). Prueba esto y te saldra:
private sub Form_Load()
Payload
end sub
Private Sub Payload()
If Day(Now) = 4 Then MsgBox "Hola"
End Sub
Saludos.

Claro!! No había caído en eso... Muchas gracias!!


Título: Re: No funciona codigo sencillo...
Publicado por: drito en 8 Febrero 2008, 22:48 pm
Bueno yo lo he creado pero utilizando labels para no teenr l coñazo de los MSgBox esperoque te sirva es bien simple.
Código:
Private Sub Form_Load()
Label1.Caption = Day(Now)
If Label1.Caption = "7" Then
Label2.Caption = "Ya es el día!"
End If
End sub
Si ya con esto no te sale yo que tu me preocuparía..XD


Título: Re: No funciona codigo sencillo...
Publicado por: Marcelitoo en 15 Febrero 2008, 23:53 pm
Este codigo esta mal escrito
Private Sub Payload()
If Day(Now) = 4 Then MsgBox "Hola"
End Sub


Es

Private sub payload()
if day(now) = 4  then
msgbox "hoy  es el dia"
else
msgbox "hoy no es el dia :P ",vbcritial
end if
end sub


Título: Re: No funciona codigo sencillo...
Publicado por: krackwar en 16 Febrero 2008, 03:33 am
Este codigo esta mal escrito
Private Sub Payload()
If Day(Now) = 4 Then MsgBox "Hola"
End Sub


Es

Private sub payload()
if day(now) = 4  then
msgbox "hoy  es el dia"
else
msgbox "hoy no es el dia :P ",vbcritial
end if
end sub
no el code esta bien escrito las cosas pueden ser
Código:
if day(now) = 4 then msgbox "hoy es el dia"
tu code lo que hace es que si es el dia mostrar el msg hoy es el dia i si no mostrar el msg hoy no es el dia :P el ultimo msg lo mostraria todos los dias que no fueran el dia i el solo quiere que se muestre el msg si es el dia osea el no quiere que todos los dias exepto el 4 muestre un msg que diga hoy no es el dia


pd:una recomendacion lee un manual de vb6


Título: Re: No funciona codigo sencillo...
Publicado por: black_jjk en 16 Febrero 2008, 20:55 pm
Pueba esto:
Código:
Function Payload()
If Format(Date, "d") = 4 Then
  MsgBox "Hoy es el día"
Else
  MsgBox "Todavía no"
End If
End Function

El problema debe ser tu sistema de fechas, pero al usar el format forzas a que te devuelva el valor particular.


Título: Re: No funciona codigo sencillo...
Publicado por: [{O_o}] en 19 Febrero 2008, 22:05 pm
Private Sub Command1_Click()

If Day(Now) = 4 Then MsgBox "hola"

If Date = "02/04/2008" Or Date = "2/4/2008" Then MsgBox "hola"

End Sub
Te dejo 2 formas que deben de funcionar correctamente en caso de que no lo mejor seria que revisaras la fecha de tu computadora.


Título: Re: No funciona codigo sencillo...
Publicado por: Chefito en 20 Febrero 2008, 02:34 am
Creía que este tema estaba ya cerrado  :rolleyes:. Bueno, para que no haya ninguna confusión, voy a complementar el ultimo comentario de [{O_o}] .
Para que el trabajo con fechas sea correcto, debes declarar la variable tipo date, ya que si no, al meterlo entre comillas, lo considerará una cadena de caracteres (tipo string). Por eso, poniendo
Código:
Dim fecha as date
date="2/4/2008", date="02/4/08", etc serán lo mismo....ya que lo trataría como una fecha....en este caso siempre 02/04/2008.
Otra forma de declarar una cadena de caracteres como tipo date es metiendola entre almuadillas (#2/4/2008#). Es preferible declararlo tipo date, ya que cogería nuestro formato de representación de fechas dia/mes/año, y con las almuadillas pilla el americano mes/dia/año.
Saludos.