Questa funzione ritorna la lunghezza in bytes di un file. In Name occorre definire il nome del file di cui si vuole conoscere la lunghezza specificando l'intero percorso (Esempio C:\Directory\File.txt). Se il file indicato non è presente, la funzione ritorna EOF.

Nota: Questa funzione è da utilizzarsi per verificare la presenza del file su disco.

Function
CODESYS: Non disponibile
LogicLab: eLLabXUnified12Lib

Name (STRING[32]) Nome del file di cui si vuole conoscere la lunghezza.

La funzione ritorna un (DINT) con la lunghezza del file espressa in byte, EOF se file non presente.

Errori

In caso di errore la funzione ritorna EOF, eseguendo immediatamente dopo la funzione SysGetLastError è possibile rilevare il codice di errore. Fare riferimento alla tabella seguente per la descrizione.

Esempi

Come utilizzare gli esempi.
Nell'esempio attivando da debug la variabile CSize, viene ritornata la lunghezza del file C:\Directory\File.txt se presente, se non presente verrà ritornato -1 e la variabile viene resettata. In caso di errore di esecuzione il codice di errore è memorizzato nella variabile ECode.

LogicLab (Ptp116)
PROGRAM ST_Sysfilelength
VAR
    CSize : BOOL; (* Check size command *)
    ECode : UDINT; (* Error code *)
    FLength : DINT; (* File length *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_Sysfilelength"
// *****************************************************************************
// By setting the CSize command the file length is readed.
// -----------------------------------------------------------------------------

    IF (CSize) THEN
        CSize:=FALSE; //Check size command

        FLength:=Sysfilelength('C:\Directory\File.txt'); //File length

        // Check if file is present on disk.

        IF (FLength = EOF) THEN
            FLength:=0; //File length
        END_IF;            
    END_IF;

// [End of file]

Ti è stato utile questo articolo ?

Ultimo aggiornamento: 27 Agosto 2019