sWhat | (String) Specifikace proměnné (nebo proměnných), jejíž uchované hodnoty se mají vrátit. Lze zadat například:
"time;", pokud se má vrátit pole časů, nebo
"attr;", pokud se má vrátit pole atributů záznamu, nebo
"*;", pokud se mají vrátit všechny sloupce včetně časového i atributního, nebo
"*data;", pokud se mají vrátit všechny datové sloupce. V tom případě například "time;*data;" znamená vrácení časového sloupce a všech datových sloupců.
U proměnných je nutno zachovat pořadí podle pořadí v kartě. Například pokud pořadí proměnných v kartě je a1,a2,a3,..., pak v parametru lze zadat například "a1;a3;", ale "a3;a1" je chybně. Výběr času lze pozměnit zadáním "time:winter;", a tehdy se vrátí všechny hodnoty času jako "zimní čas", v jiném případě jako "lokální čas". |
---|---|
sFile | (String) Název souboru s cestou, do kterého se mají data uložit.
Pokud není zadána celá cesta, pak se doplní relativně k složce aplikace. Je doporučeno použít cestu v syntaxi PROMOTIC - viz PROMOTIC cesta k souborům nebo složkám. |
vFilter | (Variant) Hodnota určující například časový rozsah získávaných dat (čas od, čas do, počet bodů, atd.), případně zda data mají být filtrována dle hodnoty. Je vytvořen voláním metod CreateFilter, AddFilter. |
sParams | (String) Textový seznam parametrů definující způsob uložení do souboru. Údaje jsou zde ve formátu KeyVal, například "filetype:csv;fmt:standard;".
"filetype:xxx;" (povinné) - Určuje typ souboru definovaný v parametru sFile. Jsou možné tyto typy souboru:
csv - typ je CSV soubor. Je to víceřádkový soubor textových hodnot například oddělené středníkem. Je běžně využívaný například v programu MsExcel.
dbf - typ je DBF soubor ve formátu dBase III. Je běžně využívaný například v programu MsExcel. "fmt:xxx;" (nepovinné) - Určuje formát uložených dat v souboru. Jsou možné tyto formáty:
"head:xxx;" (nepovinné) - (pouze pro CSV)Určuje, zda v souboru bude uložena i jednořádková hlavička s názvy sloupců. Povolené hodnoty jsou:
no (přednastaveno) - Hlavička není vložena.
name - Hlavička je vložena, v hlavičce jsou názvy veličin. (Hodnoty vlastnosti PmVar.Name).
displayname - Hlavička je vložena. V hlavičce jsou názvy proměnných pro zobrazení (hodnoty vlastnosti ExtTrend.DisplayName). "timeorder:xxx;" (nepovinné) - Určuje, zda řádky hodnot budou seřazeny časově vzestupně nebo sestupně
asc (přednastaveno) - řádky hodnot budou řazeny časově vzestupně
desc - řádky hodnot budou řazeny časově sestupně "delimiter:xxx;" (nepovinné) - (pouze pro CSV) Oddělovač hodnot v souboru CSV. Povolené hodnoty jsou:
semicolon (přednastaveno) - oddělovač je středník.
comma - oddělovač je čárka.
space - oddělovač je mezera.
tab - oddělovač je tabulátor.
number - tzn. oddělovač je zadán číslem ASCII znaku (decimálně), například "delimiter:124;" znamená oddělovač "|" (vertikální čára). "date.fmt:xxx;" (nepovinné) - Formát datumu a času. Povolené hodnoty jsou:
system (přednastaveno) - formát datumu a času je určen nastavením v OS Windows (např. 22.11.2010 16:30:15).
pm - PROMOTIC formát datumu a času na celé sekundy (např. 2010.11.22 16:30:15).
pmmili - PROMOTIC formát datumu a času - přesnost 10 ms (např. 2010.11.22 16:30:15.250).
real - formát datumu a času datového typu Date typu reálné číslo (např. 41392.123456789). "real.dsep:xxx;" (nepovinné) - (pouze pro CSV) Formát desetinného oddělovače u reálných čísel. Povolené hodnoty jsou:
system (přednastaveno) - desetinný oddělovač je určen nastavením v OS Windows (např. 3,14).
dot - desetinný oddělovač je tečka (bez ohledu na nastavení OS Windows) (např. 3.14).
comma - desetinný oddělovač je čárka (bez ohledu na nastavení OS Windows) (např. 3,14). "lastcolsep:xxx;" (nepovinné)
yes - Při zápisu se přidá oddělovač za poslední hodnotou na řádku, při načtení se prázdná hodnota na konci každého řádku ignoruje. Z hlediska CSV souboru to není správně.
no (přednastaveno) - Oddělovačy jsou jenom mezi hodnotami na řádku a nikoliv na konci řádku. Z hlediska CSV souboru je toto správně. |
var tNow = Pm.Time;
var oTrend = pMe.Pm("/Trends");
var vFilter = oTrend.CreateFilter(tNow - 1 / 24, 1, tNow, 1, -1);
if (oTrend.SaveToFile("time;a1;a2;a3;", "Data.csv", vFilter, "filetype:csv;head:name;"))
{
// Data.csv file created OK
}