Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Nombre del mes (https://www.clubdelphi.com/foros/showthread.php?t=6381)

NuncaMas 05-01-2004 12:03:32

Nombre del mes
 
Hay alguna funcion a la que le pases un numero y te devuelva el nombre del mes?? algo asi como

Código:

            bonitafuncion(1)='Enero'
            bonitafuncion(2)='Febrero'


delphi.com.ar 05-01-2004 15:00:41

FormatDateTime('mmmm', Date)

Saludos!

fporcel 02-10-2010 16:40:14

Esto te resuelve el problema
 
Esta función muy simple, solo tienes que adptarla a la herramienta de desarrollo o Base de Datos que uses:

/////////////////////////////////////////////////////////////////////////
// Funtion: f_nom_mes
// Creada originalmente en Clipper y adaptada a Power Builder
// Argumentos:
// ai_num_mes número de mes (0 al 13 con, apertura y cierre)
// ai_lmes longitud de respuesta:
// Cuando es 3 DIC, o
// cuando es 9 DICIEMBRE
// Returns: String
// Descripción: Retorna el nombre del mes
////////////////////////////////////////////////////////////////////////
String ls_nom_mes, ls_nmeses
If ai_lmes =3 Then
ls_nmeses="APEENEFEBMARABRMAYJUNJULAGOSETOCTNOVDICCIE"
Else
ls_nmeses=" Apertura Enero Febrero Marzo Abril Mayo Junio Julio AgostoSetiembre OctubreNoviembreDiciembre Cierre"
End if
ls_nom_mes=mid(ls_nmeses,ai_num_mes*ai_lmes+1,ai_lmes)
Return ls_nom_mes

ecfisa 02-10-2010 18:33:17

Hola NuncaMas.

No conozco ninguna función predefinida en Delphi que haga eso,
quizá no la hayan incorporado por la simplicidad de la confección
del código...

Código Delphi [-]
function NombreMes(mes: Integer): string;
const
  MESES: array[1..12] of string = ('enero','febrero','marzo','abril','mayo',
        'junio','julio','agosto','septiembre','octubre','noviembre','diciembre');
begin
  Result:= MESES[mes];
end;

Saludos. :)

Caral 02-10-2010 20:47:15

Hola
Lo malo de vosotros los maestros es que pensais que con la mitad del dato ya tenemos nosotros los novatos.;)
Me parece muy bien para hacernos pensar, pero, sabremos como implementar una funcion?.
Bueno, aqui una manera de implementacion, para aquellos que como yo estamos empezando en esto.
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  showmessage(NombreMes(StrToInt(Edit1.Text)));
end;
Saludos

ecfisa 02-10-2010 20:58:27

Cita:

Empezado por Caral (Mensaje 378236)
Hola
Lo malo de vosotros los maestros es que pensais que con la mitad del dato ya tenemos nosotros los novatos.;)
Me parece muy bien para hacernos pensar, pero, sabremos como implementar una funcion?.
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  showmessage(NombreMes(StrToInt(Edit1.Text)));
end;

¿Ves que no soy el único que les dá todo echo ? :D:D:D

Saludos. :)

Casimiro Notevi 02-10-2010 21:42:00

huy, huy, huy... eso no vale, así cualquiera :D

fporcel 02-10-2010 22:15:07

Mas corta
 
Versión más corta

ai_num_mes = 12

ls_nom_mes=mid(" Apertura Enero Febrero Marzo Abril Mayo Junio Julio AgostoSetiembre OctubreNoviembreDiciembre Cierre", ai_num_mes*9+1, 9)

Retorno: ls_nom_mes = "Diciembre"

MID es como el SUBSTR: extrae parte de la cadena

Saludos

Fredy


La franja horaria es GMT +2. Ahora son las 09:44:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi