PROGRAM A_EX_READ_V002
----------------------------------------------------
-- Creation date: 2023.11.04
-- Created by: Ming.li
----------------------------------------------------
-- Version: 0.0.0.0 - 00
----------------------------------------------------
-- Function:
----------------------------------------------------
-- Last modified: 2023.11.04
-- Last modified by:
----------------------------------------------------
%COMMENT = 'A_EX_READ_V002'
%ALPHABETIZE
%INCLUDE KLEVKEYS
%INCLUDE KLEVKMSK
%INCLUDE KLEVCCDF
%INCLUDE KLIOUOP
%INCLUDE KLIOTYPS
-- CONST
-- TYPE
-- VAR
VAR
----------------------------------------------------
CVS_File : FILE
Curr_Line : STRING[40]
EOF: BOOLEAN
Delimiter_Pos : INTEGER ----Delimiter_Pos "结束符,可自定义!例如 ,"
Parsing_EndPos : INTEGER ----Parsing_EndPos '后缀结束符'
Sub_String :ARRAY[4] OF STRING[16]
Delimiter : STRING[1]
Counter:INTEGER
Status : INTEGER
----------------------------------------------------
----------------------------------------------------
-- BEGIN A_EX_READ_V002
----------------------------------------------------
ROUTINE CIr_Scr
----------------------------------------------------
-- Creation date: 2023.11.04
-- Created by:
----------------------------------------------------
-- Function:
----------------------------------------------------
-- Arguments:
----------------------------------------------------
-- Return value:
----------------------------------------------------
-- Last modified: 2023.11.04
-- Last modified by:
----------------------------------------------------
-- CONST
-- TYPE
-- VAR
BEGIN
WRITE TPDISPLAY(CHR(cc_clear_win),CHR(cc_home))
WRITE TPERROR (CHR(cc_clear_win))
WRITE TPSTATUS(CHR(cc_clear_win))
WRITE TPPROMPT(CHR(cc_clear_win))
WRITE TPFUNC(CHR(cc_clear_win))
FORCE_SPMENU(TP_PANEL,SPI_TPUSER,1)
END CIr_Scr
-------主程序--------
BEGIN
CIr_Scr
---
Counter= 0
OPEN FILE CVS_File('RO','PIP:test.csv')
Status = IO_STATUS(CVS_File)
IF Status <> 0 THEN
WRITE TPDISPLAY('Open file failed: ',Status,CR)
ENDIF
Curr_Line = ''
EOF = FALSE
---------------------
REPEAT
READ CVS_File(Curr_Line)
Status = IO_STATUS(CVS_File)
IF Status <> 0 THEN
IF Status = 2021 THEN
WRITE TPDISPLAY('End ofFile (EOF)',CR)
ELSE
WRITE TPDISPLAY('Read file failed: ',Status,CR)
ENDIF
EOF = TRUE
ELSE
Counter =1
REPEAT
WRITE TPDISPLAY(Curr_Line,CR)
Delimiter =','
Delimiter_Pos =INDEX(Curr_Line, Delimiter)
WRITE TPDISPLAY(Delimiter_Pos,CR)
IF Delimiter_Pos <> 0 THEN
Parsing_EndPos = Delimiter_Pos +1
Sub_String[Counter] = SUB_STR(Curr_Line,1,Parsing_EndPos)
WRITE TPDISPLAY(Sub_String[Counter],CR)
Curr_Line =SUB_STR(Curr_Line,Delimiter_Pos +1 ,STR_LEN(Curr_Line))
ELSE
Parsing_EndPos = STR_LEN(Curr_Line)
Sub_String[Counter] = SUB_STR(Curr_Line,1,Parsing_EndPos)
ENDIF
Counter= Counter + 1
UNTIL(Delimiter_Pos=0)
ENDIF
---------------
UNTIL EOF
---------------------
CLOSE FILE CVS_File
END A_EX_READ_V002
【KAREL】发那科文件的读取 A_EX_WRITE_V001
最新推荐文章于 2024-07-23 12:56:26 发布