Questa funzione da eseguire in task Back, ritorna un carattere dal terminale di I/O (Stream) indicato dal parametro File, precedentemente aperto dalla relativa funzione di apertura risorsa.
La funzione ritorna il carattere letto, in caso di errore o se nessun dato dallo stream, la funzione ritorna EOF. Per essere certi che vi siano caratteri dallo stream è possibile utilizzare la funzione SysGetIChars che ne ritorna il numero.
Descrizione
File (eFILEP) Terminale di I/O (Stream) ritornato dalla funzione di apertura risorsa.
La funzione ritorna un (INT) con il carattere letto, EOF In caso di errore o se nessun dato dallo stream

Esempi
Come utilizzare gli esempi.
Nell’esempio è attivato un server TCP sulla porta definita, e quando un client si connette viene eseguyito l’echo dei caratteri ricevuti.
LogicLab (Ptp116, ST_Sysfgetc)
PROGRAM ST_Sysfgetc
VAR
Ch : INT; (* Received character *)
Fp : eFILEP; (* File pointer array *)
TCPServer : SysTCPServer; (* TCP server *)
END_VAR
// *****************************************************************************
// PROGRAM "ST_Sysfgetc"
// *****************************************************************************
// The program opens a TCP server on defined port, and when a client connects,
// it echoes the received characters.
// -----------------------------------------------------------------------------
// -------------------------------------------------------------------------
// INITIALIZATIONS
// -------------------------------------------------------------------------
// First loop initializations.
IF (SysFirstLoop) THEN
TCPServer.FilesArr:=ADR(Fp); //Files array
TCPServer.LocalAdd:=ADR('0.0.0.0'); //Local address
TCPServer.LocalPort:=1080; //Local port
TCPServer.MaxConn:=1; //Accepted connections
TCPServer.FlushTm:=50; //Flush time (mS)
TCPServer.LifeTm:=30; //Life time (S)
TCPServer.RxSize:=128; //Rx buffer size
TCPServer.TxSize:=128; //Tx buffer size
END_IF;
// Manage the TCP server.
TCPServer(Enable:=TRUE); //TCPServer management
// -------------------------------------------------------------------------
// ECHO CHARACTERS
// -------------------------------------------------------------------------
// Check if a client has been connected.
IF NOT(SysFIsOpen(Fp)) THEN RETURN; END_IF;
// If a character is received and there is space in the output buffer,
// it is echoed.
IF ((SysFGetOSpace(Fp) > 0) AND (SysFGetIChars(Fp) > 0)) THEN
Ch:=Sysfgetc(Fp); //Received character
Ch:=Sysfputc(Ch, Fp); //Echo charcter
END_IF;
// [End of file]