comp.lang.ada
 help / color / mirror / Atom feed
From: "Mich" <katho@tr.cgocable.ca>
Subject: Re: Here my package
Date: Wed, 04 Apr 2001 14:56:13 GMT
Date: 2001-04-04T14:56:13+00:00	[thread overview]
Message-ID: <hCGy6.263$A24.139307@carnaval.risq.qc.ca> (raw)
In-Reply-To: JsGy6.1512$jz.128569@www.newsranger.com

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 3387 bytes --]

ok here my package and i need to create a procedure named Date_Valide
but i don't know how.   my package goes like that:

PACKAGE lesdates IS
              TYPE Date IS RECORD
                 Jour : Natural;
                 Mois : Natural;
                 Ann�e : Natural;
               END RECORD;
FUNCTION Bissextile(Ann�e : IN Natural) RETURN Boolean ;
FUNCTION Jour_Max(Mois, Annee: IN Natural) RETURN Natural ;
FUNCTION Jour_De(La_Date : IN Date)RETURN Natural ;
FUNCTION Prem_Jour(An : IN Natural) RETURN Natural ;
END lesdates;

ans my package body here:

PACKAGE BODY lesdates IS
--PROCEDURE Date_Valide IS
FUNCTION Bissextile(Ann�e : IN Natural) RETURN Boolean IS
  BEGIN -- Bissextile
    IF (Ann�e REM 100) = 0 THEN
    -- un si�cle est bissextile s'il est divisible par 4
       RETURN (Ann�e REM 400) = 0;
    ELSE
    -- une ann�e ordinaire est bissextile si elle est divisible par 4
       RETURN (Ann�e REM 4) = 0;
    END IF;
  END Bissextile;

  FUNCTION Jour_Max(Mois, Annee: IN Natural) RETURN Natural IS
  -- retourne le nombre de jours maximum dans un mois
  -- Gabrini p. 131
  BEGIN -- Jour_Max
    CASE Mois IS
      WHEN 1 | 3 | 5 | 7 | 8 | 10 | 12 => RETURN 31;
      WHEN 4 | 6 | 9 | 11 => RETURN 30;
      WHEN 2 => IF Bissextile (Annee) THEN
                   RETURN 29;
                ELSE
                   RETURN 28; -- merci Auguste Cesar
                END IF;
      WHEN OTHERS => RETURN 0;
    END CASE;
  END Jour_Max;

FUNCTION Prem_Jour(An : IN Natural) RETURN Natural IS
    -- Retourne le premier jour de l'ann�e (dim = 0, ... , sam = 6)
    -- Valide en France � partir de 1583, en Angleterre � partir de 1752,
    --        en Russie � partir de 1918, en Gr�ce � partir de 1923
    -- Ant�c�dent : An est une ann�e valide
    -- Cons�quent : Prem_Jour est le premier jour de l'ann�e

      Somme : Natural;
    BEGIN -- Prem_Jour
      Somme := An + ((An - 1) / 4) - ((An - 1) / 100) + ((An - 1) / 400);
      RETURN Somme REM 7;
    END Prem_Jour;

  FUNCTION Jour_De(La_Date : IN Date)RETURN Natural IS
  -- Retourne le jour de semaine de la date (Jour, Mois, An)
  -- Ant�c�dent : la date est une date valide du calendrier gr�gorien
  -- Cons�quent : Jour_De est le jour de la semaine de la date
  --              dim = 0, ... , sam = 6
    Jour_Preced : ARRAY (1..12) OF Natural :=
                   (0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334);
    Somme : Natural;

  BEGIN -- Jour_De

    Somme := Prem_Jour(La_Date.Ann�e) + Jour_Preced(La_Date.Mois)
             + (La_date.Jour - 1);
    -- correction pour les ann�es bissextiles
    IF Bissextile(La_Date.Ann�e) AND (La_Date.Mois > 2) THEN
       Somme := Somme +1;
    END IF;
    RETURN Somme  REM 7;
  END Jour_De;
--END Date_Valide;
END lesdates;

"Ted Dennison" <dennison@telepath.com> a �crit dans le message news:
JsGy6.1512$jz.128569@www.newsranger.com...
> In article <0rGy6.262$A24.137061@carnaval.risq.qc.ca>, Mich says...
> >
> >i want to know how to create a procedure named Date_Valide with the three
> >functions in my package.
>
> Could you at try reposting it as plain text, rather than an attachement?
My
> newsreader doesn't decode binary attachements.
>
> ---
> T.E.D.    homepage   - http://www.telepath.com/dennison/Ted/TED.html
>           home email - mailto:dennison@telepath.com





  reply	other threads:[~2001-04-04 14:56 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <0rGy6.262$A24.137061@carnaval.risq.qc.ca>
2001-04-04 14:46 ` Here my package Ted Dennison
2001-04-04 14:56   ` Mich [this message]
2001-04-04 15:29     ` Marin David Condic
2001-04-04 15:57       ` Mich
2001-04-04 16:15         ` Marin David Condic
2001-04-04 16:40     ` Jeffrey Carter
2001-04-04 17:06       ` Mich
2001-04-04 18:41         ` Stephen Leake
2001-04-04 22:06         ` Jeffrey Carter
2001-04-05  4:20     ` DuckE
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox