Bug #2193
message with view-as alert-box visual errors when using special characters
0%
History
#1 Updated by Vadim Gindin over 10 years ago
- File first.png added
- File second.png added
- File third.png added
Here is the problem test.
message "1 \n\r2 \n\r3" view-as alert-box. message "11 \r\n12 \r\n13" view-as alert-box. message "21 \r22 \r23" view-as alert-box.
I've attached 3 screen shots to show sequenced screens (see png's).
When you'll see these images you'll find that there are several errors there:
1) Probably \r as a carriage return character really moves carriage to beginning of new line and ignores alert-box boundaries. 2 and 3 are in the start of the lines.
2) The second alert-box is almost correct except on space before 13 and of course it didn't erase 2 and 3 from the first screen
3) The third screen is the most cryptic. 22 is gone. and 23 overwrites 2 from the first screen.
I suspect that the reason can be in a terminal specific features.
#2 Updated by Vadim Gindin over 10 years ago
1. First problem is wrong visual effects that appears when we use message "somestr" view-as alert-box
statement. This problem is described above.
2. Have following testing procedure.
output to skip_test. message "first string " skip "second string " skip "third string " skip.
From the Progress docs:
SKIP [ ( n ) ] Indicates a number (n) of blank lines to insert into the message. The value of n can be 0. If you do not specify n, or if n is 0, a new line is started unless the current position is already the start of a new line. You can only use this option with the VIEW-AS ALERT-BOX option.
The problems are:
2a. Progress error. The output string is truncated in terminal during execution of the previous procedure.
first string
It seems, that Progress processes skip
statement only substituting it with '\n' in a message string. Here is a analogue statement message "first\nsecond\nthird".
2b. If the source message statement with skip is used with view-as alert-box
and the analogue statement is also used with view-as alert-box
. The only difference in Progress behavior is the different text alignment in the alert box. In the first case the alignment in the alert box is by right-boundary and in the second case - is by left-boundary.
2c. Runtime error. The wrong output in a resulting file skip_test
after execution converted Java class.
first string com.goldencode.p2j.ui.SkipEntity@9e7d46 second string com.goldencode.p2j.ui.SkipEntity@132b038 third string com.goldencode.p2j.ui.SkipEntity@cf5006
3. Having the next test:
message "111 \r222 \r333".
The Progress outputs the string 333
. It needs to find out why it does so.
4. Slashes problem. Having test:
output to skip_test. message "one \ntwo \nthree". message "1 \n\r2 \n\r3". message "11 \r\n22 \r\n33". message "111 \r222 \r333".
The converted Java class contains:
message("one \\ntwo \\nthree"); message("1 \\n\\r2 \\n\\r3"); message("11 \\r\\n22 \\r\\n33"); message("111 \\r222 \\r333");
Extra slashes was added during conversion. The Java strings are not the same as source Progress strings. The Java won't see the special char \n
, that is in the Progress string. Java will see two symbols: escaped slash \
and the n
character.