Vai al contenuto
Vai all indice del manuale di programmazione
Tipo: Funzione
Libreria LogicLab: eLLabXUnified12Lib
Libreria Codesys: Non disponibile

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'));

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?