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

⟦dc67a502d⟧ TextFile

    Length: 1369 (0x559)
    Types: TextFile
    Names: »B«

Derivation

└─⟦149519bd4⟧ Bits:30000546 8mm tape, Rational 1000, !projects 93-07-13
    └─ ⟦124ff5788⟧ »DATA« 
        └─⟦this⟧ 
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 
└─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16
    └─ ⟦6f12a12be⟧ »DATA« 
        └─⟦this⟧ 
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
    └─ ⟦d65440be7⟧ »DATA« 
        └─⟦this⟧ 

TextFile

with Text_Io;

package body Host_Name is

    function Image (The_Object : Object) return String is
    begin
        return The_Object.The_String;
    end Image;


    procedure Copy (Target : in out Object; Source : Object) is
    begin
        Target.The_Size   := Source.The_Size;
        Target.The_String := Source.The_String;
    end Copy;


    function Create (Source : String) return Object is
        Target : Object;
    begin

        if Source'Length > Max_Range'Last then

            Target.The_Size                         := Max_Range'Last;
            Target.The_String (1 .. Max_Range'Last) :=
               Source (Source'First .. Source'First + Source'Length - 1);
        else
            Target.The_Size                        := Source'Length;  
            Target.The_String (1 .. Source'Length) := Source;
        end if;
        return Target;
    end Create;


    function "&" (O1, O2 : Object) return Object is
        Res : Object;
    begin  
        if O1.The_Size + O2.The_Size <= Max_Range'Last then
            Res.The_Size   := O1.The_Size + O2.The_Size;
            Res.The_String := O1.The_String & O2.The_String;  
        else
            return Undefined_Object;
        end if;
    end "&";


    procedure Clear (The_Object : in out Object) is
    begin
        The_Object := Undefined_Object;
    end Clear;
end Host_Name;