The linked page documents the Display Format Specifiers for expressions in the Evaluate / Modify dialog of the Delphi IDE.
The linked page documents the Display Format Specifiers for expressions in the Evaluate / Modify dialog of the Delphi IDE.
S and C seem to do the same: Display as string and use the #$xx representation for control characters. Is there any difference between using S and C? In my tests, I could not find one.
D is for decimal.
H or X is for hexadecimal. I could have sworn that it is possible to specify a minimum length for hexadecimal, so "5,H4" would be displayed as "$0005", but it doesn't seem to work. Am I missing something?
Fn is for floating point where n specifies the number of significant digits. Which, to say the truth, was new to me. It works fine for "1.23456789,F5" displaying "1.2346", but unfortunately does not display "1.00000000,F5" as "1.0000". Also, it does not display "0.00000000001,F2" as "0.0" but insists on the E notation which makes it pretty useless in my opinion, because the E notation is the default anyway.
R is for records where it displays the field names of a record in addition to the values.
And apparently M is missing from the documentation. It displays a byte dump of the memory used to store a variable. So with s='ABCD' "s,M" will display "$41 $42 $43 $44". It's possible to combine it with D to display the values in decimal: "s,MD" will display "65 66 67 68". I could have sworn that it is also possible to specify the number of bytes to display, but I couldn't get it to work in my tests.
http://docwiki.embarcadero.com/RADStudio/en/Evaluate/Modify#Display_Format_Specifiers
S and C seem to do the same: Display as string and use the #$xx representation for control characters. Is there any difference between using S and C? In my tests, I could not find one.
D is for decimal.
H or X is for hexadecimal. I could have sworn that it is possible to specify a minimum length for hexadecimal, so "5,H4" would be displayed as "$0005", but it doesn't seem to work. Am I missing something?
Fn is for floating point where n specifies the number of significant digits. Which, to say the truth, was new to me. It works fine for "1.23456789,F5" displaying "1.2346", but unfortunately does not display "1.00000000,F5" as "1.0000". Also, it does not display "0.00000000001,F2" as "0.0" but insists on the E notation which makes it pretty useless in my opinion, because the E notation is the default anyway.
R is for records where it displays the field names of a record in addition to the values.
And apparently M is missing from the documentation. It displays a byte dump of the memory used to store a variable. So with s='ABCD' "s,M" will display "$41 $42 $43 $44". It's possible to combine it with D to display the values in decimal: "s,MD" will display "65 66 67 68". I could have sworn that it is also possible to specify the number of bytes to display, but I couldn't get it to work in my tests.
http://docwiki.embarcadero.com/RADStudio/en/Evaluate/Modify#Display_Format_Specifiers
I guess, the hex length is determined from the data size.
ReplyDeleteI need to check out some Olde turbo pascal manuals, as I think you are right with the hex length argument.
ReplyDeletetroll: Is there one that can be applied against an Interface that shows the class fields?
ReplyDeleteNicholas Ring cast back to the class implementating the interface. If it's not implemented (COM,.NET) you're out of luck.
ReplyDeleteJeroen Wiert Pluimers yep, know that one. I was just hoping that the IDE could do it for me (as I am a programmer and lazy and all that)
ReplyDeleteNicholas Ring a ,O option would be nice indeed (:
ReplyDelete