DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ B T

⟦961cee763⟧ TextFile

    Length: 1752 (0x6d8)
    Types: TextFile
    Names: »B«

Derivation

└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
    └─ ⟦d65440be7⟧ »DATA« 
        └─⟦this⟧ 

TextFile

procedure Test_Mutable is

    Nns : constant := 10;
    Nnp : constant := 20;

    subtype String_Limitep is String (1 .. Nnp);
    subtype String_Limites is String (1 .. Nns);

    type Classes is (Societe, Personne);

    -- Condition_Par_Defaut : Condition := Condition'(Personne);

    type Objet (Classe : Classes := Personne) is
        record
            Age : Integer := 0;
            case Classe is
                when Societe =>
                    Nom_De_Societe : String_Limites :=
                       "Hello" & "               ";
                when Personne =>
                    Nom_De_Personne : String_Limitep := "Bonjour" & "   ";
            end case;
        end record;


    Une_Societe : Objet (Classe => Societe);
    Une_Entite  : Objet;

    function Creer (Classe : Classes; Nom : String) return Objet is
    begin
        case Classe is
            when Societe =>
                return Objet'(Age            => 56,
                              Classe         => Societe,
                              Nom_De_Societe => Nom);

            when Personne =>
                return Objet'(Age             => 58,
                              Classe          => Personne,
                              Nom_De_Personne => Nom);
        end case;
    end Creer;

begin
    null;
--    Une_Societe.Age            := 10;
--    Une_Societe.Nom_De_Societe := String_Limites'(1 .. Nns => 'S');
--    Une_Entite.Age             := 20;
--    Une_Entite.Nom_De_Personne := String_Limitep'(1 .. NnP => 'P');
--    Une_Entite                := Une_Societe;
--    Une_Entite.Nom_De_Societe := String_Limites'(1 .. Nns => 'S');
end Test_Mutable;


-- Test d'un type mutable
-- Auteur : Sebastien BROCHET
-- Date   : 7 Novembre 1993