/
George_Smith
/
RuSTy
Обзор
Документация
Войти
/
George_Smith
/
RuSTy
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
Peter
st_include/SysFile.st
244 строки
5 KB
Peter Korobeynikov
FB-CALL TESTING
25 янв 2026, 17:25
25 янв 2026, 17:25
feb4daa
Код
Авторство
О чём код?
/* SysFile This library provides access to the file functionality of the runtime system. Version 3.5.17.0 */ /*TYPE ACCESS_MODE : Access mode File modes to open a file. */ {external} TYPE ACCESS_MODE : ( AM_READ := 16#0001, (*Open an existing file with Read access. If file does not exist, Open fails *) AM_WRITE := 16#0002, (*Create new file with Write access. If file does exist, content is discarded *) AM_APPEND := 16#0004, (*Open an existing file with Append (only write) access. If file does not exist, Open fails *) AM_READ_PLUS := 16#0008, (*Open an existing file with Read/Write access. If file does not exist, Open fails *) AM_WRITE_PLUS := 16#0010, (*Create new file with Read/Write access. If file does exist, content is discarded *) AM_APPEND_PLUS := 16#0020 (*Open an existing file with Append (read/write) access. If file does not exist, Open creates a new file *) ) := AM_READ; END_TYPE /*TYPE SYS_FILETIME : STRUCT File TIME Timestamps of the specified file. */ {external} TYPE SYS_FILETIME : STRUCT tCreation : UDINT; (* Creation time of the file *) tLastAccess : UDINT; (* Time of as access to the file *) tLastModification : UDINT; (* Time of last modification *) END_STRUCT END_TYPE /*TYPE SYS_FILE_STATUS : File status Actual file status of the specified file. */ {external} TYPE SYS_FILE_STATUS : ( FS_OK := 0, // File could be opened FS_NO_FILE := 1, // No file available FS_ILLEGAL_POS := 2, // Illegal position in the file FS_FULL := 3, // No more space on the filesystem FS_EOF := 4 // End of file reached ) := FS_OK; END_TYPE {external} FUNCTION SysFileClose : RTS_IEC_RESULT VAR_INPUT hFile : RTS_IEC_HANDLE; END_VAR END_FUNCTION {external} FUNCTION SysFileCopy : RTS_IEC_RESULT VAR_INPUT szDestFileName: STRING; (* Destination file name. File name can contain an absolute or relative path to the file. Path entries must be separated with a Slash (/) and not with a Backslash (\)! *) szSourceFileName : STRING; (* Source file name. File name can contain an absolute or relative path to the file. Path entries must be separated with a Slash (/) and not with a Backslash (\)! *) END_VAR VAR_IN_OUT pulCopied: __XWORD; (* Number of bytes copied *) END_VAR END_FUNCTION {external} FUNCTION SysFileDelete : RTS_IEC_RESULT VAR_INPUT szFileName: STRING; (* Comment *) END_VAR END_FUNCTION {external} FUNCTION SysFileDeleteByHandle : RTS_IEC_RESULT VAR_INPUT hFile : RTS_IEC_HANDLE; END_VAR END_FUNCTION {external} FUNCTION SysFileEOF : RTS_IEC_RESULT VAR_INPUT hFile: RTS_IEC_HANDLE; END_VAR END_FUNCTION {external} FUNCTION SysFileFlush : RTS_IEC_RESULT VAR_INPUT hFile: RTS_IEC_HANDLE; END_VAR END_FUNCTION {external} FUNCTION SysFileGetName : POINTER TO STRING VAR_INPUT hFile: RTS_IEC_HANDLE; END_VAR END_FUNCTION {external} FUNCTION SysFileGetName2 : POINTER TO STRING VAR_INPUT hFile: RTS_IEC_HANDLE; END_VAR VAR_IN_OUT pResult : UDINT; END_VAR END_FUNCTION {external} FUNCTION SysFileGetPath : RTS_IEC_RESULT VAR_INPUT szFileName: STRING; END_VAR VAR_IN_OUT szPath : STRING; END_VAR VAR_INPUT diMaxLen: DINT; END_VAR END_FUNCTION {external} FUNCTION SysFileGetPos : RTS_IEC_RESULT VAR_INPUT hFile : RTS_IEC_HANDLE; END_VAR VAR_IN_OUT pilPos : UDINT; END_VAR END_FUNCTION {external} FUNCTION SysFileGetSize : __XWORD VAR_INPUT szFileName: STRING; END_VAR VAR_IN_OUT pResult : UDINT; END_VAR END_FUNCTION {external} FUNCTION SysFileGetSizeByHandle : __XWORD VAR_INPUT hFile: RTS_IEC_HANDLE; END_VAR VAR_IN_OUT pResult : UDINT; END_VAR END_FUNCTION {external} FUNCTION SysFileGetStatus : SYS_FILE_STATUS VAR_INPUT hFile: RTS_IEC_HANDLE; END_VAR END_FUNCTION {external} FUNCTION SysFileGetStatus2 : SYS_FILE_STATUS VAR_INPUT hFile: RTS_IEC_HANDLE; END_VAR VAR_IN_OUT pResult : UDINT; END_VAR END_FUNCTION {external} FUNCTION SysFileGetTime : RTS_IEC_RESULT VAR_INPUT szFileName: STRING; END_VAR VAR_IN_OUT ptFileTime: SYS_FILETIME; END_VAR END_FUNCTION {external} FUNCTION SysFileOpen : RTS_IEC_HANDLE VAR_INPUT szFile : STRING; END_VAR VAR_INPUT am : ACCESS_MODE; END_VAR VAR_IN_OUT pResult : UDINT; END_VAR END_FUNCTION {external} FUNCTION SysFileRead : __XWORD VAR_INPUT hFile: RTS_IEC_HANDLE; END_VAR VAR_IN_OUT pbyBuffer: STRING; END_VAR VAR_INPUT ulSize : __XWORD; END_VAR VAR_IN_OUT pResult : UDINT; END_VAR END_FUNCTION {external} FUNCTION SysFileRename : RTS_IEC_RESULT VAR_INPUT szOldFileName: STRING; szNewFileName: STRING; END_VAR END_FUNCTION {external} FUNCTION SysFileSetPos : RTS_IEC_RESULT VAR_INPUT hFile : RTS_IEC_HANDLE; ulOffset: __XWORD; END_VAR END_FUNCTION {external} FUNCTION SysFileTruncate : RTS_IEC_RESULT VAR_INPUT hFile : RTS_IEC_HANDLE; ulSizeNew: __XWORD; END_VAR END_FUNCTION {external} FUNCTION SysFileWrite : __XWORD VAR_INPUT hFile : RTS_IEC_HANDLE; pbyBuffer: STRING; END_VAR VAR_INPUT ulSize : __XWORD; END_VAR VAR_IN_OUT pResult : UDINT; END_VAR END_FUNCTION