|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 763 (0x2fb)
Types: TextFile
Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦bb25a46d4⟧
└─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16
└─⟦6f12a12be⟧ »DATA«
└─⟦bb25a46d4⟧
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
└─⟦d65440be7⟧ »DATA«
└─⟦bb25a46d4⟧
└─⟦this⟧
with CALENDAR;
with UNCHECKED_CONVERSION;
function UNIQUE return STRING is
type INTEGER5 is range 0 .. 31;
for INTEGER5'SIZE use 5;
type TIME_STRING is
array (POSITIVE range 1 .. (CALENDAR.TIME'SIZE + INTEGER5'SIZE - 1) /
INTEGER5'SIZE) of INTEGER5;
GOOD_CHARACTERS : constant array (INTEGER5) of CHARACTER :=
"012345abcdefghijklmnopqrstuvwxyz";
function TO_TIME_STRING is
new UNCHECKED_CONVERSION (SOURCE => CALENDAR.TIME, TARGET => TIME_STRING);
NOW : constant CALENDAR.TIME := CALENDAR.CLOCK;
TS : constant TIME_STRING := TO_TIME_STRING (NOW);
S : STRING (TS'RANGE);
begin
for I in TS'RANGE loop
S (I) := GOOD_CHARACTERS (TS (I));
end loop;
return S;
end UNIQUE;