Printing with the Comma Separator

Level:
Level1

Written By TheVBProgramer.

$ReqTestHarness$

Note: The formatting option for Print discussed in this topic is only meaningful if the object you are printing to is set to a monospaced font (like Courier or Fixedsys). The output will not look right if the object is set to a proportional font (like the default MS Sans Serif, Times New Roman, etc.).

 

When items the expression list of the Print statement are separated by commas, VB looks at the line as a series of "zones" consisting of 14 characters each, and VB moves to the next "print zone" before printing the item following the comma. (Note: In previous versions of BASIC such as QBasic, you were limited to five zones per line; this is not true in VB).

 

Consider the following program segment:

 

Print " BAND MEMBERS"

Print

Print "NAME", "INSTRUMENT"

Print "----", "----------"

Print "PAUL", "RHYTHM"

Print "GENE", "BASS"

Print "ACE", "LEAD"

Print "PETER", "DRUMS"

Print , , "COBO CONFERENCE CENTER"

Print , "Detroit", "Michigan", , "48226"

 

The Print statements above would cause the following output to be generated (the shaded area below is a guide to show you what positions the items would be printed in, the shaded portion would not actually print):

 

Zone 1 Zone 2 Zone 3 Zone 4 Zone 5

1 2 4 5 7

1.............5.............9.............3.............7............0

BAND MEMBERS

 

NAME INSTRUMENT

---- ----------

PAUL RHYTHM

GENE BASS

ACE LEAD

PETER DRUMS

COBO CONFERENCE CENTER

Detroit Michigan 48226

 

If a particular item consists of more than 14 characters, that item will take up as many print zones as are necessary, shifting the other items over to adjacent zones. For example, the statement

 

Print "ABC", "HENRY WADSWORTH LONGFELLOW", "DEF"

 

causes the following output to be generated:

 

Zone 1 Zone 2 Zone 3 Zone 4 Zone 5

1 2 4 5 7

1.............5.............9.............3.............7............0

ABC HENRY WADSWORTH LONGFELLOW DEF

 

Note: In all the "print zone" examples above, only string constants were used in the expression list, but of course numeric constants and string or numeric variables can certainly be used (and the "leading sign / trailing space" rule would still apply for numeric items).

 

If you wish, set up another "Try It" project, and place the sample Print statements in the cmdTryIt_Click event, as follows:

 

Private Sub cmdTryIt_Click()

 

Print " BAND MEMBERS"

Print

Print "NAME", "INSTRUMENT"

Print "----", "----------"

Print "PAUL", "RHYTHM"

Print "GENE", "BASS"

Print "ACE", "LEAD"

Print "PETER", "DRUMS"

Print , , "COBO CONFERENCE CENTER"

Print , "Detroit", "Michigan", , "48226"

Print "ABC", "HENRY WADSWORTH LONGFELLOW", "DEF"

 

End Sub

 

When you run the project and click the "Try It" button, the output should look like this:

 

 

Download the VB project code for the example above here.

If you enjoyed this post, subscribe for updates (it's free)