测试字符串读取类: TStringReader
TStringReader 比 TStringWriter 的方法少得多, 分别可按: 字符、行或全部读取;
读取字符时得到的是字符编码, 全部或按行读取得到是字符串, 也可读取到字符数组.
unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 = class(TForm)Button1: TButton;Button2: TButton;Button3: TButton;Button4: TButton;Button5: TButton;Button6: TButton;Button7: TButton;procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);procedure Button3Click(Sender: TObject);procedure Button4Click(Sender: TObject);procedure Button5Click(Sender: TObject);procedure Button6Click(Sender: TObject);procedure Button7Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}// TStringReader.Read 是按字符读取, 返回字符编码 procedure TForm1.Button1Click(Sender: TObject); varReader: TStringReader;i: Integer; beginReader := TStringReader.Create('ABCDEFGHIJKLMNOPQRSTUVWXYZ');{读取}i := Reader.Read;ShowMessageFmt('%d : %s', [i, Chr(i)]); {65 : A}{继续读取}i := Reader.Read;ShowMessageFmt('%d : %s', [i, Chr(i)]); {66 : B}{将要读取的}i := Reader.Peek;ShowMessageFmt('%d : %s', [i, Chr(i)]); {67 : C}Reader.Free; end;//试试中文 procedure TForm1.Button2Click(Sender: TObject); varReader: TStringReader;i: Integer; beginReader := TStringReader.Create('万千的 Delphi 博客');{读取}i := Reader.Read;ShowMessageFmt('%d : %s', [i, Chr(i)]); {19975 : 万}{继续读取}i := Reader.Read;ShowMessageFmt('%d : %s', [i, Chr(i)]); {19968 : 千}{将要读取的}i := Reader.Peek;ShowMessageFmt('%d : %s', [i, Chr(i)]); {30340 : 的}Reader.Free; end;//读取一行 procedure TForm1.Button3Click(Sender: TObject); varReader: TStringReader; beginReader := TStringReader.Create('123' + sLineBreak + 'abc' + sLineBreak + 'xyz');ShowMessage(Reader.ReadLine); {123}ShowMessage(Reader.ReadLine); {abc}ShowMessage(Reader.ReadLine); {xyz}Reader.Free; end;//一次读取全部 procedure TForm1.Button4Click(Sender: TObject); varReader: TStringReader; beginReader := TStringReader.Create('123' + sLineBreak + 'abc' + sLineBreak + 'xyz');ShowMessage(Reader.ReadToEnd); {123 / abc / xyz}Reader.Free; end;//按字符读取全部 procedure TForm1.Button5Click(Sender: TObject); varReader: TStringReader;str: string; beginReader := TStringReader.Create('123' + sLineBreak + 'abc' + sLineBreak + 'xyz');while Reader.Peek > 0 do str := str + Chr(Reader.Read);ShowMessage(str); {123 / abc / xyz}Reader.Free; end;//按行读取全部 procedure TForm1.Button6Click(Sender: TObject); varReader: TStringReader;str: string; beginReader := TStringReader.Create('123' + sLineBreak + 'abc' + sLineBreak + 'xyz');while Reader.Peek > 0 do str := str + Reader.ReadLine;ShowMessage(str); {123abcxyz}Reader.Free; end;//读取到字符数组 procedure TForm1.Button7Click(Sender: TObject); varReader: TStringReader;buf: TCharArray; beginReader := TStringReader.Create('ABCDEFGHIJKLMNOPQRSTUVWXYZ');SetLength(buf, 3);Reader.ReadBlock(buf, 0, Length(buf));ShowMessageFmt('%s%s%s', [buf[0], buf[1], buf[2]]); {ABC}Reader.Free; end;end.
转载于:https://www.cnblogs.com/wanqian/archive/2013/05/20/3089852.html
测试字符串读取类: TStringReader相关推荐
- C# JSON格式的字符串读取到类中
2019独角兽企业重金招聘Python工程师标准>>> 将JSON格式的字符串读取到类中 本例中建立JSON格式的字符串json,将其内容读取到Person类中 运行本代码需要添加引 ...
- 也谈C#之Json,从Json字符串到类代码
也谈C#之Json,从Json字符串到类代码 原文:也谈C#之Json,从Json字符串到类代码 阅读目录 json转类对象 逆思考 从json字符串自动生成C#类 json转类对象 自从.net ...
- C语言sscanf()函数(从字符串读取格式化输入,提取需要的信息)
需包含头文件:C 标准库 - <stdio.h> 文章目录 描述 声明 参数 返回值 实例 我在VS上测试(VS上要用sscanf_s) 示例1 示例2(提取时能默认以空格分割) 描述 C ...
- C#基础 字符串读取/写入文本文件 代码示例
C#基础 字符串读取/写入文本文件 代码示例 写入文本文件: 1 class Program 2 { 3 static void Main(String[] args) 4 { 5 //写入strin ...
- java测试字符串的编码_Java字符串测验
java测试字符串的编码 Welcome to Java String Quiz. String is one of the most important classes in Java. If yo ...
- StringUtils字符串工具类
StringUtils类目录 StringUtils类是在 cn.hutool.core.util包下的一个类. StringUtils中方法的操作对象是java.lang.String类型的对象,是 ...
- KepServer如何和欧姆龙NJ系列通讯并进行字符串读取
1.PLC端的配置 利用SysmacStudio对NJ501-1300进行IP地址设置,也可以采用默认值,这里使用的是默认IP地址 从图中可知,该设备的节点地址为1. 如果设置端口号,在以下界面设置- ...
- c#测试字符串是否为GUID的几种方法
以前为了赶项目遇到这种需求时,也没过多考虑性能因素,随便写了一个(现在看起来很原始的)方法来实现: static bool IsGuidByError(string strSrc){if (Strin ...
- 字符串工具类、数组工具类、集合工具类、转型操作工具类、编码与解码操作工具类...
package hjp.smart4j.framework.util;import org.apache.commons.lang3.StringUtils;/*** 字符串工具类*/ public ...
最新文章
- 什么业务场景适合使用Redis?
- HTTP API 自动化测试从手工测试到平台的演变
- 139. Word Break
- 如何制作一条网线?(双绞线在水晶头中的排列顺序)
- Java笔记-SM3(国密3)和SM4(国密4)的使用
- Linux—编写shell脚本操作数据库执行sql
- rust原地复活_植物大战僵尸英雄锈铁螺栓新手卡组推荐 rustbolt多手牌陷阱恢复后期流卡组...
- form表单提交数据的同时上传文件代码示例
- ALV 行、列、单元格颜色设置
- vmware虚拟机连接网络
- C语言----输入人数和姓名,输出最长姓名
- 计算机itunes无法安装,电脑一直显示无法安装iTunes怎么回事
- 高分Essay写作要点分析
- microsoft bing browser advance search
- 【附源码】计算机毕业设计java校园食堂订餐系统设计与实现
- 最小二乘法构建线性回归方程
- 主力用计算机吸筹,主力进场买点 找主力吸筹提款 通达信副图指标 源码 贴图(图文)...
- 条件概率的本质是样本空间的缩减
- 大疆Tello编队飞行教程(特洛教育版)/多机视频流获取
- html5播放器播放尺寸出界了,移动端弹性滑动以及滑动出界解决方案
热门文章
- python中opener_详解在Python程序中使用Cookie的教程
- ireport怎么套打_阴阳师:当前版本道馆突破怎么打?九套阵容让你成为道馆小能手...
- Vivado如何计算关键路径的保持时间裕量?
- [CF.Skills]播放嵌入资源的声音文件
- 全网最详细的Xshell或SecureCRT下spark-shell里出现无法退格或者删除的问题现象的解决办法(图文详解)...
- Appium之创建、连接夜神模拟器
- 学嵌入式Linux软件开发需要的知识
- openstack-swift云存储部署(一)
- EXC_BAD_ACCESS错误
- Exchange Server 2010安装测试