Promotic
WikipediaLinkedInYoutubeTwitterFacebook

SaveToFile - method of object PmTrend

Description:
Storing data of the object into the file of the CSV or DBF type. All columns according to setting sWhat parameter are stored and the data according to setting vFilter parameter.
Syntax:
SaveToFile(sWhat As String, sFile As String, vFilter As Variant, sParams As String) As Boolean
Calling:
b = oTrend.SaveToFile(sWhat, sFile, vFilter, sParams)
Parameters:
sWhat(String) Specification of the variable(s) whose stored values have to be returned. It is possible to enter, for example:
"a1;" or "a1;a2;a3;" if an array of variables from the Data page has to be returned or
"time;" if an array of the time has to be returned or
"attr;" if an array of the record attributes has to be returned or
"*;" if all columns including the time and attribute columns have to be returned or
"*data;" if all data columns have to be returned. In this case, for example, time;*data; means returning the time column and all data columns.

At the variables it is necessary to keep the order by the order from the page. For example, if the order of the variables from the page is a1,a2,a3,..., then it is possible to enter, for example, "a1;a3;" in the parameter but "a3;a1" is wrong.

Time setting can be changed by entering "time:winter;" and then all time values are returned in the "standard time" elsewhere they are in the "local time".

sFile(String) File name (with path) into which the data have to be saved. If a full path is not entered, it is completed relatively according to the application file folder.

It is recommended to use the PROMOTIC path syntax - see PROMOTIC path to files and folders.

vFilter(Variant) Value that defines, for example, the time Range of the got data (time from, time to, number of points, etc.), possible if the data has to be filtered by the value. It is created by calling the CreateFilter, AddFilter methods.
sParams(String) Text list of parameters that define the way of saving into the file. Entries with assigned value are separated by a semicolon, for example "filetype:csv;fmt:standard;".
"filetype:xxx;" (mandatory) - It defines the type of the file specified by the sFile parameter. The following file types are possible:
csv - type is a CSV file. It is the multi-lined file of text values separated, for example, by a semi-colon. It is commonly used, for example, in the MsExcel program.
dbf - the type is a DBF file in the dBASE III format. It is commonly used, for example, by the MsExcel program.
"fmt:xxx;" (optional) - It defines the format of the data stored in the file. The following formats are possible:
standard - (only for CSV) values from rows of the CSV file are stored into corresponding rows in the table
"head:xxx;" (optional) - (only for CSV) It specifies if even the single-line heading with the columns names is stored in the file. The allowed values are:
no (default) - heading is not inserted.
name - heading is inserted, there are variable names in the heading. (Values of the Var.Name property).
displayname - heading is inserted, there are variable names for displaying in the heading (values of the ExtTrend.DisplayName property).
"timeorder:xxx;" (optional) - It specifies if the rows of values are sorted by the time ascending or descending
asc (default) - rows of values are sorted by the time ascending
desc - rows of values are sorted by the time descending
"delimiter:xxx;" (optional) - (only for CSV) The separator of values in the CSV file. The allowed values are:
semicolon (default) - the delimiter is a semicolon.
comma - the delimiter is a comma.
space - the delimiter is a space.
tab - the delimiter is a tab.
number - i.e. the separator is defined as a decimal number of the ASCII character, for example "delimiter:124;" represents the "|" separator (vertical line).
"date.fmt:xxx;" (optional) - Date/time format. The allowed values are:
system (default) - the date/time format is set by OS Windows settings (e.g. 22.11.2010 16:30:15).
pm - PROMOTIC date/time format with 1 second accuracy (e.g. 2010.11.22 16:30:15).
pmmili - PROMOTIC date/time format with 1 millisecond accuracy (e.g. 2010.11.22 16:30:15.250).
real - data type of date/time format Date as a real number (e.g. 41392.123456789).
"real.dsep:xxx;" (optional) - (only for CSV) The format of decimal separator for real numbers. The allowed values are:
system (default) - the decimal separator is defined by OS Windows settings (e.g. 3,14).
dot - the decimal separator is (regardles on OS Windows settings) a period (e.g. 3.14).
comma - the decimal separator is (regardles on OS Windows settings) a comma (e.g. 3,14).
"lastcolsep:xxx;" (optional)
yes - When writing, the separator is added after the last value on the row, when reading, the empty value at the end of each row is ignored. From the CSV file standard point of view, this is not correct.
no (default) - The separators are present only between values on the same row, not at the end. From the CSV file standard point of view, this is correct.
Return Values:
true - saving proceeded successfully
false - otherwise
Example:
Saving the last hour data into the Data.csv file. The first row contains the value identifiers, the data separator is semicolon, the decimal number separator is used according the OS Windows setting and the date syntax also defined by OS Windows.
Dim vFilter, sParams, tNow
tNow = Now
vFilter = oTrend.CreateFilter(tNow-1/24, 1, tNow, 1, -1)
If oTrend.SaveToFile ("time;a1;a2;a3;","Data.csv", vFilter, "filetype:csv;head:name;") Then
  ' Data.csv file created OK
End If
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice