Promotic
WikipediaLinkedInYoutubeTwitterFacebook

SaveToFile - metoda obiektu PmTrend

Opis:
Zapis danych tego obiektu do pliku typu CSV lub DBF. Zapisane są wszystkie kolumny według ustawienia parametru sWhat oraz wartości według określonia parametru vFilter.
Składnia:
SaveToFile(sWhat As String, sFile As String, vFilter As Variant, sParams As String) As Boolean
Wołanie:
b = oTrend.SaveToFile(sWhat, sFile, vFilter, sParams)
Parametry:
sWhat(String) Określenie danej (lub danych), której zapisane wartości mają zostać zwrócone. Można wprowadzić na przykład:
"a1;" lub "a1;a2;a3;", jeżeli ma zostać zwrócona tablica danych z zakładki Dane, lub
"time;", jeżeli ma zostać zwrócona tablica czasów, lub
"attr;", jeżeli ma zostać zwrócona tablica atrybutów rekordu, lub
"*;", jeżeli mają zostać zwrócone wszystkie kolumny łącznie z kolumną czasu i atrybutów, lub
"*data;", jeżeli mają zostać zwrócone wszystkie kolumny danych. W tym przypadku na przykład "time;*data;" oznacza zwrócenie kolumny czasu oraz wszysktich kolumn danych.

W przypadku danych jest konieczne zachowanie kolejności według kolejności w zakładce. Na przykład jeżeli kolejność danych w zakładce jest następująca a1,a2,a3,..., wtedy w parametrze można wprowadzić na przykład "a1;a3;", lecz "a3;a1" jest już błędnym zapisem.

Wybór czasu można zmodyfikować przez wprowadzenie "time:winter;", wtedy wszytkie wartości czasu zostaną zwrócone jako "czas zimowy", w innym przypadku będą jako "czas lokalny".

sFile(String) Nazwa pliku ze ścieżką, do którego mają być zapisane dane. Jeżeli nie jest wprowadzona pełna ścieżka, wtedy zostanie uzupełniona względnie w stosunku do foldera aplikacji.

Zalecanym jest stosowanie ścieżki w składni PROMOTIC - patrz PROMOTIC ścieżka do plików lub folderów.

vFilter(Variant) Wartość określająca na przykład zakres czasu pozyskiwanych wartości (czas od, czas do, ilość punktów, itd.), ewentualnie czy dane mają być filtrowane według wartości. Jest wytworzona przez wywołanie metod CreateFilter, AddFilter.
sParams(String) Tekstowa lista parametrów określająca sposób zapisu do pliku. Dane są tutaj w formacie KeyVal, na przykład "filetype:csv;fmt:standard;".
"filetype:xxx;" (obowiązkowe) - Określa typ pliku określony w parametrze sFile. Możliwe są następujące typy plików:
csv - plik typu CSV. Chodzi o wielowierszowy plik wartości tekstowych na przykład oddzielone średnikiem. Powszechnie stosowany na przykład w oprogramowaniu MsExcel.
dbf - plik typu DBF w formacie dBASE III. Powszechnie stosowany na przykład w orogramowaniu MsExcel.
"fmt:xxx;" (opcjonalne) - Określa format zapisanych danych w określonym pliku. Są możliwe następujące formaty:
standard - (tylko dla CSV) wartości w wierszach tabeli są zapisane w odpowiednich wierszach pliku CSV
"head:xxx;" (opcjonalne) - (tylko dla CSV)Określa, czy w pliku będzie zapisany również jednowierszowy nagłówek zawierający nazwy kolumn. Możliwe wartości to:
no (domyślnie) - nagłówek nie jest włożony.
name - nagłówek jest częścią pliku w nagłówku znajdują się nazwy kolumn. (Wartości właściwości Var.Name).
displayname - nagłówek jest włożony, w nagłówku znajdują się nazwy danych do wyświetlenia (wartości właściwości ExtTrend.DisplayName).
"timeorder:xxx;" (opcjonalne) - Określa, czy wiersze wartości będą zesortowane w czasie rosnąco czy też malejąco
asc (domyślnie) - wiersze wartości będą zesortowane w czasie rosnąco
desc - wiersze wartości będą zesortowane w czasie malejąco
"delimiter:xxx;" (opcjonalne) - (tylko dla CSV) Separator wartości w pliku CSV. Zezwolone wartości to:
semicolon (domyślnie) - separatorem jest średnik.
comma - separatorem jest przecinek.
space - separatorem jest spacja.
tab - separatorem jest tabelator.
number - tzn. separator jest określony numerem dziesiątkowym znaku ASCII, na przykład "delimiter:124;" oznacza separator "|" (kreska pionowa).
"date.fmt:xxx;" (opcjonalne) - Format daty i czasu. Zezwolone parametry to:
system (domyślnie) - format daty i czasu jest określony przez ustawienie w SO Windows (np. 22.11.2010 16:30:15).
pm - format czasu i daty PROMOTIC z dokładnością do całych sekund (np. 2010.11.22 16:30:15).
pmmili - format czasu i daty PROMOTIC z dokładnością do milisekund (np. 2010.11.22 16:30:15.250).
real - format daty i czasu typu danych Date w postaci liczby rzeczywistej (np. 41392.123456789).
"real.dsep:xxx;" (opcjonalne) - (tylko dla CSV) Format separatora miejsc dziesętnych dla liczb rzeczywistych. Zezwolone wartości to:
system (domyślnie) - separator dziesiętny jest określony przez ustawienie w SO Windows (np. 3,14).
dot - separatorem dziesiętnym jest (bez względu na ustawienie SO Windows) kropka (np. 3.14).
comma - separatorem dziesiętnym jest (bez względu na ustawienie SO Windows) przecinek (np. 3,14).
"lastcolsep:xxx;" (opcjonalne)
yes - Przy zapisie jest dodany separator za ostatnią wartość na wierszu, przy wczytaniu pusta wartość na końcu każdego wiersza jest pomijana. Z punktu widzenia pliku CSV taka funkcjonalność nie jest poprawną.
no (domyślnie) - Separatory są tylko pomiędzy wartościami w wierszu, nie są na końcu wiersza. Z punktu widzenia pliku CSV taka funkcjonalność jest poprawną.
Wartość zwrotna:
true - zapis przebiegł pomyślnie
false - W innym przypadku
Przykład:
Zapis ostatniej godziny wartości wybranych danych do pliku Data.csv. W pierwszym wierszu będą identyfikatory poszczególnych danych, separatorem wartości jest średnik, separator dziesiętny liczb rzeczywistych według SO Windows i format daty według SO Windows.
VBScriptWybierz oraz skopiuj do schowka

Dim tNow, vFilter
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