版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5讲字符串和文件 I/OLabVIEW编程及虚拟仪器设计上一讲内容回顾1. 图形显示波形图(Graph,新替换旧),波形图表(Chart,新接续在旧后), XY图,强度图(用颜色表示第3维数据)2. Express VI(快速VI)通过对话框配置参数,输入或输出DDT类型(近似为波形数组)3. 局部变量和全局变量局部变量:打破输入和输出显示控件的读写限制全局变量:在VI文件之间共享数据 注意并行运行程序段之间的竞态条件4. 属性节点,通过编程动态读取/设置前面板控件属性本讲内容1. 字符串2. 文件I/O1. 字符串字符串是ASCII字符(和其他字符)的集合,用于文本的屏幕显示,仪器控制时的
2、命令与结果传送和文本文件操作命令执行结果串口/GPIB接口1. 字符串 字符串相关控件控件选板,新式-字符串与路径子选板和列表与表格子选板 字符串常量函数选板,编程-字符串输入任意字符串其他预定义字符串常量定义多个“项-值”对1. 字符串1. 字符串输入控件和输出显示控件2. 组合框控件输入和输出控件底色不同运行程序组合框输入控件,未定义任何项组合框出现项列表输出所选项对应值(字符串)3. 表格表格是字符串组成的2维数组1. 字符串采用属性节点属性节点指定列首“列首字符串”属性列首的显示通过快捷菜单的显示项子菜单设置列首3. 表格将表格放在循环内?1. 字符串1D2D2D每次循环送入表格的二维
3、数组仅包含新数据行,新数据行替换旧数据行采用移位寄存器保存所有旧数据行,每次循环送入表格的二维数组包含旧数据行和新数据行等待函数:避免表格刷新过快无法观察其中数据1. 字符串4. 树形控件按层次组织数据 点击输入树形控件项将鼠标指针所在项(和子项)降低一个层次将鼠标指针所在项(和子项)提高一个层次 在某一项上弹出快捷菜单 编辑每一项的标识符(Tag) 树形控件输出所选项的标识符1. 字符串字符串的显示方式字符串输入控件、输出显示控件,通过快捷菜单配置为如下显示方式之一:a)正常显示(Normal Display)- 显示可打印字符b) 代码显示( Codes Display)- 采用反斜杠代码
4、显示正常方式下不可显示的字符如空格,制表符,等等;多用于程序调试、向仪器设备传输数据c)密码显示(Password Display)- 以*号显示所有字符,包括空白d)十六进制显示(Hex Display)- 采用十六进制显示所有字符,用于程序调试1. 字符串代码LabVIEW中含义代码LabVIEW中含义b退格符t制表符f进格符s空格符n换行符反斜线:“”r回车符%百分比符号常用代码字符1. 字符串典型字符串操作函数1. 字符串长度(String Length)功能:返回字符串的长度(以字节为单位)2. 连接字符串(Concatenate Strings)功能:按顺序连接所有输入字符串成为一
5、个新字符串;输入可以为1维字符串数组1个汉字占2个字节(byte)1. 字符串3. 截取字符串(String Subset)功能:从输入字符串的“偏移量”位置开始,取出所要长度的子字符串4. 转换为大写字母(To Upper Case)和转换为小写字母( To Lower Case )字符串中字符的索引字符串中字符的索引从从0开始!开始!未接“长度”参数表示到串尾注意中文的处理1. 字符串5. 替换子字符串(Replace Substring)功能:删除“偏移量”开始的“长度”个字符的子字符串,然后插入“子字符串”;即在指定位置插入(“长度”为0)、删除(“子字符串”为空)或替换子字符串6.
6、搜索替换字符串(Search and Replace String)功能:查找并替换指定字符串快捷菜单可打开快捷菜单可打开“正则表达式正则表达式”选项选项1. 字符串正则表达式(Regular Expression):使用特殊语法的表达式,其中包含查找复杂字符串所依照的规则或模式;类似文件名搜索时使用的通配符*和?,但更复杂和强大a-zA-Z*at “at”之前有之前有0或多个字母或多个字母寻找和替换所有匹配打开了“正则表达式”选项所有匹配都替换为“NULL”特殊字符解释.匹配任何单个字符,换行除外。例如:.t匹配at、bt、2t、_t,等等*标记可以出现0次或多次的模式。例如be*将e标记为
7、可出现0次或多次的模式,因此 be*匹配believe中的be、beep中的bee和bat中的b+标记出现1次或多次的模式。例如 be+可以匹配believe中的be、 beep中的bee,但不能匹配bat?标记出现0次或1次的模式。be?可以匹配believe中的be、 bee中的be、 beep中的be,以及bat中的b 标记模式的一部分,可以出现任意次数。例如be2 匹配至少跟随了两个e的b字符,be0,3匹配至多跟随了三个e的b字符,be2,3匹配至少跟随了两个e,至多跟随了三个e的b字符建立字符类,可以匹配某个字符集中的任何一个字符。例如abc123匹配字符a、b、c、1、 2或3中
8、的任何一个 -指定字符范围。例如 a-z匹配任何小写字母,a-zA-Z0-9匹配任何小写、大写或数字字符。可以使用字符类匹配任何不在某一字符集中的字符,将号添加到字符类的开始。例如0-9匹配任何非数字字符,a-zA-Z0-9匹配任何非字母非数字字符( )表示部分匹配,使用竖线|分割可能的匹配,例如(cat|dog) catcher匹配cat catcher或dog catcher。也可使用多个部分匹配,例如(a|the) (cat|dog)匹配a cat、a dog、the cat或the dog|表明多个可能的匹配,例如cat|dog匹配catcher的cat或者big dog中的dog仅匹
9、配字符串的开始,例如dog匹配dog catcher中的dog,但不匹配the dog中的dog$仅匹配字符串的结尾。表示不进行正则表达式解析的特殊字符。 以下反斜杠字符具有特殊含义: b 代表单词(word)边界。单词边界不是属于某个单词的字符,但与单词字符相邻。 单词字符指字母数字字符或者下划线_。例如bhat匹配hatchet中的hat,但不匹配that,hatb匹配that中的hat,但是不匹配hatchet。bhatb匹配hat中的hat,但不匹配that或hatchet c 匹配任何控制或非打印字符 w 匹配任何单词字符,等效于a-zA-Z0-9_ W 匹配任何非单词字符,等效于a
10、-zA-Z0-9_ d 匹配任何数字字符,等效于0-9 D 匹配任何非数字字符,等效于0-9 s 匹配任何空白字符,包括空格,换行(newline) ,制表符,回车,等等 S -匹配任何非空白字符 n -匹配换行字符 t - 匹配制表符 r - 匹配回车符 031 - 匹配8进制字符(8进制的31) x3F - 匹配16进制字符(16进制的3F)1. 字符串7. 匹配正则表达式(Match Regular Expression)功能:从“输入字符串”的“偏移量”位置开始查找“正则表达式”,找到后,按其所在位置将“输入字符串”分为三段从一段文本中提取Email地址(此处给出两种不同的正则表达式方
11、案)1. 字符串8. 格式化日期/时间字符串(Format Date/Time String)功能:以指定的格式显示时间字符串9. 扫描字符串(Scan From String)功能:扫描输入字符串,提取表示数据的子串并按照给定格式进行转换提取和转化浮点数可能为电压表返回的电压查询结果(伏特,直流,5.36)1. 字符串10. 格式化写入字符串(Format Into String)功能:将多种数据转化为字符串以上两个函数,弹出快捷菜单,选择编辑格式字符串选项通过对话框配置格式字符串,降低难度2. 文件I/O 计算机文件供计算机程序所使用,是存储信息的容器,且经常基于持久存储机制如磁盘驱动器;
12、文件的持久存储指的是当前运行的程序结束后,文件仍可被其他程序所使用 操作系统中,文件组织为字节序列 文本文件(text file)包含按行组织的由字符组成的可读文本,且在最后一行后包含文件结束符(end-of-file)文本文件采用文本编辑程序(如记事本)打开2. 文件I/O 二进制文件(binary file)包含任意内容,如可执行程序,图像,声音,压缩过的其他文件图片文件,JPG格式二进制文件采用十六进制编辑程序(如UltraEdit)打开使用文本编辑程序打开二进制文件时出现“乱码”,即强制按字符显示强制按字符显示实际上不是字符的二进制数据2. 文件I/O 文本文件简单直观,很多程序都可打
13、开,但占据较多存储空间;二进制文件占据较少空间,但具体数据存储格式由程序自定义,只有特定程序可以打开2. 文件I/OLabVIEW提供了丰富的文件I/O函数和功能,主要包括: 打开和关闭文件 移动和重新命名文件与目录 改变文件属性 在文件中读取和写入数据 创建、修改和读取配置文件 2. 文件I/O文件I/O操作步骤,两种编程思路创建/打开文件读写文件关闭文件 使用高级函数/VI,由编程者管理各个步骤,使用稍复杂,但灵活,效率高(底层函数)创建/打开,读写,关闭文件 使用简单函数/VI,内含文件I/O的各个步骤,使用简单,灵活性差(高层函数)2. 文件I/O函数选板,编程-文件I/O子选板文件路
14、径控件和常量简单文件I/O函数高级文件I/O函数(部分)配置文件(.ini)I/O函数,保存应用程序参数配置路径处理控件选板,新式-字符串与路径函数选板,编程-文件I/O-文件常量2. 文件I/O电子表格文件? 按表格形式组织的文本文件,行间采用换行分隔,行内数据采用指定符号分隔例:存储二维整数数组的电子表格文件1.dat,行内数据采用制表符(t)分隔2.dat,行内数据采用逗号(,)分隔经过文本导入向导,在Excel中打开2. 文件I/O文件I/O的简单函数1. 写入电子表格文件(Write To Spreadsheet File)功能:将1维或2维数值或字符串数组转化为表格形式的字符串,并
15、写入到文件中;若“文件路径”参数未接入,则弹出文件对话框;“分隔符”参数指定行内分隔符,默认为制表符t采用默认的制表符“t”作为分隔符指定使用逗号“,”作为分隔符将2维整数数组写入电子表格文件(对应前例)2. 文件I/O2. 读取电子表格文件(Read From Spreadsheet File)功能:从电子表格形式的文本文件中读取数据并转化为1维或2维数组,数组元素类型为整型、浮点型或字符串型多态VI选择器在列表中选择具体使用哪个函数/VI实例读取1.dat,默认为采用制表符“t”分隔行内数据多态VI:具有相似功能和不同参数类型的VI的集合2. 文件I/O3. 写入测量文件(Write To
16、 Measurement File)功能:将DDT类型信号写入LabVIEW自定义的测量文件,文件可以是文本文件(.lvm),或者二进制文件(.tdms和.tdm)Express VI,通过对话框配置参数和功能选择文本还是二进制格式二维标量数组 - 行是通道2. 文件I/O4. 读取测量文件(Read From Measurement File)功能:从文本(.lvm)或者二进制(.tdms和.tdm)格式的测量文件中读取DDT类型信号Express VI,通过对话框配置参数和功能2. 文件I/O以上涉及电子表格文件和测量文件的函数都是在内部封装了多个文件操作步骤的简单函数。文件I/O的高级函
17、数高级函数经常使用文件引用句柄(refnum),文件引用句柄是代表文件(及其资源)的唯一标识符高级函数通常以引用句柄和错误簇串在一起使用:打开/新建文件读/写文件关闭文件错误簇,传递错误信息文件引用句柄(refnum),用于访问已打开的文件资源2. 文件I/O在循环中使用文件I/O函数的效率问题打开/新建文件读/写文件关闭文件创建/打开,读写,关闭文件在循环内部使用简单函数,每次循环都执行打开文件和关闭文件的多余步骤,效率较低简单函数高级文件I/O函数使用高级函数,在循环外部打开和关闭文件,在循环内部进行读/写,效率较高2. 文件I/O1. 打开/创建/替换文件(Open/Create/Rep
18、lace File)功能:打开已有文件,或创建新文件并打开,或替换已有文件并打开;打开文件后返回文件引用句柄;未接入“文件路径”参数时弹出文件选择对话框2. 关闭文件(Close File)功能:关闭输入参数“引用句柄”所代表的已打开文件3. 格式化写入文件(Format Into File)和扫描文件( Scan From File )与字符串相应函数相似2. 文件I/O4. 写入文本文件(Write to Text File)功能:将接入“文本”参数的字符串或字符串数组写入文本文件,字符串数组中每个元素将作为文件中的一行;“文件”参数可以是路径或文件引用句柄当前VI所在目录获得绝对路径 - (当前VI所在目录)/a.txt2. 文件I/O5. 读取文本文件(Read From Text File)功能:从文本文件中读取指定数目的字符或文本行打开该选项读取文本行,以每行文本为元素组成字符串数组已打开“读取行”选项-1表示读取文件全部内容2. 文件I/O6. 写入二进制文件(Write To Binary File)功能:将数据写入二进制文件采样信息,产生0.1秒的波形波形自身频率50 Hz,0.1秒波形包含5个完整正弦周期可以直接写入任何数据类型的数据!2. 文件I/O7. 读取二进制文件(Read From Binary F
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年大型医院建设施工合同范本包工不包料
- 2024年度婚姻财产鉴定合同
- 2024工程项目借款合同
- 2024工地防水材料买卖合同书
- 2024年度基于BIM的建筑物流管理服务合同
- 合同履约的会计分录-记账实操
- 2024年商标许可使用权合同
- 全民节约用水倡议书范文(6篇)
- 2024年度建筑施工质量安全合同
- 2024年城市轨道建设特许经营协议
- 安全文明施工措施费用检查表
- 钢渣热闷工艺规程及人员岗位职责
- 一年级家访记录表(常用)
- 新媒体背景下的舆情引导和危机应对专题培训课件
- 反邪教知识竞赛试题题库
- TCVN-2622-越南建筑防火规范(中文版)
- DIN30213德标法兰翻译
- 急救药物应用以及护理要点
- 5.1 植物生长素教版2019选择性必修1)
- 热传输用钎焊复合铝材热管理基础材料
- 北大附学生手册
评论
0/150
提交评论