Questa funzione da eseguire in task Back, 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 eEOF.
Nota: Questa funzione è da utilizzarsi per verificare la presenza del file su disco.
Sostituisce Sysfilelength
Sostituisce la funzione Sysfilelength modificando il tipo di parametri in ingresso da stringa a puntatore a stringa. La precedente dichiarazione:
FLength:=Sysfilelength('C:DirectoryFile.txt');
Diventa:
FLength:=SysGetFileLen(ADR('C:DirectoryFile.txt'));
Descrizione
Name (@STRING) Nome del file di cui si vuole conoscere la lunghezza.
La funzione ritorna un (DINT) con la lunghezza del file espressa in byte, eEOF se file non presente.

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 eEOF. La variabile viene resettata. In caso di errore di esecuzione il codice di errore è memorizzato nella variabile ECode.
LogicLab (Ptp116, ST_SysGetFileLen)
PROGRAM ST_SysGetFileLen
VAR
CSize : BOOL; (* Check size command *)
FLength : DINT; (* File length *)
ECode : UDINT; (* Error code *)
END_VAR
// *****************************************************************************
// PROGRAM "ST_SysGetFileLen"
// *****************************************************************************
// By setting the CSize command the file length is readed.
// -----------------------------------------------------------------------------
IF (CSize) THEN
CSize:=FALSE; //Check size command
FLength:=SysGetFileLen(ADR('C:\Directory\File.txt')); //File length
// Check if file is present on disk.
IF (FLength = eEOF) THEN
FLength:=0; //File length
ECode:=SysGetLastError(TRUE); //Error code
END_IF;
END_IF;
// [End of file]