Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Римские > Арабские

01.01.2007
{ **** UBPFD *********** by kladovka.net.ru ****
>> Конвертация : Римские -> арабские ; Арабские->Римские
 
Зависимости: 
Автор:       Gua, fbsdd@ukr.net, ICQ:141585495, Simferopol
Copyright:   
Дата:        03 мая 2002 г.
********************************************** }
 
Const
R: Array[1..13] of String[2] =
 ('I','IV','V','IX','X','XL','L','XC','C','CD','D','CM','M');
A: Array[1..13] of Integer=
 (1,4,5,9,10,40,50,90,100,400,500,900,1000);
 
..............
 
Function RomanToArabic(S : String) : Integer; //Римские в арабские
var
  i, p : Integer;
begin
  Result := 0;
  i := 13;
  p := 1;
  While p <=Length(S) do
  begin
    While Copy(S, p, Length(R[i])) <>R[i] do
    begin
      Dec(i);
      If i = 0 then Exit;
    end;
    Result := Result + A[i];
    p := p + Length(R[i]);
  end;
end;