LOGF()

From Recital Documentation Wiki
Revision as of 12:08, 5 July 2011 by Yvonnemilne (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Purpose

Function to display a string with 'C' style picture formatting to the current standard error destination


Syntax

LOGF(<expC>, <exp1> [,<exp2>...])


See Also

ETOS(), FPRINTF(), PRINTF(), SPRINTF(), TOSTRING()


Description

The LOGF() function displays a string including one or more parameters, <exp1> [,<exp2>...], formatted according to the 'C' style options specified in <expC> to the current standard error destination. Each formatting sequence is applied to the corresponding parameter in the parameter list from left to right.


Formatting option Description
%s Convert to character string (similar to using ETOS() or TOSTRING()
%d For date parameters
%f For floating point numeric parameters
%y For currency parameters
%t For datetime parameters
%T For datetime parameters; character day is also displayed
%l For logical parameters: True, False
%L For logical parameters: Yes, No


Formatting sequences can also contain the following options. These are specified in order, between the '%' and the data type letter.


Formatting option Description
- Left-justify
n Left pad with spaces to width n
n.p Left pad with spaces to width n and include the decimal point and p decimal places (%f only)


Example

doc_logf.prg

// When %s is specified, the corresponding argument is converted to 
// character format (similar to specifying etos()).
// Widths correspond to the default values, e.g. numerics are 10
logf('It is %s, %s to be more precise\n',year(date()),datetime())
logf('The value of pi is %s\n',pi())
logf('They cost %s per %s\n',$99,100)
logf('Logicals can be %s or %s\n',.T.,.F.)
// Formatting sequences can contain a width, which will left pad with spaces 
logf('Right-justify and pad left: %10s this\n','Like')
// Left justify by placing a '-' directly following the '%' character 
logf('Left-justify and pad right: %-10s this\n','Like')
// %d is for numerics
logf('It is %d\n',year(date()))
// %t and %T are for formating datetime data types.
logf('It is %d, %t to be more precise\n',year(date()),datetime())
logf('It is %d, %T to be even more precise\n',year(date()),datetime())
// %f is for floating point numerics
logf('The value of pi is %f\n',pi())
// Decimal places can also be specified for floating point numerics (%f) 
logf('The value of pi to two decimal places is %4.2f\n',pi())
// %y is for formatting currency data types
logf('They cost %y per %d\n',$99,100)
logf('They cost %y per %d\n',$99,1000)
logf('They cost %y per %d\n',$99,10000)
//%l and %L are for formatting logical datatypes.
logf('Logicals can be %l or %l\n',.T.,.F.)
logf('Logicals can also be %L or %L\n',.T.,.F.)

run from Linux prompt

$ recital < doc_logf.prg 2> error.log

error.log

It is       2009, 11/11/2009 11:41:51 AM to be more precise
The value of pi is  3.1415926
They cost $99.0000 per        100
Logicals can be True or False
Right-justify and pad left:       Like this
Left-justify and pad right: Like       this
It is 2009
It is 2009, 11/11/2009 11:41:51 AM to be more precise
It is 2009, Wednesday November 11 2009 11:41:51 to be even more precise
The value of pi is 3.141593
The value of pi to two decimal places is 3.14
They cost $99.0000 per 100
They cost $99.0000 per 1000
They cost $99.0000 per 10000
Logicals can be True or False
Logicals can also be Yes or No


Products

Recital, Recital Server