Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-03-2007
JM75 JM75 is offline
Miembro
 
Registrado: sep 2006
Posts: 25
Poder: 0
JM75 Va por buen camino
Hola Bicho,
la función que me has pasado funciona. Aunque si la fecha no existe te da un mensaje de error y después continua bien. ¿Hay alguna forma de que no salte el mensaje de error?
Gracias
Responder Con Cita
  #2  
Antiguo 20-03-2007
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 24
Bicho Va por buen camino
Hola,

¿has copiado el try.. except? Si no es así ponlo para capturar el error y evitar que te salga.
Si lo has puesto y aún así te salta un error (te lo debe estar dando si lo ejecutas desde Delphi, ¿no?) debes desactivar los errores del debuger:
Menú Tools => Debugger Options => Pestaña Language Exceptions => Desmarcar: Stop On Delphi Exceptions.

Saludos
Responder Con Cita
  #3  
Antiguo 20-03-2007
JM75 JM75 is offline
Miembro
 
Registrado: sep 2006
Posts: 25
Poder: 0
JM75 Va por buen camino
Al desactivar la opción que has dicho ya no sale más.

Gracias por todo.
Responder Con Cita
  #4  
Antiguo 20-03-2007
Avatar de DarKraZY
DarKraZY DarKraZY is offline
Miembro
 
Registrado: ago 2003
Posts: 460
Poder: 23
DarKraZY Va por buen camino
Creo que esta función es todavía más sencilla, te la brinda la unidad de Delphi SysUtils:
Código Delphi [-]
function IsLeapYear(Year: Word): Boolean;

Saludos!!!
Responder Con Cita
  #5  
Antiguo 20-03-2007
[basti] basti is offline
Miembro Premium
 
Registrado: ago 2004
Posts: 388
Poder: 22
basti Va por buen camino
Sólo como curiosidad, los años bisiestos son todos los divisibles entre 4, excepto los que sean divisibles entre 100 y no entre 400. Algo así:

Código Delphi [-]
function bisiesto(year : word): boolean;
begin
  Result := (year mod 4 = 0) and ((year mod 100 <> 0) or (year mod 400 = 0));
end;
Responder Con Cita
  #6  
Antiguo 20-03-2007
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 25
poliburro Va por buen camino
Además de IsLeapYear tenemos DaysInAYear

Function EsBisiesto(PwAnio: Word): Boolean;
Begin
Result := DaysInAYear(PwAnio) = 366
End;
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #7  
Antiguo 20-03-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pero DaysInAYear utiliza IsLeapYear:

Código Delphi [-]
const
  DaysPerYear: array [Boolean] of Word = (365, 366);

function DaysInAYear(const AYear: Word): Word;
begin
  Result := DaysPerYear[IsLeapYear(AYear)];
end;

// Saludos
Responder Con Cita
  #8  
Antiguo 20-03-2007
richi richi is offline
Miembro
 
Registrado: jun 2006
Ubicación: Portosin - A Coruña
Posts: 51
Poder: 20
richi Va por buen camino
Otra posible manera de hace lo seria poner el primer dia de la fecha del siguiente mes y restandole 1 nos daria los dias.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  fechaUsar : TDate;
  ano, mes, dia : word;
  anoComprobar : string;
begin
  anoComprobar:= '2007';
  fechaUsar:= strtodate('01/03/' +  anoComprobar) - 1;
  DecodeDate(fechaUsar,ano,mes,dia);

  if dia = 29 then
    ShowMessage('Bisiesto')
  else
    ShowMessage('No es bisiesto');
end;
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Saber si es (x86) ó (x64) acertij022 Varios 2 20-02-2007 20:29:53
Saber si es un entero chipsoni Varios 4 06-02-2007 16:52:48
Saber Ip de una PC??? JELIRM API de Windows 4 02-07-2006 22:28:38
Saber la ip del servidor? crievep Conexión con bases de datos 1 05-04-2006 21:22:56
Saber si hay conexion JCR Internet 0 26-04-2004 21:07:06


La franja horaria es GMT +2. Ahora son las 08:31:02.


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