FoxPro/Visual FoxPro - Dia de la Semana

   
Vista:

Dia de la Semana

Publicado por Gabriel (34 intervenciones) el 13/11/2009 20:09:25
Que tal amigos :

No se si por el cansancio no logro poner el dia de la semana en mi formulario...

Aqui les muestro el codigo...

Me podrian decir que estoy haciendo mal..

nDia=DOW(fecha) && <--- Número del día
Dia="Domingo Lunes Martes Miercoles Jueves Viernes Sabado"
RETURN(ALLTRIM(SubStr(Dia,(nDia-1)*9+1,9)))
Thisform.TEXT2.Value = "Hoy : " + UPPER(Dia)

Saludos.

Gabriel

PD : ESTOY UTILIZANDO VFP 9.0 VERSION EN INGLES
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

RE:Dia de la Semana

Publicado por Chucho (66 intervenciones) el 13/11/2009 21:01:34
Hola: Si la secuencia del código es la que escribiste, me parece que hay un error en el RETURN. No tenes que escribirla. Creo que el código que va a funcionar sería así.

nDia=DOW(fecha) && <--- Número del día

Dia="Domingo Lunes Martes Miercoles Jueves Viernes Sabado"

OtroDia = ALLTRIM( SubStr( Dia, (nDia-1)*9+1 , 9 ) )

Thisform.TEXT2.Value = "Hoy : " + UPPER(OtroDia)

Si Substr toma siempre 9 caracteres, que pasaría con Lunes? Digo, porque no lo probé.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dia de la Semana

Publicado por es_binario (757 intervenciones) el 13/11/2009 21:28:24
yo uso algo asi

*// dia de pago
DO CASE
CASE DOW(fecha) = 1
el_dia = "DOM"
CASE DOW(fecha) = 2
el_dia = "LUN"
CASE DOW(fecha) = 3
el_dia = "MAR"
CASE DOW(fecha) = 4
el_dia = "MIE"
CASE DOW(fecha) = 5
el_dia = "JUE"
CASE DOW(fecha) = 6
el_dia = "VIE"
CASE DOW(fecha) = 7
el_dia = "SAB"
ENDCASE

ya nada mas ponle el dia completo

Thisform.TEXT2.Value = el_dia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dia de la Semana

Publicado por Pablo (Argentina) (433 intervenciones) el 13/11/2009 22:54:44
Hola Amigo, perdon no, pero no seria mas facil y para que no te compliques tanto, de bajar el parche a castellano el SP1 que lo podes hacer desde portalfox.com y pasas a castellano por mas que la ayuda este en ingles.
Entonces despues para que te escriba que dia es hoy utilizas el comando

Cdow()

proba en la ventana de comando de hacer esto: ? cdow(date()) y fijate que dice y si lo pones al castellano ya esta, instalar la version al castellano es facil, desde el portal lo haces sin problema.

Avisame si te sirvio de algo mi ayuda o la de los otros compañeros y sino seguimos buscando la solucion

Suerte!!!

Pablo - Argentina
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dia de la Semana

Publicado por Gabriel (34 intervenciones) el 13/11/2009 23:42:22
Gracias amigos por sus respuestas, pero la correccion del codigo igual no funciono...

Luego de un buen almuerzo y un breve descanso se me ocurrio hacer una nueva rutina que quedo muy bien y se las copio como ejemplo para futuros casos para otros colegas cuando trabajen con VFP 9.0 version en Ingles.

Local Quedia
Quedia = " "

DO Case
Case cdow(date()) = "Sunday"
Quedia = "Domingo"
Case cdow(date()) = "Monday"
Quedia = "Lunes"
Case cdow(date()) = "Tuesday"
Quedia = "Martes"
Case cdow(date()) = "Wednesday"
Quedia = "Miércoles"
Case cdow(date()) = "Thursday"
Quedia = "Jueves"
Case cdow(date()) = "Friday"
Quedia = "Viernes"
Case cdow(date()) = "Saturday"
Quedia = "Sábado"
Endcase

Thisform.TEXT2.Value = "Hoy : " + UPPER(Quedia)

Saludos,

Gabriel
(Lima-Perú)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dia de la Semana

Publicado por Chucho (66 intervenciones) el 14/11/2009 00:22:16
Hola: que bueno que lo solucionaste. Me quedé con tu código original porque me parecía interesante asi que lo modifique un poco.

Probá el siguiente código en la ventana de comandos:

cSemana="Domingo Lunes Martes Miercoles Jueves Viernes Sabado"
nDia = Dow( DATE() )
cDia = ALLTRIM( SubStr( cSemana, IIF( nDia=1 , 1 , (nDia-1)*10) , 9 ) )
? cDia

Probá de cambiarle el valor a nDia (de 1 a 7 obvio :) )

Para que funcione, los días contenidos en cSemana deben tener la misma "longitud" de 10 caracteres (sabado no importa). También podrías usar Arryas o vectores. La idea es que el código para solucionarlo es más corto.

Otro código similar.

cSemana "1.Domingo 2.Lunes 3.Martes 4.Miercoles 5.Jueves 6.Viernes 7.Sabado"
nDia = Dow( DATE() )
cDia = ALLTRIM( SubStr( cSemana, AT( STR(nDia,1 ) , cSemana ) +2 , 9 ) )
? cDia

Saludos.

Javier (Jujuy-Argentina)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dia de la Semana

Publicado por Chucho (66 intervenciones) el 14/11/2009 00:27:38
Al publicar el post, se le recortaron los espacios necesarios entre los dias.
Cada dia debe tener 10 caracteres, te los relleno con astericos.

cSemana="Domingo***Lunes*****Martes****Miercoles*Jueves****Viernes***Sabado"

Bah espero que lo lean....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dia de la Semana

Publicado por Wimper (1 intervención) el 06/06/2015 04:55:01
Gracias amigos, me fue de mucha utilidad
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dia de la Semana

Publicado por Fidel José (558 intervenciones) el 06/06/2015 13:46:10
Para VFP9 SP2

1
2
3
4
5
6
7
8
9
10
11
PROCEDURE NombreDia
LPARAMETERS tdFecha,tlShort
 
tdFecha = EVL(tdFEcha,DATE())
 
local lcListDias,lcDay
lcListDias="Domingo,Lunes,Martes,Miércoles,Jueves,Viernes,Sábado"
 
lcDay=GETWORDNUM( lcListDias, DOW(tdFecha,1) , CHR(44) )
 
RETURN IIF( tlShort , LEFT(lcDay,3) , lcDay )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar