如何去掉导入txt文本的结束符(#0)?

azsoft 2004-10-18 05:49:45
手持终端导出的文本文件在调用的时候,只调出第一条纪录(里面纪录多),打开这个文本文件保存一下就好了,试了几遍,都一样.怪!

用LoadFromFile和TMemoryStream都试了!

....
slist:=Tstringlist.create;
slist.LoadFromFile(slist);

.....
//第一种;

...
ms:=TMemoryStream.Create;
Ms.LoadFromFile(tmfile);
RichEdit1.Lines.LoadFromStream(ms);
... //第二种
...全文
296 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
101monster 2004-10-19
  • 打赏
  • 举报
回复
呵呵,UP!
WGYKING 2004-10-19
  • 打赏
  • 举报
回复
用流操作
读定长CHAR...

var
AStream: TMemoryStream;
Str: String;
begin
try
AStream := TMemoryStream.Create;
AStream.LoadFromFile(tmfile);
AStream.Position := 0;
while AStream.Position + 21 <= AStream.Size do
begin
AStream.Read(Str[1], 21);//长度自己算一下,包括结束符
RichEdit1.Lines.Add(Str);
end;
finally
FreeAndNil(AStream);
end;
end;
longtusoft 2004-10-18
  • 打赏
  • 举报
回复
用TSTRINGLIST试试.
azsoft 2004-10-18
  • 打赏
  • 举报
回复
用十六进制打开后是"."
azsoft 2004-10-18
  • 打赏
  • 举报
回复
因为是手持终端导出的文本文件,可能是char的格式,那么有可能就是结束符的问题,因为只能读出一条纪录,别的纪录无法读出.将这个文本打开保存一下,就可以打开,用以上三种方法都不行.不知道有没有办法,可以把这个文件发过去,帮我试试,(放心绝对不是病毒!)
azsoft 2004-10-18
  • 打赏
  • 举报
回复
文本文件在调用的时候,只调出第一条纪录(里面纪录多),打开这个文本文件保存一下就好了?不理解呀!
Shiyl 2004-10-18
  • 打赏
  • 举报
回复
我的测试代码
procedure TForm1.Button1Click(Sender: TObject);
var
FileList: TStringList;
begin
Try
FileList := TStringList.Create;
FileList.LoadFromFile('e:\a.txt');
showmessage(Filelist.Text);
Finally
FreeAndNil(FileList);
End;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
FileMemory: TMemoryStream;
begin
Try
FileMemory := TMemoryStream.Create;
FileMemory.LoadFromFile('E:\a.txt');
Memo1.Lines.LoadFromStream(FileMemory);
Finally
FreeAndNil(FileMemory);
End;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
FileStrm: TFileStream;
begin
Try
FileStrm := TFileStream.Create('E:\a.txt',fmOpenReadWrite);
FileStrm.Position := 0;
Memo1.Lines.LoadFromStream(FileStrm);
Finally
FreeAndNil(FileStrm);
End;
end;
三种方法都可以读出数据,a.txt里面的内容如下
asdfasdfasdfasdf #0
12324112asdfasjklhjk
kjlj
jkasdjf
hgjghj
gsdkglj#0


----------------------------------------------------------------
花自飘零水自流,一种相思,两处闲愁。
此情无计可消除,才下眉头,又上心头。
----------------------------------------------------------------
.版本 2 .子程序 _删除_被选择 .局部变量 当前选中, 整数型 .局部变量 文本数组, 文本型, , "0" .局部变量 文本数组2, 文本型, , "0" .局部变量 删除容器, 字节集 .局部变量 x, 整数型 .如果真 (列表框1.现行选中项 = -1) 信息框 (“请在列表中选中需要删除的会员!”, 0, ) 返回 () .如果真结束 当前选中 = 列表框1.现行选中项 移到文件首 (文件号) 删除容器 = 读入字节集 (文件号, 取文件长度 (文件号)) 文本数组 = 分割文本 (到文本 (删除容器), #换行符, ) .计次循环首 (取数组成员数 (文本数组), x) .如果 (当前选中 + 1 = x) 文本数组2 = 分割文本 (文本数组 [x], “,”, ) .如果真 (信息框 (“会员卡号:” + 文本数组2 [1] + #换行符 + “会员名字:” + 文本数组2 [2] + #换行符 + “卡类型:” + 文本数组2 [4] + #换行符 + “您确定要删除?”, #警告图标 + #是否钮, “删除会员信息:”) = 5) 删除成员 (文本数组, x, ) 跳出循环 () .如果真结束 返回 () .否则 .如果结束 .计次循环尾 () 移到文件首 (文件号) 删除数据 (文件号, 取文件长度 (文件号)) .计次循环首 (取数组成员数 (文本数组), x) .如果 (取数组成员数 (文本数组) = x) 写出字节集 (文件号, 到字节集 (文本数组 [x])) .否则 写出字节集 (文件号, 到字节集 (文本数组 [x] + #换行符)) .如果结束 .计次循环尾 () 子程序载入数据 () .子程序 子程序删除会员 .参数 会员号, 文本型 .局部变量 删除容器, 字节集 .局部变量 文本数组, 文本型, , "0" .局部变量 文本数组2, 文本型, , "0" .局部变量 x, 整数型 .' 如果 (会员号 ≠ “”) ' 移到文件首 (文件号) ' 删除容器 = 读入字节集 (文件号, 取文件长度 (文件号)) ' 文本数组 = 分割文本 (到文本 (删除容器), #换行符, ) .' 计次循环首 (取数组成员数 (文本数组), x) ' 文本数组2 = 分割文本 (文本数组 [x], “,”, ) .' 如果真 (文本数组2 [1] = 会员号) .' 如果真 (信息框 (“会员卡号:” + 文本数组2 [1] + #换行符 + “会员名字:” + 文本数组2 [2] + #换行符 + “卡类型:” + 文本数组2 [4] + #换行符 + “您确定要删除?”, #警告图标 + #是否钮, “删除会员信息:”) = 5) ' 删除成员 (文本数组, x, ) ' 跳出循环 () .如果真结束 ' 返回 () .如果真结束 .' 计次循环尾 () ' 移到文件首 (文件号) ' 删除数据 (文件号, 取文件长度 (文件号)) .' 计次循环首 (取数组成员数 (文本数组), x) .' 如果 (取数组成员数 (文本数组) = x) ' 写出字节集 (文件号, 到字节集 (文本数组 [x])) .否则 ' 写出字节集 (文件号, 到字节集 (文本数组 [x] + #换行符)) .如果结束 .' 计次循环尾 () ' 会员号 = “” ' 子程序载入数据 () .否则 .如果结束 .子程序 _导入_被选择 .局部变量 导入容器, 字节集 .局部变量 文本数组, 文本型, , "0" .局部变量 文件号2, 整数型 .局部变量 临时变量, 文本型 信息框 (“本导入程序不会对您所导入的数据进行校验,请正确选择需要导入的数据备份!” + #换行符 + “否则将会导致不可逆的数据损坏!”, #警告图标, “警告!!”) .如果真 (通用对话框1.打开 () = 假) 返回 () .如果真结束 关闭所有文件 () 文件号2 = 打开加密文件 (通用对话框1.文件名, 3, , “19@85(32%71&BvC”, ) 移到文件首 (文件号2) 导入容器 = 读入字节集 (文件号2, 取文件长度 (文件号2)) 临时变量 = 子文本替换 (取当前目录 (), “\bakup”, “”, 1, , 真) 文件号 = 打开加密文件 (临时变量 + “\data.dat”, 4, , “19@85(32%71&BvC”, ) 移到文件首 (文件号) 写出字节集 (文件号, 导入容器) 关闭所有文件 () 信息框 (“为让系统正确运行,请关闭程序重新运行!”, #信息图标, )

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧