DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

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

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦b121c8325⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Test_Str, seg_026d36

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



with My_String;
--with Socket_Port;
with Text_Io;

procedure Test_Str is
    S1 : My_String.Object;
    S2 : My_String.Object;
    S3 : My_String.Object;
    Cte : constant String := "1";
    Cte2 : constant String := "12";

--    Sp1 : Socket_Port.Object;

    procedure Cmps (S1, S2 : My_String.Object) is
    begin
        if My_String."=" (S1, S2) then
            Text_Io.Put_Line ("identiques");
        else
            Text_Io.Put_Line ("non identiques");
        end if;

    end Cmps;

    procedure Test2 (Ps : My_String.Object) is
        S3 : My_String.Object;
    begin

        -- S3 := My_String.Object'(The_Size => 2,
        --                         The_String => Ps.The_String (4 .. 5));


        S3 := My_String.Object'(The_Size => 2, The_String => (others => ' '));
        S3.The_String := Ps.The_String (4 .. 5);



        Text_Io.Put_Line ("ps : " & S3.The_String);
    end Test2;

    function Test3 return My_String.Object is
        Cst : constant String :=
           "jhdgsfjsdhfkjsdhfkdshvfnsdhkvdsyhdfnhbvtsrhtdgndfyxcbsdkjtdsjtbt;dtndftjfxcfgabcd";
        The_Result : My_String.Object;
    begin
        The_Result := My_String.Object'(The_Size => Cst'Length,  
                                        The_String => (others => ' '));  
        The_Result.The_String := Cst;
        return The_Result;
    end Test3;

begin

    Text_Io.Put_Line ("cte : " & Integer'Image (Cte'Size));
    Text_Io.Put_Line ("cte : " & Integer'Image (Cte2'Size));

    Text_Io.Put_Line ("Size1 : " & Integer'Image (S1'Size));


    S1 := My_String.Object'(The_Size => 11, The_String => "..belladone");
    S2 := My_String.Object'(The_Size => 9, The_String => "belladone");
    Text_Io.Put_Line ("Size1 : " & Integer'Image (S1'Size));

--    Test2 (S1);
    Test2 (S2);


    S3 := Test3;
    Text_Io.Put_Line ("s3 : " & S3.The_String);

    Cmps (S1, S2);

    S1 := S2;
    Text_Io.Put_Line (S1.The_String);
    Cmps (S1, S2);

    S3 := My_String."&" (S1, S2);
    Text_Io.Put_Line (S3.The_String);

--    Sp1 := Socket_Port.Create (1111);
--    S3 := Socket_Port.Image (Sp1);
    Text_Io.Put_Line (S3.The_String);

end Test_Str;



pragma Main;

E3 Meta Data

    nblk1=4
    nid=2
    hdr6=6
        [0x00] rec0=29 rec1=00 rec2=01 rec3=032
        [0x01] rec0=20 rec1=00 rec2=03 rec3=018
        [0x02] rec0=10 rec1=00 rec2=04 rec3=000
        [0x03] rec0=02 rec1=01 rec2=2c rec3=342
    tail 0x2152043ec83aa68ee07e4 0x42a00088462060003
Free Block Chain:
  0x2: 0000  00 00 00 79 80 20 20 20 53 33 20 3a 3d 20 53 6f  ┆   y    S3 := So┆