Promotic
WikipediaLinkedInYoutubeTwitterFacebook

SaveToFile - metoda objektu PmTrend

Popis:
Uložení dat tohoto objektu do souboru typu CSV nebo DBF. Uloží se všechny sloupce dle zadání parametru sWhat a data dle zadaní parametru vFilter.
Syntaxe:
SaveToFile(sWhat As String, sFile As String, vFilter As Variant, sParams As String) As Boolean
Volání:
b = oTrend.SaveToFile(sWhat, sFile, vFilter, sParams)
Parametry:
sWhat(String) Specifikace veličiny (nebo veličin), jejíž uchované hodnoty se mají vrátit. Lze zadat například:
"a1;" nebo "a1;a2;a3;", pokud se má vrátit pole veličin ze záložky Data nebo
"time;", pokud se má vrátit pole časů, nebo
"attr;", pokud se má vrátit pole atributů věty, 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 tomto případě například "time;*data;" znamená vrácení časového sloupce a všech datových sloupců.

U veličin je nutno zachovat pořadí dle pořadí v záložce. Například pokud je pořadí veličin v záložce a1,a2,a3,..., pak v parametru lze zadat například "a1;a3;", ale "a3;a1" je chybně.

Volbu času lze pozměnit zadáním "time:winter;", a tehdy se vrátí všechny hodnoty času jako "zimní čas", jinak jako "lokální čas".

sFile(String) Cesta k souboru (s cestou), do kterého se mají data uložit. Pokud není zadána celá cesta, doplní se relativně vzhledem k souborové 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 s přiřazenou hodnotou jsou zde odděleny středníkem, například "filetype:csv;fmt:standard;".
"filetype:xxx;" (povinné) - Určuje typ souboru definovaný parametrem sFile. Jsou možné tyto typy souboru:
csv - typ je CSV soubor. Je to víceřádkový soubor textových hodnot oddělených například 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 daném souboru. Jsou možné tyto formáty:
standard - (jen pro CSV) hodnoty v řádcích tabulky jsou uloženy na odpovídající řádky CSV souboru
"head:xxx;" (nepovinné) - (jen 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 Var.Name).
displayname - hlavička je vložena, v hlavičce jsou názvy veličin k zobrazení (hodnoty vlastnosti ExtTrend.DisplayName).
"timeorder:xxx;" (nepovinné) - Určuje, zda řádky hodnot budou seřazeny časově vzestupně, či sestupně
asc (přednastaveno) - řádky hodnot budou řazeny časově vzestupně
desc - řádky hodnot budou řazeny časově sestupně
"delimiter:xxx;" (nepovinné) - (jen pro CSV) Oddělovač hodnot v CSV souboru. Povolené hodnoty jsou:
semicolon (přednastaveno) - odddělovač je středník.
comma - odddělovač je čárka.
space - odddělovač je mezera.
tab - odddělovač je tabelátor.
number - tj. oddělovač je zadán dekadickým číslem ASCII znaku, například "delimiter:124;" znamená oddělovač "|" (vertikální čára).
"date.fmt:xxx;" (nepovinné) - Formát času a datumu. Povolené hodnoty jsou:
system (přednastaveno) - formát času a data je určen nastavením OS Windows (např. 22.11.2010 16:30:15).
pm - PROMOTIC formát času a data na celé sekundy (např. 2010.11.22 16:30:15).
pmmili - PROMOTIC formát času a data na milisekundy (např. 2010.11.22 16:30:15.250).
real - formát času a datumu datového typu Date v podobě reálného čísla (např. 41392.123456789).
"real.dsep:xxx;" (nepovinné) - (jen 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 OS Windows (např. 3,14).
dot - desetinný oddělovač je (bez ohledu na nastavení OS Windows) tečka (např. 3.14).
comma - desetinný oddělovač je (bez ohledu na nastavení OS Windows) čárka (např. 3,14).
"lastcolsep:xxx;" (nepovinné)
yes - Při zápisu se přidá separátor 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) - Separátory 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 opačném případě
Příklad:
Uložení poslední hodiny dat vybraných veličin do souboru Data.csv. V prvním řádku budou identifikátory jednotlivých veličin, 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.
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