[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
?|??
Display one or more values to the console
------------------------------------------------------------------------------
Syntax
? | ?? [<exp list>]
Arguments
<exp list> is a list of values to display and can be any combination
of data types, including memo.
If you specify no argument and use the ? command, a carriage
return/linefeed is sent to the console. If you use the ?? command
without arguments, nothing happens.
Description
? and ?? are console commands that display the results of one or more
expressions, separated by a space, to the console. These commands are
also command synonyms for the QOUT() and QQOUT() functions,
respectively.
Although functionally similar, ? and ?? differ slightly. ? sends a
carriage return/linefeed to the console before displaying the results of
the expression list. ?? displays output at the current screen cursor or
printhead position. This lets you use successive ?? commands to display
output to the same line.
A ? or ?? command locates the cursor or printhead one position to the
right of the last character displayed. If SET PRINTER is OFF, ROW() and
COL() are updated to reflect the new cursor position. If SET PRINTER is
ON, PROW() and PCOL() are updated with the new printhead position.
If output from a ? or ?? command reaches the edge of the screen as
reported by MAXCOL(), it wraps to the next line. If the output reaches
the bottom of the screen as reported by MAXROW(), the screen scrolls up
one line.
You can echo output from the ? or ?? commands to the printer by
specifying a SET PRINTER ON command before beginning output. You can
echo output from both of these commands to a text file using SET
ALTERNATE TO <xcFile> to create the file, and SET ALTERNATE ON to begin
echoing to the file. Like other console commands, SET CONSOLE OFF
suppresses the display to the screen without affecting output to the
printer or text file.
To format any expression specified, use TRANSFORM() or a user-defined
function. If you need to pad a variable length value for column
alignment, use any of the PAD() functions to left-justify, right-
justify, or center the value. See the examples below.
Examples
. This example prints a record from a database file using ? and
?? commands with PADR() to ensure column alignment:
LOCAL nPage := 0, nLine := 99
USE Salesman INDEX Salesman NEW
SET PRINTER ON
SET CONSOLE OFF
DO WHILE !EOF()
IF nLine > 55
IF nPage != 0
EJECT
ENDIF
? PADR("Page", LTRIM(STR(nPage++)), 72)
?? DTOC(DATE())
?
?
? PADC("Sales Listing", 79)
?
nLine := 5
ENDIF
? Name, Address, PADR(RTRIM(City) + "," ;
+ State, 20), ZipCode
nLine++
SKIP
ENDDO
SET CONSOLE ON
SET PRINTER OFF
CLOSE Salesman
Files Library is CLIPPER.LIB.
See Also:
@...SAY
PAD()
QOUT()
SET ALTERNATE
SET CONSOLE
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson