Display serial number as roman letters in Crystal Reports


in my reports on crystals, I need to display serial numbers in the form of Roman letters (i, ii, iii, iv, etc.). I have a serial number recorded as a record number (1,2,3,4 ...), so what I have to do for it in the crystal report.

+6
source share
2 answers

I can not take most of the loan; I just ported the code from this VB Helper article to Crystal, but it was a fun exercise:

NumberVar iCounter := 0; Local StringVar ch := ""; Local NumberVar result := 0; Local NumberVar new_value := 0; Local NumberVar old_value := 0; Local StringVar temp := ""; temp := UpperCase({ ?@Roman }); old_value = 1000; For iCounter := 1 To Len(temp) do ( // See what the next character is worth. ch := Mid(temp, iCounter, 1); if ch = "I" then new_value := 1 else if ch = "V" then new_value := 5 else if ch = "X" then new_value := 10 else if ch = "L" then new_value := 50 else if ch = "C" then new_value := 100 else if ch = "D" then new_value := 500 else if ch = "M" then new_value := 1000; // See if this character is bigger // than the previous one. If new_value > old_value Then // The new value > the previous one. // Add this value to the result // and subtract the previous one twice. result := result + new_value - 2 * old_value Else // The new value <= the previous one. // Add it to the result. result := result + new_value; old_value := new_value; ); // Format the number without commas or decimals ToText(result, 0, ""); 

Just replace my { ?@Roman } tag with your variable and you are all set.

+1
source

Just use the Roman () function provided by Crystal Report

+1
source

Source: https://habr.com/ru/post/918067/


All Articles