Gå till innehållet

scFile – Användning

writeTo

Skriver en tidsstämplad rad till en fil. Raden läggs till i slutet av filen.

Parametrar

Parameter Typ Beskrivning
string String Texten som ska skrivas
path String (valfri) Sökväg till filen. Används skriptets standardvärde om det utelämnas.
creation Constant (valfri) Hur filen ska öppnas/skapas. Standardvärde är OPEN_ALWAYS. Möjliga värden: CREATE_NEW, CREATE_ALWAYS, OPEN_EXISTING, OPEN_ALWAYS, TRUNCATE_EXISTING.

Varje rad som skrivs formateras automatiskt som:

YYYY-MM-DD HH:mm:ss.zzz - <din text>

Exempel

// Använd standardsökvägen
scFile.writeTo("Rörelselarm aktiverat");

// Ange egen sökväg
scFile.writeTo("Temperaturgräns nådd", "C:/Ethiris/Log/temperatur.txt");

readFrom

Läser hela innehållet i en fil och returnerar det som en sträng.

Parametrar

Parameter Typ Beskrivning
path String (valfri) Sökväg till filen. Används skriptets standardvärde om det utelämnas.

Returvärde: String – filens hela innehåll.

Filen måste finnas

readFrom öppnar filen med OPEN_EXISTING. Om filen inte finns uppstår ett fel som loggas i Debug-panelen.

// Läs från standardsökvägen
var content = scFile.readFrom();

// Läs från specifik fil
var content = scFile.readFrom("C:/Ethiris/Log/temperatur.txt");

Debug.Print(content);

Skriptet

Ladda ner scFile.js

    //***********************************************//
    //  The purpose of this script library
    //  is to add functions for writing 
    //  and reading from a local file.
    // Version 1.0 (2022-06-13)
    // Copyright © 2022 Kentima AB. No rights reserved.
    //***********************************************//

try
{
    //Initialize variables
    var PATH    = "C:/Ethiris/Log/FileName.txt"; //Path to file, folder MUST exist.
    var CREATION = OPEN_ALWAYS; // Value can be CREATE_NEW, CREATE_ALWAYS, OPEN_EXISTING, OPEN_ALWAYS, TRUNCATE_EXISTING

    //Define date and time function
    var dateAndTime = function()
    {
        try
        {
            return (new Date()).toString("iso"); //Will return current local date and time in the format 'YYYY-MM-DD HH:mm:ss.zzz'. Format can also be "compact" and "long".
        }
        catch(e)
        {
            Debug.Print("scFile.dateAndTime(): " + e); //Print to Debug Output Panel, if something goes wrong.
        }
    }

    //Define write function
    this.writeTo = function(string, path, creation)
    {
        try
        {
            path     = ((path == undefined || path == "") ? PATH : path); //If parameters are empty or not defined, use this.PATH
            creation = ((creation == undefined || creation == "") ? CREATION : creation); //If parameters are empty or not defined, use this.CREATION
            var now  = dateAndTime(); //Get date and time of "now".
            var file = new File(path, creation); //Open file
            file.setFilePointer(FILE_END); //Set file to point at end of file, value can be FILE_BEGIN, FILE_END, FILE_END
            file.write(now + " - " + string + "\r\n"); //Write date(now), data(string) and add carriage return and new line(\r\n)
            file.close(); //Close the file.
        }
        catch(e)
        {
            Debug.Print("scFile.writeTo(): " + e); //Print to Debug Output Panel, if something goes wrong.
        }
    }

    //Define read function
    this.readFrom = function(path)
    {
        try
        {
            path         = ((path == undefined || path == "") ? PATH : path); //If parameters are empty or not defined, use this.PATH
            var file     = new File(path, OPEN_EXISTING); //Open an existing file
            var readData = file.read(); //Read all data from file
            file.close(); //Close file

            return readData; //Return the data read from file as String
        }
        catch(e)
        {
            Debug.Print("scFile.readFrom(): " + e); //Print to Debug Output Panel, if something goes wrong.
        }
    }
}
catch(e)
{
    Debug.Print("scFile: " + e); //Print to Debug Output Panel, if something goes wrong.
}