السلام عليكم ورحمة الله 
رمضان كريم إخواني
كما تعرف أخي الكريم أن الايكسل يستطيع تحويل الأرقام الرومانية إلى عادية
بصفة محدودة لا تتجاوز العدد 4999 ويعتمد في هذا التحويل على الدالة
	حيث C6  تمثل الخلية التي سنكتب فيها أرقاما عادية ومن ثمة تتحول إلى رومانية 
لكن لا توجد دالة تقوم بالعكس أي تحول من الروماني إلى العادي في الايكسل
أما في الاوتوبلاي فبمجرد أن نضع الكود التالي في Global function
	ثم نضع أنبوت 1  وزر  نضع فيه الكود التالي :
	نستطيع القيام بما لم يقوم به الايكسل و هو التحويل من الروماني إلى الرقم العادي
سؤالي :
ما الطريقة في الاوتوبلاي للقيام بالعكس أي التحويل من الأرقام العادية إلى رومانية
تقديري 
							
						
					رمضان كريم إخواني
كما تعرف أخي الكريم أن الايكسل يستطيع تحويل الأرقام الرومانية إلى عادية
بصفة محدودة لا تتجاوز العدد 4999 ويعتمد في هذا التحويل على الدالة
كود:
	
	=ROMAN(C6)
لكن لا توجد دالة تقوم بالعكس أي تحول من الروماني إلى العادي في الايكسل
أما في الاوتوبلاي فبمجرد أن نضع الكود التالي في Global function
كود:
	
	function ToNumeral( roman )
    local Num = { ["M"] = 1000, ["D"] = 500, ["C"] = 100, ["L"] = 50, ["X"] = 10, ["V"] = 5, ["I"] = 1 }
    local numeral = 0    
 
    local i = 1
    local strlen = string.len(roman)
    while i < strlen do
        local z1, z2 = Num[ string.sub(roman,i,i) ], Num[ string.sub(roman,i+1,i+1) ]
        if z1 < z2 then
            numeral = numeral + ( z2 - z1 )
            i = i + 2
        else
            numeral = numeral + z1
            i = i + 1    
        end        
    end
 
    if i <= strlen then numeral = numeral + Num[ string.sub(roman,i,i) ] end
 
    return numeral    
end
كود:
	
	X = Input.GetText("Input1");
result = Dialog.Message("Notice", ToNumeral( X ));
سؤالي :
ما الطريقة في الاوتوبلاي للقيام بالعكس أي التحويل من الأرقام العادية إلى رومانية
تقديري
 
							
						
