【KAREL】发那科文件的读取 A_EX_WRITE_V001

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值