其他分享
首页 > 其他分享> > halcon-文件操作

halcon-文件操作

作者:互联网

 

在HDevelop中

open_file('D:/bb/1.txt','output',FileHandle)
*打开文件
*参数1:文件名称
*参数2:文件访问类型
*      'input'    已存在的输入文件将以文本格式打开读取,该文件打开以后,将不能再往里面写东西
*      'output'   将打开一个新的输出文件,以便以文本格式写入,如果有同名文件,则原文件将先被删除
*      'append'   已存在的输出文件将以文本格式在文件末尾打开以供写入
*      'input_binary'   已存在的输入文件将以二进制格式打开读取
*      'output_binary'  打开一个新的输出文件,以二进制格式写入
*      'append_binary'  已存在的输出文件将以二进制格式在文件末尾打开以供写入
*对于文本文件,传递给FileType的元组可以通过以下编码设置之一进行扩展:
*'utf8_encoding'   文件中的字符串以UTF-8编码。这是默认值,因此对于UTF-8编码文件
*                   和所有仅使用纯7位US-ASCII字符的文件,可以忽略此值
*'locale_encoding'  文件中的字符串采用本地8位编码,这取决于系统的当前语言环境设置
*'ignore_encoding'  不处理从文件中读取或写入的字符串的编码。在这种模式下,多字节字符
                     既不被处理也不被解释。此外,字符串不会被转码到HALCON库的当前编码中或从中转码
*
*参数3:文件句柄
*

fwrite_string (FileHandle, 'hallo')
*将一个或多个字符串或数字写入
*参数1:文件句柄
*参数2:要写入文件的值

fwrite_string (FileHandle, ',world')

fnew_line (FileHandle)
*写一个换行符并清除输出缓冲区

fwrite_string (FileHandle, '886')

close_file (FileHandle)
*关闭文本文件

*********************************************************

open_file ('D:/bb/1.txt', 'input', FileHandle)

fread_char (FileHandle, Char)
*一次读取一个字符。如果一直重复读到末尾,Char的值为'eof'(结束标记)
*注意:不识别中文

while(1)
    if(Char='eof')
        break
    endif
    wait_seconds (1)
    fread_char (FileHandle, Char)
endwhile
close_file (FileHandle)

******************************************************
open_file ('D:/bb/1.txt', 'input', FileHandle)

while(1)
    fread_line (FileHandle, OutLine, IsEOF)
*读取一行,包括换行符
*从当前文件位置开始,在文件末尾或找到第一个换行符时结束,文件的后续读取操作将在换行后开始,即在下一行的开头
*到达文件末尾,参数IsEOF将返回值1,否则返回0
*参数2:保存读取的一行文本

if(IsEOF=1)
    break
endif
wait_seconds (2)
endwhile
close_file (FileHandle)

***************************************************
open_file ('D:/bb/1.txt', 'input', FileHandle)
while(1)
    fread_string (FileHandle, OutLine, IsEOF)
*读取一行,不包括换行符
*从当前文件位置开始,在文件末尾或找到第一个换行符时结束,文件的后续读取操作将在换行后开始,即在下一行的开头
*到达文件末尾,参数IsEOF将返回值1,否则返回0
*参数2:保存读取的一行文本

if(IsEOF=1)
    break
endif
wait_seconds (2)
endwhile
close_file (FileHandle)


file_exists ('D:/bb/1.txt', FileExists)
*检查文件是否存在
*参数1:文件路径
*参数2:如果存在返回TRUE,否则返回FALSE

 

在QtCreator中

    HTuple  hv_FileHandle, hv_Char, hv_OutLine, hv_IsEOF;
    HTuple  hv_FileExists;

    OpenFile("D:/bb/1.txt", "output", &hv_FileHandle);
      //打开文件
      //参数1:文件名称
      //参数2:文件访问类型
      //     'input'    已存在的输入文件将以文本格式打开读取,该文件打开以后,将不能再往里面写东西
      //     'output'   将打开一个新的输出文件,以便以文本格式写入,如果有同名文件,则原文件将先被删除
      //     'append'   已存在的输出文件将以文本格式在文件末尾打开以供写入
      //     'input_binary'   已存在的输入文件将以二进制格式打开读取
      //     'output_binary'  打开一个新的输出文件,以二进制格式写入
      //     'append_binary'  已存在的输出文件将以二进制格式在文件末尾打开以供写入
      //对于文本文件,传递给FileType的元组可以通过以下编码设置之一进行扩展:
      //'utf8_encoding'   文件中的字符串以UTF-8编码。这是默认值,因此对于UTF-8编码文件
      //                  和所有仅使用纯7位US-ASCII字符的文件,可以忽略此值
      //'locale_encoding'  文件中的字符串采用本地8位编码,这取决于系统的当前语言环境设置
      //'ignore_encoding'  不处理从文件中读取或写入的字符串的编码。在这种模式下,多字节字符
      //                    既不被处理也不被解释。此外,字符串不会被转码到HALCON库的当前编码中或从中转码
      //
      //参数3:文件句柄

    FwriteString(hv_FileHandle, "hallo");
      //将一个或多个字符串或数字写入
      //参数1:文件句柄
      //参数2:要写入文件的值

      FwriteString(hv_FileHandle, HTuple(",world"));

      FnewLine(hv_FileHandle);
      //写一个换行符并清除输出缓冲区

      FwriteString(hv_FileHandle, "886");

      CloseFile(hv_FileHandle);
      //关闭文本文件

      //********************************************************


      OpenFile("D:/bb/1.txt", "input", &hv_FileHandle);

        FreadChar(hv_FileHandle, &hv_Char);
        //一次读取一个字符。如果一直重复读到末尾,Char的值为'eof'(结束标记)
        //注意:不识别中文

        while (0 != 1)
        {
          if (0 != (hv_Char==HTuple("eof")))
          {
            break;
          }
          WaitSeconds(1);
          FreadChar(hv_FileHandle, &hv_Char);
        }
        CloseFile(hv_FileHandle);

        //*****************************************************


        OpenFile("D:/bb/1.txt", "input", &hv_FileHandle);

          while (0 != 1)
          {
            FreadLine(hv_FileHandle, &hv_OutLine, &hv_IsEOF);
            //读取一行,包括换行符
            //从当前文件位置开始,在文件末尾或找到第一个换行符时结束,文件的后续读取操作将在换行后开始,即在下一行的开头
            //到达文件末尾,参数IsEOF将返回值1,否则返回0
            //参数2:保存读取的一行文本

            if (0 != (hv_IsEOF==1))
            {
              break;
            }
            WaitSeconds(2);
          }
          CloseFile(hv_FileHandle);

          //**************************************************
          OpenFile("D:/bb/1.txt", "input", &hv_FileHandle);
          while (0 != 1)
          {
            FreadString(hv_FileHandle, &hv_OutLine, &hv_IsEOF);
            //读取一行,不包括换行符
            //从当前文件位置开始,在文件末尾或找到第一个换行符时结束,文件的后续读取操作将在换行后开始,即在下一行的开头
            //到达文件末尾,参数IsEOF将返回值1,否则返回0
            //参数2:保存读取的一行文本

            if (0 != (hv_IsEOF==1))
            {
              break;
            }
            WaitSeconds(2);
          }
          CloseFile(hv_FileHandle);


          FileExists("D:/bb/1.txt", &hv_FileExists);
          //检查文件是否存在
          //参数1:文件路径
          //参数2:如果存在返回TRUE,否则返回FALSE

 

 

 

 

 

标签:文件,读取,IsEOF,hv,halcon,参数,操作,FileHandle
来源: https://www.cnblogs.com/liming19680104/p/15907164.html