What’s New in UniPlot 5.3.0

This page describes the changes made to UniPlot 5.3.0 since version 5.2.0.

New Features

  • The data exchange command has been improved. The new commands have the names Data=>Data Exchange (Page) and Data=>Data Exchange (Document).

    List of new features:

  • The number of data files is no longer limited to 16.

  • The data exchange can be executed even if channels are missing in the data files. Missing channels are displayed in a dialog box and can be replaced by new names or will be ignored.

  • Channel names of multiple datasets can be replaced in one step. For example the x-channel of all datasets can be changed from speed to pme.

  • The curve style (line color, -width, -style, marker style) can be modified.

  • Data files can be removed or added.

  • New functions have been added to the formula interpreter (see Functions in Formulas). (Compare functions, Boolean functions, if-than-else function). Example: The following formula be2 = if_than_else(compare_less(torque, 3), 500, be) creates a new channel be2 = f(torque, be). Channel torque values less than 3.0 will be set to 500 and torque values greater or equal to 3.0 will be set to the value in the be channel.

  • Two combo boxes have been added to the file open dialog box (see File=>Open, GetOpenFileName).


    The combo box Recent Folder displays the 10 last opened directories and the Saved Recent Folder combo box displays directories which have been added using the new browse button that opens the following dialog box:

  • A new command line parameter, /ALLUSERS, in the UniPlot setup program has been added to create UniPlot program icons for all of the computer users.


    up530.exe /S /LIC=NNN /ALLUSERS /D=C:\Programme\UniPlot-530

    NNN is the complete license key.

  • Import-Options: A new option for the NC attribute long_name has been added. The long_name attribute is used to label the axes title. So far long_name contained the channel name followed by the unit in braces, e.g. Torque [Nm]. Now a pattern can be set to create the long_name like this: Torque in Nm or Torque/Nm or Torque/(Nm) or in two rows. See File=>Import Options.

  • NC-Browser (see The Data Browser): Single frozen channels can be unfreezed.

  • PowerPoint-Export: The pages can be selected from a list. A PowerPoint template can be used. The size of the exported page has been corrected. It should now be approx. identical to the size in UniPlot. See File=>Send to PowerPoint.

    In some PowerPoint versions (PP2000), vertical aligned text was displayed incorrectly. For example, the y axis title was displayed upside down. Now UniPlot uses WMF files for the export instead of EMF files (only PP2000).

    This bug can be fixed with a Microsoft Service Pack. See http://support.microsoft.com/kb/264709/en-us.

    The graphic export can create EMF (default is EMF) or WMF files. To create WMF files for the export, type in the following command into the command window:

    WriteProfileInt("settings", "Export_EMF", 0)

    To create EMF files:

    WriteProfileInt("settings", "Export_EMF", 1)
  • The second alpha version of the updf library is ready. updf is the file format for the upcoming UniPlot version 6.0. In streams of updf files (see Overview UPDF Files) the normal file functions fwrite, fseek, fprintf etc., can be used. The updf_file_write function have been removed. A number of new functions has been added: updf_dump, updf_gen, updf_copy_to, updf_file_copy_to, updf_prop_copy_to, updf_fileversion, updf_libversion.

New UniScript Functions

  New Functions in UniPlot 5.3.0
DocLoadPage DocLoadPage returns the page handle for the given page name.
GetDirectoryWriteAccess GetDirectoryWriteAccess checks if the user has write access for the given directory.
GetFileWriteAccess GetFileWriteAccess checks if the user has write access for the given file.
PageGetMargin PageGetMargin requests if the magenta colored page frame is visible or not.
PageSetMargin PageSetMargin sets the magenta colored page frame on or off.
Shell_CreateShortcut Shell_CreateShortcut creates a short cut to a program or file on the desktop, in the program menu or in other places.
Shell_DeleteShortcut Shell_DeleteShortcut removes a shell short cut.
Shell_GetShortcut Shell_GetShortcut returns information about a shell short cut file.
Shell_GetSpecialFolder Shell_GetSpecialFolder returns the path for a given ID. For example CSIDL_DESKTOPDIRECTORY returns the desktop directory for the current user.
Shell_IsShortcut Shell_IsShortcut checks if a given short cut already exists..
TableGetMergedCells TableGetMergedCells returns a real matrix with four columns. Each row specifies a range of cells which are merged to one cell.
fcloseall fcloseall closes all with fopen opened files.
fflush fflush flushes the stream buffer.
fgetlen fgetlen returns the file length in bytes.
fsetlen fsetlen sets the file length in bytes.
histogram histogram calculates the histogram of a vector.

Modified UniScript Functions

  Changed Functions in UniPlot 5.3.0
GetListBoxText GetListBoxText splits the return value of a combo box or list box into a string vector. The value is returned from the DialogBox function.
ReportControl_GetInit ReportControl_GetInit converts a string matrix into a scalar string which can be used to initialize the report control in a dialog box.
ReportControl_GetMatrix ReportControl_GetMatrix converts the DialogBox return value for the report control into a matrix.
TYAddData TYAddData adds data to a y/t dataset (1D dataset).
TYCreate TYCreate creates a new y/t datasets (1D dataset).
TYSetData TYSetData sets the coordinates of a y/t datasets (1D-dataset).
TableMergeCells TableMergeCells specifies which neighbouring cells are merged.
XYAddData The XYAddData function adds data to an existing dataset.
XYCreate XYCreate creates a new 2D dataset.
XYSetData XYSetData sets the xy-coordinates of a dataset.
XYSetNewData Is replaced by XYSetData.
fseek fseek moves the file pointer to a new position.
system system creates a new process.

Bug Fixes

The following bugs have been fixed:

  • (ID1154): WMF-Export: For some diagram layouts diagrams and datasets were missing in the WMF file.
  • (ID1156) GetSaveFileName: The file name extension was not automatically added to the file name.
  • (ID1157): Text Object: The text box extent was calculated incorrectly for very short text (1,2 or 3 characters).
  • (ID1163): The TableGetPenList function caused a memory access violation.
  • (ID1165): PDF-Export: If the PDF file name contained blank characters, the PDF file could not be created.
  • (ID1166): The CnLoad function needed write access if the file was created with UniPlot 3.x. A second mistake was that those files were not closed. after loading.
  • (ID1167): The obj_save and obj_load function had a number of errors when objects contained strings with NULL characters.
  • (ID1168): NC-Browser: If the channels were displayed in rows, frozen channels were replaced by other channels. This bug occurred if the dialog box was resized using the “>>” button.
  • (ID1169): NC-Browser: If the channels were displayed in rows, global attributes could not be copied into the clipboard.
  • (ID1170): Asam-Browser: The formula channels were not updater or created.
  • (ID1171): The ExcelWrite function converts negative numbers of type “I” to a positive number in the range 0 to 65535. Negative numbers can not be used for this data type. The documentation did not mention this limitation.
  • (ID1173): File Quick View: If a template with a stacked diagram was used, data was added to the grid diagram.
  • (ID1175): IPW-Save: The file name extension .ipw was not automatically added to the file name. See File=>Save As.
  • (ID1178): PageGetBoundingRect: Hidden axes elements were not ignored. Therefore the bounding rectangle could be greater than expected. For example, this bug could occurred in the PowerPoint export.
  • (ID1179): The TBGetAlignHorz and TBGetAlignVert returned wrong values.
  • (ID1180): The font dialog box displayed fonts where names started with an @ character. For example: “@Arial Unicode MS”. Text objects using this font could not be printed correctly.
  • (ID1185): XML_SetUserData(hParser, data): If data was a UniScript object (see obj_create), a memory access violation could occur after the function was invoked 32 times.
  • (ID1190): PageUndoStart: If the description text was longer than approx. 60 characters, a memory violation error could occur and UniPlot would exit.
  • (ID1191): The fwrite_int8, fwrite_uint8 functions were incorrect if the BIG_ENDIAN_BYTEORDER was used (see fopen).
  • (ID1193): fread: If the parameter n was greater than the number of elements in the file, the function failed. Now all elements will be returned.
  • (ID1194): Some users could not use the File=>PDF-Export command if they had Ghostscript properly installed. In UniPlot 5.2.0 the Ghostscript-exe file was used. Now the Ghostscript-DLL is used.
  • (ID1202): UniPlot:3DView (up3dv.exe) would not start on some computers.
  • (ID1213): A number of bugs in the documentation of the following functions have been fixed: XYCreate, XYAddData, XYSetData, TYCreate, TYAddData, TYSetData.
  • (ID1218):RegOpen failed for elements in the registry where the user had only read access rights because UniPlot tried to open the key with read and write access. Now these keys will be opened with read access only.
  • (ID1219): ExcelRead could not read cells that contained far east characters (for example japanese characters). For these cells UniPlot returned an empty string. This bug created some problems in the Excel data import.
  • (ID1220): PageGetBoundingRect ignored the bounding rectangle of the background page. See Page=>Select Background Page.
  • (ID1222): Text objects containing alias field functions, e.g. _a(Title), were only updated in the active page. See File=>Edit Alias Table.
  • (ID1223): Saving the data of a 2D-Dataset in an Excel file failed if the dataset contained more than approx. 8300 points (Error message “Index out of range”).
  • (ID1225): Line Object: If diagram coordinates for a line object were selected and the axis scaling was changed, the line coordinates were updated to new coordinates. The line object did not change its position.