Promotic

SaveToFile - metoda objektu PmaTrendGroup

Popis:
Uložení dat tohoto objektu do souboru typu CSV nebo DBF.
Uloží se všechny sloupce podle nastavení parametru sWhat a data podle zadání parametru vFilter.
Syntaxe:
Boolean SaveToFile(String sWhat, String sFile, Variant vFilter, String sParams)
Parametry:
sWhat(String) Specifikace proměnné (nebo proměnných), jejíž uchované hodnoty se mají vrátit. Lze zadat například:
"a1;" nebo "a1;a2;a3;", pokud se má vrátit pole proměnných karty "Data" nebo
"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 změ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:
standard - (pouze pro CSV) hodnoty v řádcích v tabulce jsou uloženy na odpovídající řádky CSV souboru
"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 (nezávisle na nastavení OS Windows) (např. 3.14).
comma - desetinný oddělovač je čárka (nezávisle 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če jsou jenom mezi hodnotami na řádku a nikoliv na konci řádku. Z hlediska CSV souboru je toto správně.
Vrácená hodnota:
true - uložení proběhlo v pořádku
false - V jiném případě
Příklad:
Uložení poslední hodiny dat vybraných proměnných do souboru Data.csv. V prvním řádku budou identifikátory jednotlivých proměnných, oddělovač hodnot bude středník, desetinný oddělovač reálných čísel bude podle OS Windows a formát datumu bude podle OS Windows.
JavaScriptVBScriptVyber a zkopíruj do schránky

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
}

Historie:
Pm8.00.12: Metoda pro DBF formát vrací hodnotu true při úspěchu.
Pm8.00.09: Zobecnění o:
- možnost ukládání do dBase (DBF) souboru, viz "filetype:dbf;".
- možnost určení, zda desetinný oddělovač reálného čísla má být tečka nebo čárka, viz parametr "real.dsep:xxx;".
- možnost určení formátu pro datum a čas, viz parametr "date.fmt:xxx;".
© MICROSYS, spol. s r.o.