General warning that the runtime doesn’t display large numbers correctly depending on the picture.
In this example, the entry fields all have the same USE variable that is a decimal 20,2 with a value of has 10055304085524.01. Then value displayed is correct with @n-20.2, @n-19.2 and @n-18.2. The formatting characters are removed but the number is still correct. @n-14.2 correctly displays ####s indicating the number doesn’t fit the format.
However, @17, 16 and 15 display a number that is not the correct value which could be very misleading.
This is confirmed still an issue in C9.1 → C11.1. It was actually worse in C7 and C8. All of the pictures @20->@15 displayed incorrectly.
This has been reported and confirmed by SoftVelocity.
Here is a sample program demonstrating the issue:
PROGRAM
MAP
END
Entry1 Decimal(18,2)
String1 string(25)
Window WINDOW('Caption'),AT(,,242,178),GRAY,FONT('Segoe UI',11)
STRING(@S25),AT(23,10),USE(String1)
PROMPT('Picture @n-20.2'),AT(23,22,60,13),USE(?PROMPT1)
ENTRY(@n-20.2),AT(90,23),USE(ENTRY1,, ?ENTRY1)
PROMPT('Picture @n-19.2'),AT(23,37,60,13),USE(?PROMPT1:2)
ENTRY(@n-19.2),AT(90,38),USE(ENTRY1,, ?ENTRY1:2)
PROMPT('Picture @n-18.2'),AT(23,52,60,13),USE(?PROMPT1:3)
ENTRY(@n-18.2),AT(90,53),USE(ENTRY1,, ?ENTRY1:3)
PROMPT('Picture @n-17.2'),AT(23,68,60,13),USE(?PROMPT1:4)
ENTRY(@n-17.2),AT(90,68),USE(ENTRY1,, ?ENTRY1:4)
PROMPT('Picture @n-16.2'),AT(23,84,60,13),USE(?PROMPT1:5)
ENTRY(@n-16.2),AT(90,84),USE(ENTRY1,, ?ENTRY1:5)
ENTRY(@n-15.2),AT(90,99),USE(ENTRY1,, ?ENTRY1:6)
PROMPT('Picture @n-15.2'),AT(23,98,60,13),USE(?PROMPT1:6)
PROMPT('Picture @n-14.2'),AT(23,113,60,13),USE(?PROMPT1:7)
ENTRY(@n-14.2),AT(90,114),USE(ENTRY1,, ?ENTRY1:7)
BUTTON('&Close'),AT(95,154,41,14),USE(?OkButton),STD(STD:Close),DEFAULT
END
CODE
Entry1 = 10055304085524.01
String1 = Entry1
open(Window)
accept
end
close(Window)