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
next prev parent 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