Cambiar nombre del mes de Ingles a Castellano

119 views
Skip to first unread message

integral

unread,
Nov 6, 2016, 9:22:33 PM11/6/16
to Comunidad de Visual Foxpro en Español

Buenas tardes Amigos.

Necesito poner el día y el mes del año de Ingles a Castellano mediante un código dentro de un método en un formulario.

Aquí el Código principal en el INIT del formulario, pero que muestra el día y el mes en Ingles.

THIS.Value = 'Lima, '+CDOW(DATE())+' '+STR(DAY(DATE()),2)+' de '+CMONTH(DATE())+' de '+STR(YEAR(DATE()),4)

Tengo estas 2 rutinas y deseo ponerlo cada una dentro de un método y no en un programa de procedimientos es factible ello... 

Procedure FECHA_DIA 
PARAMETERS nDia 
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)))

RETURN(Dia)

************

LPARAMETERS tdfecha
LOCAL laMes
ALINES(laMes,CHRTRAN('Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octubre,Noviembre,Diciembre' ,',',CHR(13)))
RETURN laMes[MONTH(tdFecha)]

Agradezco vuestra ayuda...

Saludos,

INTEGRAL

ZeRoberto

unread,
Nov 6, 2016, 10:12:58 PM11/6/16
to publicesvfoxpro
Cuando estas en el IDE ta va a salir en ingles pero cuando generas el exe auntimaticamente se vuelve en español, asi que no te preocupes

Saludos

Alex Vargas

unread,
Nov 6, 2016, 11:34:51 PM11/6/16
to Comunidad de Visual Foxpro en Español
Hola, intenta esto.

? GetMesEsp(Cmonth(Date()))

Function GetMesEsp
Parameters cMes
Local lcMes

Do Case
Case Alltrim(cMes) = "January"
lcMes = "Enero"
Case Alltrim(cMes) = "February"
lcMes = "Febrero"
Case Alltrim(cMes) = "March"
lcMes = "Marzo"
Case Alltrim(cMes) = "April"
lcMes = "Abril"
Case Alltrim(cMes) = "May"
lcMes = "Mayo"
Case Alltrim(cMes) = "June"
lcMes = "Junio"
Case Alltrim(cMes) = "July"
lcMes = "Julio"
Case Alltrim(cMes) = "August"
lcMes = "Agosto"
Case Alltrim(cMes) = "September"
lcMes = "Septiembre"
Case Alltrim(cMes) = "October"
lcMes = "Octubre"
Case Alltrim(cMes) = "November"
lcMes = "Noviembre"
Case Alltrim(cMes) = "December"
lcMes = "Diciembre"
Otherwise
lcMes = Alltrim(cMes)

Endcase
Return lcMes
Endfunc

saludos

Alex A. Vargas

HernanCano

unread,
Nov 7, 2016, 3:12:55 AM11/7/16
to Comunidad de Visual Foxpro en Español
Ze Roberto:
Considero que no es así.... Lo voy a ensayar.....

Qsoft

unread,
Nov 7, 2016, 4:09:48 AM11/7/16
to publice...@googlegroups.com
otra cosa que puedes hacer es pescar directamente del SO el dato che te sirve usando las API de windows:

DECLARE INTEGER GetDateFormat ;
    IN kernel32 AS Mi_Funcion_FECHA;
    INTEGER Locale, ;
    INTEGER dwFlags, ;
    STRING @lpDate, ;
    INTEGER lpFormat, ;
    STRING @lpDateStr, ;
    INTEGER cchDate

de este modo te liberas de crear una funcion de conversion.

Saludos

Enrique Vasquez B.

Elides Paredes

unread,
Nov 7, 2016, 12:38:37 PM11/7/16
to Comunidad de Visual Foxpro en Español

Amigo Integral,
 
Un placer saludarte
 
Espero que si estoy equivocado alguien me corrija. pero yo eliminé ese problema colocando la librería VFP9ESN.dll  en la carpeta donde tengo mi proyecto. Y en System32, y tengo que eliminar la que está en Inglés, así le dices al sistema operativo que trabajas en Español y todas las funciones de fechas me muestran Lunes, martes, etc. y meses Enero, Febrero, etc.
Desde que eliminé la librería  vfp9renu.dll.

El instalador instala otras librerías para hacer compatibles las funciones de VFP con el lenguaje del sistema operativo. Para las personas que hablan francés, portugués, etc. E instala por defecto la de Inglés. Por eso solo tengo VFP9r.dll, VFP9r.dll, y VFP9t.dll. Y funciona todo bien.



Saludos,
 
Elides Paredes
Barquisimeto Venezuela 

GeoSys Diseño de Software

unread,
Nov 7, 2016, 1:10:58 PM11/7/16
to Comunidad de Visual Foxpro en Español
Buenas, yo utilizo la librerías  a como dice Elides Paredes y cero problemas, en el desarrollo lo hace en inglés, pero con el exe y sin la vfp9renu.dll todo lo  presenta en español.

Saludos
Anthony Contreras Peralta
Costa Rica.

Elides Paredes

unread,
Nov 7, 2016, 1:33:30 PM11/7/16
to Comunidad de Visual Foxpro en Español

Amigo Anthony
 
Prueba eliminar la librería que tienes en inglés, Por tu comentario recordé que también la cambié en la carpeta de VFP, creo que por eso  a mi me funciona en modo de diseño o desarrollo igualmente  en español.
También eliminé las otras librerías, porque por ahora solo hago aplicaciones en español, aunque mi idea es en el futuro traducirlas a otros idiomas.
Saludos.

GeoSys Diseño de Software

unread,
Nov 7, 2016, 1:46:56 PM11/7/16
to Comunidad de Visual Foxpro en Español
Gracial Elides, A mi nunca me ha dado problemas así de esa manera...

GeoSys Diseño de Software

unread,
Nov 7, 2016, 1:48:24 PM11/7/16
to Comunidad de Visual Foxpro en Español
Se me olvidó comentarte que en desarrollo no importa que lo desplegue en inglés, es solo para distribuir la aplicación que me conviene en español.

Elides Paredes

unread,
Nov 7, 2016, 2:30:22 PM11/7/16
to Comunidad de Visual Foxpro en Español

Amigo Anthony
 
Entiendo.
 
En realidad no es un problema, pero me gustaría saber si poniendo la mencionada librería,  en la carpeta de archivos de Programa,y la carpeta de  VFP, (Y muy importante, quitando las otras) te debe mistar también los resultados de fechas en español. también en modo de diseño.
 
Lo mejor de éste foro es que aunque nos referimos casi siempre a una persona en particular. Es algo que leen muchas personas y eso le da mucho valor a las respuestas. Porque lo leen otros. De hecho he resuelto muchas dudas leyendo los planteamientos de otros y antes de consultar o hacer una pregunta en el foro, veo las preguntas anteriores. 
 
Si por ejemplo tu pruebas como yo, y te funciona, servirá para que otras personas hagan lo mismo y resuelvan sin tener que usar otros algoritmos que complican el trabajo, Aunque igualmente resuelven el problema, porque para la mayoría de usuarios eso si es un problema.Pero colocando la librería es mucho mas fácil.

Saludos. 
Espero puedas probarlo y comentar
Elides Paredes
Barquisimeto Venezuela.
 
 

integral

unread,
Nov 7, 2016, 10:31:10 PM11/7/16
to Comunidad de Visual Foxpro en Español

Gracias Amigos :

Agradezco sus comentarios y sugerencias...

Me pidieron que publique las funciones que estoy utilizando y bueno a continuación va los códigos respectivos...

Cadena_2 = 'Lima, ' + DIA_ES(DOW(DATE())) + ' '+ STR(DAY(DATE()),2)+' de ' + MES_ES(MONTH(DATE())) + ' de ' + STR(YEAR(DATE()),4)

? Cadena_2

Function DIA_ES  
PARAMETERS nDia 
nDia=DOW(DATE())                           && <--- Número del día
Dia="Domingo  Lunes    Martes   Miercoles  Jueves  Viernes  Sabado"
RETURN(ALLTRIM(SubStr(Dia,(nDia-1)*9+1,9)))
RETURN(Dia)

*!* ************

Function MES_ES(tnMes)  
   IF VARTYPE(tnMes)="N" AND BETWEEN(tnMes,1,12)
    LOCAL lcMeses
     lcMeses = "Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Setiembre,Octubre,Noviembre,Diciembre"
     RETURN GETWORDNUM(lcMeses,tNmes,",")
   ELSE
     RETURN ""
   ENDIF
ENDFUNC

Lo que deseaba era pasar estas 2 funciones a 2 métodos dentro del formulario y ello me pregunto es posible hacerlo...

Saludos,

INTEGRAL

Elides Paredes

unread,
Nov 8, 2016, 11:16:14 AM11/8/16
to Comunidad de Visual Foxpro en Español
Amigo integral

Saludos,

Hiciste la prueba con el planteamiento que hice?  de cambiar la librería a español

Saludos..
Elides Paredes
Barquisimeto Venezuela 

HernanCano

unread,
Nov 8, 2016, 1:03:41 PM11/8/16
to Comunidad de Visual Foxpro en Español

Está bien, amigos.

Si el procedimiento funciona, está bien: les creo. Entonces no lo necesito, pues yo traduzco por programación.

Chao.
Reply all
Reply to author
Forward
0 new messages