Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-03-2016
darkamerico darkamerico is offline
Miembro
 
Registrado: dic 2010
Posts: 229
Poder: 14
darkamerico Va por buen camino
Error de la funcion ShortMonthNames() en XE10

Saludos amigos, tengo la clase siguiente:

Código Delphi [-]
uses System.SysUtils, VCL.Dialogs, System.DateUtils;

type
  TDate = class
    mes, dia, anio: integer;

    procedure setFecha(m, d, a: Integer);
    function getFecha():string; overload;
    function getFecha(formato:char):string; overload;
    function esBisiesto():boolean;
    function queDiaEs():string;
  end;

...

function TDate.getFecha:string;
begin
  getFecha:=IntToStr(dia)+'/'+IntToStr(mes)+'/'+IntToStr(anio);
end;

function TDate.getFecha(formato:char):string;
begin
  getFecha:='Hoy es ' + queDiaEs + ', ' + IntToStr(dia) +
            ' de ' + ShortMonthNames[mes] +
            ' del ' + IntToStr(anio);
end;

...

begin
  try
    fecha:=TDate.Create();
    fecha.setFecha(3,30,2016);
    ShowMessage('Fecha Ingresada:' + fecha.getFecha());
    ShowMessage(fecha.queDiaEs);
  finally
    fecha.Free;
  end;
end.

El error aparece en la linea ShortMonthNames[mes], dice E2003 Undeclared identifier: 'ShortMonthNames'
Pero según la bibliografia esa función esta dentro de System.SysUtils...


Ayuda pleaseee


Americo
Responder Con Cita
  #2  
Antiguo 31-03-2016
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Hola

Cita:
Empezado por darkamerico Ver Mensaje
.....El error aparece en la linea ShortMonthNames[mes], dice E2003 Undeclared identifier: 'ShortMonthNames'
Pero según la bibliografia esa función esta dentro de System.SysUtils...
En versiones anteriores el arreglo ShortMonthNames era una variable global, ahora la han encapsulado dentro de TFormatSettings, por lo que ahora se tiene que crear primero el record y después ya podrás utilizar el arreglo de meses cortos.


Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  Mes  : string;
  FS: TFormatSettings;
begin
  FS := TFormatSettings.Create;
  Mes  := FS.ShortMonthNames[12];
  ShowMessage('Mes 12 = ' + Mes);
end;

Saludos
Responder Con Cita
  #3  
Antiguo 31-03-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Por otro lado ten en cuenta que llamaste a tu clase TDate, yo le cambiaria el nombre porque colisiona con el tipo primitivo TDate que ya viene con Delphi

Es simplemente para ahorrarse problemas en el futuro

A menos claro, que lo estes haciendo de forma consciente y quieras ocultar el tipo primitivo con la clase
Responder Con Cita
  #4  
Antiguo 31-03-2016
darkamerico darkamerico is offline
Miembro
 
Registrado: dic 2010
Posts: 229
Poder: 14
darkamerico Va por buen camino
Wink Gracias chicos

Fue de mucha utilidad esta informacion, gracias a ambos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Instalar DevExpress 14.2.2 en XE10 con las fuentes lgarcia Varios 10 31-03-2016 20:58:45
Delphi XE10 en Android 5 no funciona Vlady FireMonkey 1 24-12-2015 08:38:24
Compilar para intel atom en delphi xe10 kurono Desarrollo en Delphi para Android 3 15-12-2015 14:40:49
Error en Función de DLL orlando9427 Varios 0 05-04-2011 23:37:17
error en funcion diego007 Varios 4 03-03-2010 01:25:29


La franja horaria es GMT +2. Ahora son las 11:35:25.


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
Copyright 1996-2007 Club Delphi