Promotic
WikipediaLinkedInYoutubeTwitterFacebook

FileTextWrite - metoda objektu Pm

Popis:
Uložení proměnné (nebo pole proměnných) do textového souboru.
Syntaxe:
Boolean FileTextWrite(String sFile, Variant vValue, [String sOptions])
Parametry:
sFile(String) Název souboru s cestou.
Pokud soubor neexistuje, pak bude vytvořen.
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.
vValue(Variant) Zapisovaná proměnná.
Může být jednoduchého typu převoditelného do hodnoty typu String nebo 1-rozměrné pole (Array) těchto proměnných.
Pro typ String se obsah textu zapíše a za něj se přidá znak 'nový řádek' (viz konstanta vbCrLf).
Pro typ Array (pole) se každá položka pole zapíše na nový řádek ale za poslední položku není přidán znak 'nový řádek'.
sOptions[nepovinné] (String) Určuje jak uložit. Například "mode:add;charset:utf-8;sep:no;".
mode:sss; (nepovinné) - Volba určuje chování při zápisu do existujícího souboru.
mode:new; (přednastaveno) -
Pokud soubor neexistuje, pak se vytvoří nový.
Pokud soubor existuje, pak jeho stávající obsah je smazán a přepsán novým.
mode:add; -
Pokud soubor neexistuje, pak se vytvoří nový.
Pokud soubor existuje, pak obsah zapisované proměnné je přidán na jeho konec.
charset:sss; (nepovinné) - Volba určuje znakovou sadu. Viz: Popis Unicode kódování znaků.
charset:ansi; (přednastaveno) - Textový obsah bude uložen v ANSI kódové stránce, která je právě aktivní v OS Windows (např. windows-1250).
charset:utf-8; - Textový obsah bude uložen v Unicode UTF-8 kódování (nezávislý na aktivní kódové stránce OS Windows).
charset:utf-16; - Textový obsah bude uložen v Unicode UTF-16 kódování (nezávislý na aktivní kódové stránce OS Windows).
sep:sss; (nepovinné) - Volba určuje, zda jednotlivé položky pole a následující zápisy budou odděleny.
sep:newline; (přednastaveno) - Oddělovačem položek pole a jednotlivých následných zápisů je nový řádek.
sep:no; - Položky pole a jednotlivé následné zápisy nejsou ničím odděleny. Zapisuje se pouze obsah textů, žádné znaky navíc nejsou přidány. Znaky nového řádku musí být obsaženy již v zapisovaných textech.
Vrácená hodnota:
true - při úspěchu
false - při chybě
Poznámka:
Tato metoda není funkční ve Web obrazech.
Příklad1:
JavaScriptVBScriptVyber a zkopíruj do schránky

var arr = Pm.CreatePmArray().Array1("Hallo", 1.23, "bye-bye");
Pm.FileTextWrite("#app:File.txt", arr);
Příklad2:
Metodu FileTextWrite lze použít pro vytvoření souboru ve formátu CSV. V tomto příkladě bude vytvořen jednoduchý soubor file.csv. Soubor bude mít 2 řádky a v každém řádku bude 5 hodnot oddělené středníkem. K formátování řádku je použita metoda StringFormat. Takto vytvořený soubor lze pak číst metodou Pm.FileCsvRead.
JavaScriptVBScriptVyber a zkopíruj do schránky

var aData, sRow;

//Vytvoří soubor s 1 řádkem:
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);

//Přidá 2. řádek:
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;");
Příklad3:
Tato metoda lze použít k tisku jednoho řádku textu na tiskárnu (viz Jak tisknout v systému PROMOTIC). Metoda je funkční pouze na tiskárnách podporujících textový režim a paralelní LPTn port (některé síťové tiskárny).
Metoda je synchronní a vrací výsledek úspěšnosti přenosu. Její vykonání může být zdlouhavé a brzdit aplikaci, proto je vhodné ji použít v objektu PmaSequencer.
Odsazení nového řádku (vbCrLf nebo "\n") není u jednořádkového tisku nutné. Pomocí něj lze ale vytisknout více řádku najednou:
JavaScriptVBScriptVyber a zkopíruj do schránky

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

Historie:
Pm9.00.16: Nový parametr sep:sss; umožňuje nastavit oddělovač položek a následných zápisů.
Navigace:
 
- 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