format, format print
Console Library
The function format print provides formatted output on the console, using the knowledge of the current console width (number of columns).
The function format puts the formatted rows of text into a set of strings in the return value, with one element per row.
The text contents provided may contain the B4P-private UNICODE chracters to apply formatting for the console such as changing text color.
The formatting is not suitable for contents saved as tables and expecting Excel to see the formatting made.
Following formatting features are supported:
Formatting Type | Formatting Values | Explanation | Default value |
---|---|---|---|
align | left, center, right, full | Applies justification. With full justificaiton, additional spaces will be inserted in random positions where spaces are existing. | left |
left margin | Numeric value | Specify a margin in number of characters. Negative values count from console width leftward. Allow for at least 10 characters between left and right margin. | 1 |
right margin | Numeric value | Specify a margin in number of characters from right to left. Negative values count from right to left. Allow for at least 10 characters between left and right margin. Prohibitive margins, e.g. left margin too big or beyond end of screen, will result in exceptions. | console width-1 |
wrap | no, yes, word | Specifies wrapping. if 'no' is selected, then excessive contents will be truncated. | word |
indent | Numeric value | After every wraparound, the indent will be applied in addition to the left margin. Negative indents shift the position leftward if the margin position is greater than 0. | 0 |
tab interval | Numeric value | Sets the interval. Range: 0 - 10 characters before right margin. 0 = Only the first tab is considered. 1 = Tab is same as a space 2 and higher: Advances till next tab stop. For 4, it is 5, 9, 13, etc. Advice: For showing source code text, consider 4 instead. Note that tabs do always advance to the next position after the column divisible by the specified tab value. | 8 |
first tab | Numeric value | Apply a different value (Range: 2 - 10 characters before right margin) for the first tab in order to provide structured output. | 9 |
style | true, false | If 'true' is specified, then all style related contents in the text, such as underscoring, different colors, etc., will be suppressed. | true |
paragraph | true, false | true: Multiple consecutive non-blank parameters belong to the same paragraph. false: Every parameter end output with new line and continues with next paragraph. | true |
Note: The number of usable columns is 1 less than the scrren width, i.e. 79 characters for a 80-character wide screen. This is due to effects in some consoles where outputting exactly 80 characters (on an 80 character wide console) would issue a line break on some terminals and console programs.
Under normal conditions, the 'Console Library' is loaded automatically, so no 'include(...)' call is needed.
Min. 1
No. | Type | Description |
---|---|---|
1 input |
set | Pattern The supplied pattern will be applied repeatedly until the screen or specified boundaries have been reached. If a blank string is provided, then it will be replaced by the default pattern, namely the underscore character '_'. The patterns will be stopped when the final position has been reached, even if the last used pattern as supplied is incomplete. Default value: Default settings apply as specified in the table above |
Opt. 1, 2,.. input |
valid types | Raw text contents Text and other contents to be printed out. Default value: -1 (full screen width) |
Type | Description |
---|---|
numeral | Number of rows printed Applicable to format print(): The number of rows printed onthe console |
set | Formatted output Applicable to format(): Generated output. Every set element contains one row of text. |
declaration of independence[] = "In Congress, July 4, 1776" + tab + """
The unanimous Declaration of the thirteen united States of America, When in the Course of human events,
it becomes necessary for one people to dissolve the political bands which have connected them with another,
and to assume among the powers of the earth, the separate and equal station to which the Laws of Nature
and of Nature's God entitle them, a decent respect to the opinions of mankind requires that they should
declare the causes which impel them to the separation.
""";
substitute all( declaration of independence[], new line, ' ' ); // Do it without line breaks
echo(new line, "Declaration of independence, center aligned");
format print( {paragraph, true, first tab, 30, indent, 30, align, center }, declaration of independence[] );
echo(new line, "Declaration of independence, fully aligned, indentation by 4 only");
format print( {paragraph, true, first tab, 30, indent, 4, align, full }, declaration of independence[] );
Declaration of independence, center aligned
In Congress, July 4, 1776 The unanimous Declaration of the thirteen united
States of America, When in the Course of human
events, it becomes necessary for one people to
dissolve the political bands which have connected
them with another, and to assume among the powers
of the earth, the separate and equal station to
which the Laws of Nature and of Nature's God
entitle them, a decent respect to the opinions of
mankind requires that they should declare the
causes which impel them to the separation.
Declaration of independence, fully aligned, indentation by 4 only
In Congress, July 4, 1776 The unanimous Declaration of the thirteen united
States of America, When in the Course of human events, it becomes necessary
for one people to dissolve the political bands which have connected them
with another, and to assume among the powers of the earth, the separate and
equal station to which the Laws of Nature and of Nature's God entitle them,
a decent respect to the opinions of mankind requires that they should
declare the causes which impel them to the separation.