PONER MES EN LETRAS.

4,250 views
Skip to first unread message

Roberto Matarrita

unread,
Oct 10, 2012, 7:01:38 PM10/10/12
to publice...@googlegroups.com
Buenas tardes amigos.
Necesito poner el mes del año en letras y no en numeros, hay alguna funcion en fox que me permita eso.
 
Gracias.
 
Roberto
Costa Rica.

Luis Maria Guayan

unread,
Oct 10, 2012, 6:59:32 PM10/10/12
to publice...@googlegroups.com
? CMONTH(DATE())

Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

--
 
 
 

Roberto Matarrita

unread,
Oct 10, 2012, 7:11:30 PM10/10/12
to publice...@googlegroups.com
Gracias Luis Maria muy amable.
 
De paso que sos tan bueno en esto te quiero preguntar.  Hasta cuando tendremos el Fox. Hice una instalacion en Windows 7 de 32 bit y funcionó muy bien y en otros sistemas operativos como windows XP, vista, me han funcionado muy bien.
 
La pregunta va porque tengo que hacer una aplicación en mi país Costa Rica, que ya han desechado el Fox por Dios. La base de Datos va a ser ORACLE. todavía tengo mis dudas si hacerlo en Visual Fox, .Net, Oracle.
Es tan excelente este lenguaje de Visual Fox que cuesta dejarlo, pero claro hay que pensar en el futuro.
 
Gracias de antemano.
 
Roberto
Costa Rica.

--
 
 
 

extremo

unread,
Oct 10, 2012, 9:50:07 PM10/10/12
to publice...@googlegroups.com
Roberto VFP va a durar mientras los nuevos SO sean compatibles con 32bits, ahora VFP con ORACLE es una mezcla muy buena..... VFP funciona muy bien con cualquier SGBD. Es lo fabuloso de VFP. He trabajado VFP con SQLServer ,ORACLE ,MySql ,PosGres ,XML ,AS-400 y nunca he tenido ningún tipo de problemas al conectarme y realizar consultas con VFP

Bendiciones

Hitiel Hernández

unread,
Oct 10, 2012, 10:22:07 PM10/10/12
to publice...@googlegroups.com
Yo cree ésta función:
*-*-*-*-*-*-*-*-*-*-*-*-*-*

FUNCTION fmeses
*------------------------
parameter ParN
do case
case parn = 1
return 'Enero'
case parn = 2
return 'Febrero '
case parn = 3
return 'Marzo'
case parn = 4
return 'Abril'
case parn = 5
return 'Mayo'
case parn = 6
return 'Junio'
case parn = 7
return 'Julio'
case parn = 8
return 'Agosto'
case parn = 9
return 'Septiembre'
case parn = 10
return 'Octubre'
case parn = 11
return 'Noviembre'
case parn = 12
return 'Diciembre'
case parn <= 0 .OR. parn >= 13
return SPACE(0)
endcase
*-*-*-*-*-*-*-*-*-*


y la utilizas asi:

? fmeses(date())



--
 
 
 



--
Sabiduría ante todo; adquiere sabiduría

Roberto Matarrita

unread,
Oct 10, 2012, 11:33:07 PM10/10/12
to publice...@googlegroups.com
Muchas gracias Extremo.
En realidad en mi pais desechan estas cosas tan buenas y solo es .net, oracle, y ahora java.
 
realmente yo he hecho cosas muy buenas con Fox que no he hecho en Oracle.
Realmente tengo que tomar una descision en que voy a realizar este proyecto, que lo ocupo dure por lo menos unos 10 o mas años funcionando.
 
Gracias.
 
Roberto
Costa Rica.

El 10 de octubre de 2012 19:50, extremo <protech...@gmail.com> escribió:

--
 
 
 

Roberto Matarrita

unread,
Oct 10, 2012, 11:36:43 PM10/10/12
to publice...@googlegroups.com
Ok muchas gracias.

--
 
 
 

arti...@gmail.com

unread,
Oct 11, 2012, 4:06:36 AM10/11/12
to publice...@googlegroups.com
VFP ya dispone de una función para eso cmonth(), que te devuelve el nombre del mes

HernanCano

unread,
Oct 11, 2012, 11:47:10 AM10/11/12
to publice...@googlegroups.com

La respuesta la das tú mismo, y es lo que yo pienso.

>>>...¿por qué tengo que hacer una aplicación ... que ya han desechado el Fox.... Es tan excelente este lenguaje de Visual Fox que cuesta dejarlo...."

¿Lo repito para que veas que sí es mi respuesta?
Es tan excelente este lenguaje de VFP que cuesta dejarlo.

Claro que sí piensas en algo que tiene el mismo nombre que las últimas tres letras de Internet, entonces te cuento que existe un ambiente de programación muy bueno llamado WinDev. Aquí en Google hay dos tremendos foros:

https://groups.google.com/forum/?fromgroups#!forum/de-fox-a-windev
https://groups.google.com/forum/?fromgroups#!forum/windev-tips

Pido disculpas al foro por este "adulterio", pero es que es inevitable ante preguntas así... sobre todo salidas de tema....

Roberto Matarrita

unread,
Oct 11, 2012, 1:23:10 PM10/11/12
to publice...@googlegroups.com
Gracias Hernan por tus aportes.
Se dice que el Windev es muy bueno, el problema que existe es que no hay una base de datos con que probarlo, a menos que se adquiera según tengo entendido, no se si me equivoco.
 
Pues la verdad no cometes adulterio, lógico que nos preocupa la situación del Fox, es nuestra herramienta de trabajo, nos da de comer y muchas otras cosas. ´Por eso es que yo estoy en este dilema amigo, o sigo con Fox pegado a Oracle en los pròximos 10 años, o bien sigo en juego de los lenguajes modernos, que son bien engorrosos.
 
Gracias por el aporte y se siguen oyendo sugerencias, si me quedo de este lado o me cambio.
 
Gracias.
 
Roberto
Costa Rica.

--
 
 
 

Josepe

unread,
Oct 11, 2012, 2:04:04 PM10/11/12
to publice...@googlegroups.com
Yo en tu caso le daría largas a VFP con Oracle. Desde la 10G el Oracle simplifica algunas cosas para los que le entramos desde fuera.

Roberto Matarrita

unread,
Oct 11, 2012, 2:15:24 PM10/11/12
to publice...@googlegroups.com
Si tienes Razón.
A proposito Joseps, cambiando de tema, has instalado Oracle 10g u 11g en un equipo de 64 bits de sistema operativo windows 2008 Server R2.
 
OK

El 11 de octubre de 2012 20:04, Josepe <jose...@gmail.com> escribió:
Yo en tu caso le daría largas a VFP con Oracle. Desde la 10G el Oracle simplifica algunas cosas para los que le entramos desde fuera.

--
 
 
 

Rafael Morales

unread,
Oct 14, 2012, 12:33:31 PM10/14/12
to publice...@googlegroups.com
Está buena la Función que creó Hitiel Hernandez, ya que la función cmonth() de VFP sp2 devuelve el nombre del Mes pero en Inglés, y si uno lo necesita en Castellano tendría que buscar una manera de traducirlo.
Lo único que le faltaría a la función de Hitiel Hernandez es agregarle lo siguiente: 

case MONTH(parn) = 1
case MONTH(parn= 2
case MONTH(parn= 3
...

ya que sin el Month() me da error. O capas que yo no lo usé bien, pero no me funcionaba hasta que le agregué el Month().


--
Rafael Morales

Luis Maria Guayan

unread,
Oct 14, 2012, 12:48:52 PM10/14/12
to publice...@googlegroups.com
Es según que tipo de datos pasas como parámetro. Hitiel la hizo para pasar como parámetro un entero representando el número de mes. Tú le estas pasando un parámetro Fecha o FechaHora, por eso la comparación con un entero te marca error.

 
Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________



--
 
 
 

Bj M

unread,
Oct 14, 2012, 12:48:59 PM10/14/12
to publice...@googlegroups.com
solo te lo da en modo diseño, al compilar tu aplicación ya queda en español, tienes que ver que libreria utiliza, solo deja la de español y listo no vas a tener problema localiza el archivo vfp9renu.dll y lo borras es el de ingles, solo deja el vfp9resn.dll y ya te sale todo en español.
 
saludos.
 

Date: Sun, 14 Oct 2012 13:33:31 -0300
Subject: Re: [vfp] Re: PONER MES EN LETRAS.
From: rafam...@gmail.com
To: publice...@googlegroups.com
--
 
 
 

Jose Ramon Veliz Martinez

unread,
Oct 14, 2012, 12:50:17 PM10/14/12
to publice...@googlegroups.com
Buenas, esta rutina la utilizo para convertir el mes a letras en ESPAÑOL, 

fecha=date()
meses= 'Enero     Febrero   Marzo     Abril     Mayo      Junio     Julio     Agosto    SeptiembreOctubre   Noviembre Diciembre '   && meses del año
mesc=SUBS(meses,MONTH(fecha)*10-9,10)        && conviritiendo a letras 



Saludos

Ramon Veliz

HernanCano

unread,
Oct 14, 2012, 5:15:43 PM10/14/12
to publice...@googlegroups.com

Roberto:
>>> "...se dice que el Windev es muy bueno, el problema ... es que no hay una base de datos con que probarlo, a menos que se adquiera según tengo entendido, no sé si me equivoco...."

Te equivocas: Con WinDev tienes una base de datos "nativa" que es HyperFile --sin costo adicional--; además tienes también "acceso nativo" sin costo a dos motores: PostgreSQL y MySQL; ésto lo puedes comprobar en la sgte URL (busca un mensaje de TPlanchais de feb-28-2012):
https://groups.google.com/forum/?fromgroups=#!topic/publicesvfoxpro/jGMJaWVu5dk[26-50]

>>> "...o bien sigo en juego de los lenguajes modernos, que son bien engorrosos..."

WinDev no es engorroso. Llevo programando ocho meses con él y es tremendamente fácil de aplicar para mi que vengo de Fox/VFP.

¿Sabes? No he abandonado Fox/VFP aún. Estoy en un proyecto que pretende darle continuidad.... pero ésto es otro tema.....


HERNAN CANO M.
Analista de Sistemas - Programador

Rafael Morales

unread,
Oct 16, 2012, 1:28:43 AM10/16/12
to publice...@googlegroups.com
la libreria  vfp9resn.dll solo funciona con el VFP 9 sp1, cuando intento usarlo en el VFP 9 sp2 me da error me dice "Version incorrecta de archivos de recurso". o habrá alguna forma de hacerlo funcionar en el VFP 9 sp2  ? . ya intenté muchas veces y no funciona por eso digo que la función CMONTH() devuelve el nombre del mes pero en inglés, y si uno lo necesita en español hay que crear una función para traducirlo al español.


--
Rafael Morales

Norberto

unread,
Oct 16, 2012, 9:28:18 AM10/16/12
to publice...@googlegroups.com
Hola Ramón
Tu rutina esta bien pero (Só Pra Contrariar) también podés hacer:

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)]

Saludos
Norberto
Message has been deleted

Julián W. May D.

unread,
Oct 16, 2012, 9:56:23 AM10/16/12
to publice...@googlegroups.com

Supongamos que tienes en tu formulario un un control tbxFecha de tipo caracter.
En el init de tu formulario
WITH THISFORM
  .tbxFecha.Value = Fecha(DATE())
ENDWITH

En un prg FUNCIONES.PRG

FUNCTION NombreMes(Mes as INTEGER)
    DIMENSION aMes(12)
     aMes(1) = "ENERO"
     aMes(2) = "FEBRERO"
     aMes(3) = "MARZO"
     aMes(4) = "ABRIL"
     aMes(5) = "MAYO"
     aMes(6) = "JUNIO"
     aMes(7) = "JULIO"
     aMes(8) = "AGOSTO"
     aMes(9) = "SEPTIEMBRE"
     aMes(10) = "OCTUBRE"
     aMes(11) = "NOVIEMBRE"
     aMes(12) = "DICIEMBRE"
       RETURN aMes(Mes)
ENDFUC

FUNCTION Fecha
    PARAMETERS Fec
    IF EMPTY(Fec)
      Fec = DATE()
    ENDIF

    F = ALLTRIM(STR(DATE(Fec))) + '/' + NombreMes(MONTH(DATE())) + '/' + ALLTRIM(STR(YEAR(Fec)))

   RETURN F
ENDFUNC
Message has been deleted

Carlos Miguel FARIAS

unread,
Oct 16, 2012, 10:42:00 AM10/16/12
to publice...@googlegroups.com
La opción de Norberto está bien, pero si las llamadas de la función tiene alta frecuencia, no tendría buen desempeño, cada vez que es invocada, recrea el arreglo.
Lo que haría seria crear el arreglo con los nombres de los meses como una propiedad del _SCREEN, al principio de la aplicación.
Luego, la misma función indicada, consulta dicho arreglo, sin necesidad de recrearlo cada vez.
Saludos: Miguel, Santa Rosa (LP)

--
 
 
 

Norberto

unread,
Oct 16, 2012, 10:54:35 AM10/16/12
to publice...@googlegroups.com
Hola Miguel
Estoy de acuerdo. En realidad yo la tengo en mi clase application, pero es lo mismo en _SCREEN
Abrazo, Norberto

Bj M

unread,
Oct 16, 2012, 10:59:09 AM10/16/12
to publice...@googlegroups.com
Localiza los runtimes para vfp9 sp2 ahi viene.
 
saludos.
 

Date: Tue, 16 Oct 2012 02:28:43 -0300
Subject: Re: [vfp] PONER MES EN LETRAS.
From: rafam...@gmail.com
To: publice...@googlegroups.com

la libreria  vfp9resn.dll solo funciona con el VFP 9 sp1, cuando intento usarlo en el VFP 9 sp2 me da error me dice "Version incorrecta de archivos de recurso". o habrá alguna forma de hacerlo funcionar en el VFP 9 sp2  ? . ya intenté muchas veces y no funciona por eso digo que la función CMONTH() devuelve el nombre del mes pero en inglés, y si uno lo necesita en español hay que crear una función para traducirlo al español.


--
Rafael Morales


--
 
 
 

miltonvas

unread,
Oct 16, 2012, 5:50:16 PM10/16/12
to publice...@googlegroups.com
yo hago lo siguiente

en el main.prg puse
dime qmes(12)
qmes(1)="Enero"
qmes(2)="Febrero"
....
.....
qmes(11)="Noviembre"
qmes(12)="Diciembre"

y cuando necesito el mes en cualquier lado
solo pongo

qmes(month(fech))

y listo





El miércoles, 10 de octubre de 2012 18:01:41 UTC-5, roberto escribió:

Luis Maria Guayan

unread,
Oct 16, 2012, 6:21:09 PM10/16/12
to publice...@googlegroups.com
Aquí un artículo y funciones de Carlos Alloatti para trabajar con los nombres del mes y de los días en el idioma del sistema operativo

-- Funciones de fecha del API de Windows en Visual FoxPro --
http://www.portalfox.com/article.php?sid=2125


Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

--
 
 
 

Message has been deleted

HernanCano

unread,
Oct 20, 2012, 1:05:30 AM10/20/12
to publice...@googlegroups.com

Qué nota de solución, Norberto!!!

Norberto

unread,
Oct 20, 2012, 2:26:28 PM10/20/12
to publice...@googlegroups.com
Gracias Hernán
Hice comparaciones con los distintos métodos y no hay diferencia en tiempo o recursos.
Abrazo

Gustavo Acuña

unread,
Mar 23, 2022, 10:57:56 AM3/23/22
to Comunidad de Visual Foxpro en Español
Excelente. Se agradece el aporte!!

Bendiciones


El jueves, 11 de octubre de 2012 00:11:32 UTC+1, roberto escribió:
Gracias Luis Maria muy amable.
 
De paso que sos tan bueno en esto te quiero preguntar.  Hasta cuando tendremos el Fox. Hice una instalacion en Windows 7 de 32 bit y funcionó muy bien y en otros sistemas operativos como windows XP, vista, me han funcionado muy bien.
 
La pregunta va porque tengo que hacer una aplicación en mi país Costa Rica, que ya han desechado el Fox por Dios. La base de Datos va a ser ORACLE. todavía tengo mis dudas si hacerlo en Visual Fox, .Net, Oracle.
Es tan excelente este lenguaje de Visual Fox que cuesta dejarlo, pero claro hay que pensar en el futuro.
 
Gracias de antemano.
 
Roberto
Costa Rica.

El 10 de octubre de 2012 16:59, Luis Maria Guayan <luism...@gmail.com> escribió:

? CMONTH(DATE())

Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

El 10/10/2012 20:01, Roberto Matarrita escribió:
Buenas tardes amigos.
Necesito poner el mes del año en letras y no en numeros, hay alguna funcion en fox que me permita eso.
 
Gracias.
 
Roberto
Costa Rica.
--
 
 
 

--
 
 
 

Reply all
Reply to author
Forward
0 new messages