comp.lang.ada
 help / color / mirror / Atom feed
From: "Marin David Condic" <marin.condic.auntie.spam@pacemicro.com>
Subject: Re: Here my package
Date: Wed, 4 Apr 2001 11:29:03 -0400
Date: 2001-04-04T15:29:04+00:00	[thread overview]
Message-ID: <9afek0$cnp$1@nh.pace.co.uk> (raw)
In-Reply-To: hCGy6.263$A24.139307@carnaval.risq.qc.ca

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

Now you're getting somewhere. What is it you don't know how to do?

To use the package in your procedure, you simply need to bring it in with a
context clause. Try this:

with LesDates ;
use LesDates ;
procedure Date_Valide is
begin
    -- Your code here. You can call all your package
    --  functions by name here as if they were declared
    --  locally.
end Date_Valide ;

If you need something else, you'll have to explain what it is you need in
more detail.

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/

"Mich" <katho@tr.cgocable.ca> wrote in message
news:hCGy6.263$A24.139307@carnaval.risq.qc.ca...
> 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 15:29 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
2001-04-04 15:29     ` Marin David Condic [this message]
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