Passa al contenuto principale

FClose, file close

Questa funzione da eseguire in task Back, esegue la chiusura del collegamento al terminale di I/O (Stream) di comunicazione indicato in File precedentemente aperto dalla funzione di apertura risorsa.

In caso di errore chiusura, la funzione ritorna e_EOF_.

Sostituisce Sysfclose

Sostituisce la funzione Sysfclose modificando il tipo di parametro in uscita da INT a eFILEP.

Descrizione​

Immagine funzione FClose

ParametroTipoDescrizione
FileeFILEPTerminale di I/O (Stream) ritornato dalla funzione di apertura risorsa.
OuteFILEPLa funzione ritorna un (eFILEP). Valore eNULL se esecuzione corretta, eEOF in caso di errore

Esempi​

Come utilizzare gli esempi.
Nell'esempio viene eseguita la scrittura di una stringa su di un file, terminata la scrittura lo stream di gestione file viene chiuso liberando l'accesso al file.

LogicLab (Ptp201, ST_FClose)
PROGRAM ST_FClose

VAR
RSts : INT; (* Result status *)
Fp : ARRAY[0..1] OF eFILEP; (* File pointer *)
WData : STRING[ 16 ] := 'abcdefghijklmnop'; (* Write data *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_FClose"
// *****************************************************************************
// This program shows the use of "FClose" function.
// -----------------------------------------------------------------------------

// -------------------------------------------------------------------------
// FILE OPERATIONS
// -------------------------------------------------------------------------
// On First program loop open file and write on it.

IF (SysFirstLoop) THEN
Fp[0]:=SysFfopen(ADR('C:/Logs.txt'), ADR('w')); //File pointer

IF (SysFIsOpen(Fp[0])) THEN
RSts:=Sysfwrite(ADR(WData), TO_INT(SIZEOF(WData)), 1, Fp[0]);
Fp[0]:=FClose(Fp[0]); //File pointer
END_IF;

// On closing an already close file eOF is returned.

Fp[1]:=FClose(Fp[0]); //File pointer
END_IF;

// [End of file]