[BACK]Return to bye_bye_message.adb CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / System

File: [local] / OpenXM_contrib / PHC / Ada / System / bye_bye_message.adb (download)

Revision 1.1.1.1 (vendor branch), Sun Oct 29 17:45:33 2000 UTC (23 years, 6 months ago) by maekawa
Branch: PHC, MAIN
CVS Tags: v2, maekawa-ipv6, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, RELEASE_1_2_2, RELEASE_1_2_1, HEAD
Changes since 1.1: +0 -0 lines

Import the second public release of PHCpack.

OKed by Jan Verschelde.

with Ada.Calendar;    use Ada.Calendar;

function Bye_Bye_Message return string is

  date : time := Clock;

  function Convert1 ( n : integer ) return character is
  begin
    case n is
      when 1 => return '1';
      when 2 => return '2';
      when 3 => return '3';
      when 4 => return '4';
      when 5 => return '5';
      when 6 => return '6';
      when 7 => return '7';
      when 8 => return '8';
      when 9 => return '9';
      when others => return '0';
    end case;
  end Convert1;

  function Convert2 ( n : integer ) return string is
  begin
    if n < 10
     then declare
            res : string(1..1);
          begin
            res(1) := Convert1(n);
            return res;
          end;
     else declare
            n10 : integer := n/10;
            n1 : integer := n mod 10;
            last : string(1..1);
            first : constant string := Convert2(n10);
          begin
            last(1) := Convert1(n1);
            return first & last;
          end;
    end if;
  end Convert2;

  function Convert ( d : Time ) return string is

    yr : Year_Number;
    mo : Month_Number;
    da : Day_Number;
    se : Day_Duration;

  begin
    Split(d,yr,mo,da,se);
    return Convert2(da) & "/" & Convert2(mo) & "/" & Convert2(yr);
  end Convert;

begin
  return "PHC worked" & " on " & Convert(date) & ".";
end Bye_Bye_Message;