Promotic
WikipediaLinkedInYoutubeTwitterFacebook

FileTextWrite - metoda obiektu Pm

Opis:
Zapisanie zmienne (lub tablicy zmiennych) do pliku tekstowego.
Składnia:
FileTextWrite(sFile As String, vValue As Variant, [sOptions As String]) As Boolean
Wołanie:
b = Pm.FileTextWrite(sFile, vValue, sOptions)
Parametry:
sFile(String) Nazwa pliku ze ścieżką. Jeżeli plik nie istnieje, wtedy zostanie wytworzony. 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.

vValue(Variant) Zapisywana zmienna. Może być prostego typu możliwego do skonwertowania do typu String lub 1-wymiarową tablicą (Array) takich zmiennych.
W przypadku typu String zawartość tekstu zostanie zapisana i za niego zostanie dodany znak 'nowy wiersz' (patrz stała vbCrLf).
W przypadku tablicy Array każda pozycja tablicy zostanie zapisany na nowy wiersz lecz za ostatnią pozycją nie jest dodany znak 'nowy wiersz'.
sOptions[opcjonalne] (String) Określa jak zapisać.    Na przykład "mode:add;charset:utf-8;".
mode:xxx; (opcjonalne) - Opcja określa czynność w przypadku zapisu do istniejącego pliku.
mode:new; (domyślnie) -
Jeżeli plik nie istnieje, wtedy jest wytworzony nowy plik.
Jeżeli plik istnieje, wtedy jego dotychczasowa zawartość jest skasowana i zastąpiona nową.
mode:add; -
Jeżeli plik nie istnieje, wtedy jest wytworzony nowy plik.
Jeżeli plik istnieje, wtedy zawartość zmiennej jest dodana na koniec pliku.
charset:xxx; (opcjonalne) - Opcja określa system kodowania znaków. Patrz: Opis kodowania znaków Unicode.
charset:ansi; (domyślnie) - Zawartość pliku zostanie zapisana w ANSI zestawie znaków, który jest na bieżąco aktywny w SO Windows (np. windows-1250).
charset:utf-8; - Zawartość pliku zostanie zapisana w zestawie znaków Unicode UTF-8 (niezależne od bieżącego zestawu znaków w SO Windows).
charset:utf-16; - Zawartość pliku zostanie zapisana w zestawie znakąw Unicode UTF-16 (niezależne od bieżącego zestawu znaków w SO Windows).
Wartość zwrotna:
true - przy powodzeniu
false - przy błędzie
Notatka:
Metoda ta nie działa w panelach w języku JavaScript (dlatego nie działa również w Web panelach).
Przykład1:
VBScriptWybierz oraz skopiuj do schowka

Dim arr
arr = Array("Hallo", 1.23, "bye-bye")
Pm.FileTextWrite "#app:File.txt", arr, false
Przykład2:
Metodę FileTextWrite można zastosować do wytworzenia pliku w formacie CSV. W opisywanym przykładzie zostaniw wytworzony prosty plik file.csv. Plik będzie posiadać dwa wiersze i w każdym wierszu będzie 5 wartości oddzielone średnikiem. Do formatowania wiersza jest wykorzystana metoda StringFormat. W ten sposób wytworzony plik można z kolei odczytać przy pomocy metody Pm.FileCsvRead.
VBScriptWybierz oraz skopiuj do schowka

Dim aData, sRow

'Wytworzy plik o jednym wierszu:
aData = Array(12.2, 14, "row1", 1, 0)
sRow = Pm.StringFormat("%3.2f;%d;%s;%d;%d;", aData)
Pm.FileTextWrite "#app:File.txt", sRow

'Dodanie 2. wiersza:
aData = Array(12.2, 14, "row2", 1, 0)
sRow = Pm.StringFormat("%3.2f;%d;%s;%d;%d;", aData)
Pm.FileTextWrite "#app:File.txt", sRow, "mode:add;"
Przykład3:
Metodę tą można zastosować do druku jednego wiersza tekstu na drukarce (patrz W jaki sposób drukować w systemie PROMOTIC). Metoda działa tylko na drukarkach wspierających tryb tekstowy oraz łącze szeregowe LPTn (niektóre drukarki sieciowe).

Metoda jest synchroniczna oraz zwraca wynik poprawności transmisji. Jej wykonanie może być czasochłonne oraz wstrzymywać aplikację, dlatego jest wskazane jej zastosowanie w obiekcie PmSequencer.

Przesunięcie nowego wiersza (vbCrLf) nie jest w przypadku druku jednowierszowego potrzebne. Przy jego pomocy można jednak wydrukować większą ilość wierszy jedocześnie ("Text row1" & vbCrLf & "Text row2").

VBScriptWybierz oraz skopiuj do schowka

Pm.FileTextWrite "lpt1:", "Text row" & vbCrLf, true
Navigacja:
 
- Pm
 
- Abs
- Cos
- E
- Exp
- FileTextWrite
 
 
- LN2
- PI
- Pow
- Sin
- Tan
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice