Promotic

FileTextWrite - metoda obiektu Pm

Opis:
Zapis zmiennej (lub tablica zmiennych) do pliku tekstowego.
Składnia:
Boolean FileTextWrite(String sFile, Variant vValue, [String 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ędem do foldera aplikacji.
Jest zalecane 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 wartości typu String lub 1-wymiarową tablicą (Array) takich zmiennych.
Dla typu String zawartość tekstu zostanie zapisana i za niego zostanie dodany znak 'nowy wiersz' (patrz stała vbCrLf).
Dla typu Array (tablica) 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;sep:no;".
mode:sss; (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:sss; (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).
sep:sss; (opcjonalne) - Opcja określa, czy pojedyńcze pozycje tablicy oraz następne wpisy zostaną oddzielone.
sep:newline; (domyślnie) - Separatorem pozycji tablicy oraz pojedyńczych następnych wpisów jest nowy wiersz.
sep:no; - Pozycje tablicy oraz pojedyńcze wpisy nie są niczym oddzielone. Zapisywana jest tylko zawartość tekstów, nie dodawano żadnych dodatkowych znaków. Znaki nowego wiersza muszą być zawarte już w zapisywanych tekstach.
bom:nnn; (opcjonalne) - Opcja określa, czy na początek nowego pliku tekstowego należy zamiecić znak BOM (3 bajty) w celu identyfikacji zestawu znaków Unicode.
bom:1; (domyślnie) - Na początek nowego pliku zostanie zamieszczony znak BOM w celu identyfikacji zestawu znaków Unicode.
bom:0; - Na początek nowego pliku nie zostanie zamieszczony żadny znak BOM w celu identyfikacji zestawu znaków Unicode. Ta opcja jest odpowiednia dla plików HTML lub XML, do których BOM nie należy wstawiać.
Wartość zwrotna:
true - przy powodzeniu
false - przy błędzie
Notatka:
Metoda ta nie działa w Web panelach.
Przykład1:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var arr = Pm.CreatePmArray().Array1("Hallo", 1.23, "bye-bye");
Pm.FileTextWrite("#app:File.txt", arr);
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.
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var aData, sRow;

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

// Doda 2. wiersz:
aData = Pm.CreatePmArray().Array1(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 drukarku (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ę i dlatego jest wskazane jej zastosowanie w obiekcie PmaSequencer.
Przesunięcie nowego wiersza (vbCrLf lub "\n") nie jest w przypadku druku jednowierszowego potrzebne. Przy jego pomocy można jednak wydrukować większą ilość wierszy jedocześnie:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

Pm.FileTextWrite("lpt1:", "Text row1 \n Text row2", "mode:add;");

Historia:
Pm9.00.17: Nowy parametr bom:nnn; umożliwia do zezwolenia/zakazania zamieszczenia znau BOM na początku nowego pliku.
Pm9.00.16: Nowy parametr sep:sss; umożliwia ustawić separator pozycji oraz następnych wpisów.
Nawigacja:
 
- Pm
 
- Abs
- Cos
- E
- Exp
- FileTextWrite
 
 
- LN2
- PI
- Pow
- Sin
- Tan
© MICROSYS, spol. s r. o.