SysFileRename, file rename

List

Questa pagina fa parte del Manuale Programmazione IEC 61131-3. Vai all indice.

Questa funzione da eseguire in task Back, permette di modificare il nome di un file. In OldName occorre definire il nome del file da rinominare specificando l’intero percorso (Esempio C:\Directory\OldFile.txt), in NewName occorre definire il nuovo nome del file specificando l’intero percorso (Esempio C:\Directory\NewFile.txt).

Se l’operazione di rinomina va a buon fine la funzione ritorna TRUE, in caso di errore viene ritornato FALSE.

Sostituisce Sysrename

Sostituisce la funzione Sysrename modificando il tipo di parametri in ingresso da stringa a puntatore a stringa. La precedente dichiarazione:

i:=Sysrename('C:\Directory\OldFile.txt', 'C:\Directory\NewFile.txt');

Diventa:

i:=SysFileRename(ADR('C:\Directory\OldFile.txt'), ADR('C:\Directory\NewFile.txt'));
Information Circle

Funzione

CODESYS: Non disponibile

LogicLab: eLLabXUnified12Lib

Descrizione

OldName (@STRING) Nome del file da rinominare compreso di percorso.
NewName (@STRING) Nuovo nome da dare al file compreso di percorso.

La funzione ritorna un (BOOL), FALSE se errore esecuzione, TRUE se esecuzione Ok.

Immagine F SysFileRename

Esempi

Come utilizzare gli esempi.
Nell’esempio attivando da debug la variabile Rename, il file C:\Directory\OldFile.txt se presente viene rinominato C:\Directory\NewFile.txt e la variabile viene resettata. In caso di errore di esecuzione il codice di errore è memorizzato nella variabile ECode.

LogicLab (Ptp116, ST_SysFileRename)
PROGRAM ST_SysFileRename
VAR
    Rename : BOOL; (* Rename command *)
    ECode : UDINT; (* Error code *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_SysFileRename"
// *****************************************************************************
// By setting the Rename command a file is renamed.
// -----------------------------------------------------------------------------

    IF (Rename) THEN
        Rename:=FALSE; //Rename command

        IF (SysGetFileLen(ADR('C:\Directory\OldFile.txt')) <> eEOF) THEN
            IF NOT(SysFileRename(ADR('C:\Directory\OldFile.txt'), ADR('C:\Directory\NewFile.txt'))) THEN
                ECode:=SysGetLastError(TRUE); //Error code
            END_IF;
        END_IF;
    END_IF;

// [End of file]
Was this article helpful?