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

⟦03e4c53eb⟧ TextFile

    Length: 3142 (0xc46)
    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

-------------------------------------------------------------------------------
package body Umps_Defs is

    Special_Char : constant Character := Ascii.Nul;

    ---------------------------------------------------------------------------
    procedure Normalize (The_String :        Standard.String;
                         To         : in out Standard.String) is

    begin
        if The_String'Length >= To'Length then
            To := The_String (The_String'First ..
                                 The_String'First + To'Length - 1);
        else
            To := The_String &
                     (The_String'Last + 1 ..
                         To'Length - The_String'Length + The_String'Last =>
                         Special_Char);
        end if;  
    end Normalize;

    ---------------------------------------------------------------------------
    function Normalize (The_String : Standard.String) return String is

    begin
        if The_String'Length > String'Length then
            return String (The_String
                              (The_String'First ..
                                  The_String'First + String'Length - 1));
        else
            return String (The_String &
                           (The_String'Last + 1 ..
                               String'Length - The_String'Length +
                                  The_String'Last => Special_Char));
        end if;  
    end Normalize;

    ---------------------------------------------------------------------------
    function Normalize (The_Name : Standard.String) return Name is

    begin
        if The_Name'Length > Name'Length then
            return Name (The_Name (The_Name'First ..
                                      The_Name'First + Name'Length - 1));
        else
            return Name (The_Name &
                         (The_Name'Last + 1 ..
                             Name'Length - The_Name'Length + The_Name'Last =>
                             Special_Char));
        end if;  
    end Normalize;

    ---------------------------------------------------------------------------
    function Denormalize (The_String : String) return Standard.String is
        Index : Natural := The_String'First - 1;

    begin
        Search_End_Char:
            for I in The_String'Range loop
                exit Search_End_Char when The_String (I) = Special_Char;
                Index := I;
            end loop Search_End_Char;  
        return Standard.String (The_String (The_String'First .. Index));
    end Denormalize;

    ---------------------------------------------------------------------------
    function Denormalize (The_Name : Name) return Standard.String is
        Index : Natural := The_Name'First - 1;

    begin
        Search_End_Char:
            for I in The_Name'Range loop
                exit Search_End_Char when The_Name (I) = Special_Char;
                Index := I;
            end loop Search_End_Char;  
        return Standard.String (The_Name (The_Name'First .. Index));
    end Denormalize;

end Umps_Defs;
-------------------------------------------------------------------------------