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
Al desactivar la opción que has dicho ya no sale más.

Gracias por todo.
Responder Con Cita
  #2  
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
  #3  
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
  #4  
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
  #5  
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
  #6  
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
  #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
Viene a ser lo mismo que comenté antes. DecodeDate necesitará saber si el año es bisiesto para determinar cuál es el día anterior al primero de marzo.

// Saludos
Responder Con Cita
  #8  
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,

Cita:
Empezado por richi
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;
Hombre para eso creo más cómodo lo que he puesto en la primera respuesta. No es muy elegante el forzar el error pero tremendamente efectivo y rápido, sin andarse con rodeos.

Saludos

Última edición por Bicho fecha: 20-03-2007 a las 18:50:34.
Responder Con Cita
  #9  
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
Oye Bicho, ¿cómo crees que hace StrToDate para generar el error en caso de que le pases un año que no es bisiesto?

// Saludos
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 02:07:41.


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