Navigation:  Programmer's Reference > Sending data to DPlot from another application >

SetDecimalSymbol macro command

Print this Topic Previous pageReturn to chapter overviewNext page

Macro commands may be used either in macros or by sending the commands to DPlot via dynamic data exchange (DDE). Some commands are valid only in macros (noted by Macros Only). Commands sent to DPlot via DDE must be enclosed by square brackets [     ]. Macro commands should not include the brackets.

Command parameters shown in the descriptions below are placeholders for the actual values. Command parameters are either numeric values, equations that evaluate to numbers, or character strings. Character string parameters are always bound by double quotation marks. Equations must be preceded by an equals sign (=).

The pipe symbol (|) in the command syntax indicates that a parameter is optional, and should not be included in your macro unless otherwise noted.

All indices into arrays are 1-based, e.g. Curve1=1 refers to the first curve in a plot.

A 0x prefix for numbers in the descriptions below indicates hexadecimal notation; e.g. 0x0010 = 16.

JR/Viewer indicates that the command is supported by DPlot Jr or DPlot Viewer.
JR/Viewer indicates that the command is NOT supported by DPlot Jr or DPlot Viewer.


 

[SetDecimalSymbol("symbol")]

JR   Viewer

Sets the decimal symbol for numbers. If a comma is used, then multiple arguments to functions in Y=f(X) and similar commands must be separated by semicolons. This setting has no effect on macros or on calls to DPLOTLIB functions from another program: The decimal symbol in that context must be a period '.', and arguments must be separated by commas. Text file output and saving data to the Clipboard is also not affected by this setting: DPlot will use a '.' for the decimal symbol and CSV files will use a comma as the column delimiter.

If symbol is omitted, DPlot will use whatever symbol is currently set with Control Panel. (This tie to Control Panel is not persistent; if the user later changes the Control Panel setting, the decimal symbol assumed by DPlot does not automatically change.)

Please note: This setting is global within DPlot and persists after your program is finished interacting with DPlot. If you need to use this command because, for example, your program instructs DPlot to read CSV files and your end users typically use a comma for a decimal symbol, then you should check this setting before forcing the decimal symbol, and restore the user's setting when done:

char sDecimal[2];

int dwSize=sizeof(sDecimal);

DPlot_Request(0,"DecimalSymbol",sDecimal,dwSize);

.

.

DPlot_Command(0,"[SetDecimalSymbol(\".\")]");

.

.

sprintf(cmd,"[SetDecimalSymbol(\"%s\")]",sDecimal);

DPlot_Command(0,cmd);

 

 


Please note:

Character string arguments require a bit of care, depending on your development environment. Character string arguments in all DPlot commands are always enclosed by double quotation marks. In some environments (Visual Basic and all flavors of C, for example), double quotation marks are also used to delineate all character strings (including the command itself). The following example will always cause a syntax error in Visual Basic:

ret = DPlot_Command(docnum,"[FileOpen("myfile.grf")]")

Instead, use:

ret = DPlot_Command(docnum,"[FileOpen(""myfile.grf"")]")

in C, C++, C# you'd accomplish the same thing with:

ret = DPlot_Command(docnum,"[FileOpen(\"myfile.grf\")]");

If a character string argument is a variable, as in (VB):

Dim arg as string
arg = "myfile.grf"

... then you can build the command in VB as:

ret = DPlot_Command(docnum,"[FileOpen(" & chr$(34) & arg & chr$(34) & ")]")

In all flavors of C, the same can be accomplished with

char arg[256];
char cmd[512];
strcpy(arg,"myfile.grf");
sprintf(cmd,"[FileOpen(\"%s\")]",arg);
ret = DPlot_Command(docnum,cmd);

This does not apply to the DPlot macro editor, in which each line is by definition a character string and does not require delineators, nor to FORTRAN and possibly other languages, in which the delineator for character strings is a single quote, e.g. '[FileOpen("...")]'

To embed a double quotation mark within a character string which is itself delineated by double quotation marks, use the Symbol font equivalent instead. For example, "Radius=6{\s²}" inches will be processed as

Radius=6"

 


 

 


Page url: https://www.dplot.com/help/index.htm?setdecimalsymbol_macro_command.htm