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 - downloadIndex: ┃ B T ┃
Length: 2699 (0xa8b) Types: TextFile Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11 └─ ⟦129cab021⟧ »DATA« └─⟦this⟧
with String_Utilities; separate (Lex) package body Convert is function From_Int_To_Natural (S : String) return Natural is Ok : Boolean := True; Target : Integer := 0; begin String_Utilities.String_To_Number (S, Target, Ok); if Ok then return Natural (Target); else return 0; end if; end From_Int_To_Natural; function From_Based_To_Natural (S : String) return Natural is S_Base : constant String := String (S (2 .. 3)); I_Base : Integer := 0; N_Base : Natural := 0; Source : constant String := String (S (5 .. S'Last)); Ok : Boolean := True; Target : Integer := 0; begin String_Utilities.String_To_Number (S_Base, I_Base, Ok); if Ok then N_Base := Natural (I_Base); String_Utilities.String_To_Number (Source, Target, Ok, N_Base); if Ok then return Natural (Target); else return 0; end if; else return 0; end if; end From_Based_To_Natural; function From_Hour_To_Natural (S : String) return Natural is Time : constant String := String (S); Source : String (1 .. 10); Source_Length : Natural := 0; Value : Natural := 0; Target : Natural := 0; Ok : Boolean := True; begin for I in 1 .. Time'Last loop case Time (I) is when 'h' | 'H' => String_Utilities.String_To_Number (Source (1 .. Source_Length), Target, Ok); if Ok then Value := Value + Target * 36000; end if; Source_Length := 0; when 'm' | 'M' => String_Utilities.String_To_Number (Source (1 .. Source_Length), Target, Ok); if Ok then Value := Value + Target * 600; end if; Source_Length := 0; when 's' | 'S' => String_Utilities.String_To_Number (Source (1 .. Source_Length), Target, Ok); if Ok then Value := Value + Target; end if; Source_Length := 0; when '.' => null; when others => Source_Length := Source_Length + 1; Source (Source_Length) := Time (I); end case; end loop; return Value; end From_Hour_To_Natural; end Convert;