为何我加入数据到TList之后读取出来是乱码,代码如下

问题描述

为何我加入数据到TList之后读取出来是乱码,代码如下
unit Unit1;

interface

uses
Windows Messages SysUtils Variants Classes Graphics Controls Forms
Dialogs StdCtrls;

Type
PL=^TL;
TL=record
str:string[20];
End;

type
TForm1 = class(TForm)
Button_OpenFile: TButton;
Memo_Text: TMemo;
OpenDialog1: TOpenDialog;
Button1: TButton;
Memo1: TMemo;
Button2: TButton;
procedure Button_OpenFileClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
CurrentDir:string;
List1:TList;
implementation

{$R *.dfm}

procedure TForm1.Button_OpenFileClick(Sender: TObject);
Var
F:Textfile;
str:string;
Filename:string;
p:PL;
begin
OpenDialog1.InitialDir:=CurrentDir;
OpenDialog1.Filter:='文本文件(*.txt)|*.txt';;
Memo_Text.Clear;

if OpenDialog1.Execute then { Display Open dialog box }
begin
AssignFile(FOpenDialog1.FileName); { File selected in dialog box }
Reset(F);
while not eof(F) do
begin
Readln(Fstr);
Memo_Text.Lines.Add(str);
new(p);
p.str:=str;
//showmessage(str);
List1.Add(p);
Dispose(p);
end;

//Memo_Text.Lines.LoadFromFile(OpenDialog1.FileName);CloseFile(F);

end;
//str:-
showmessage(inttostr(List1.Count ));

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
CurrentDir:=GetCurrentDir();
List1:=TList.Create;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
List1.Clear;
List1.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
ij:integer;
str:string[20];
PL1PL2:PL;
begin
Memo1.Clear;
for i:=0 to List1.Count-1 do
begin
str:='';
//new(PL1);
PL1:=List1.Items[i];

//showmessage(str);for j:=i+1 to List1.Count-1 dobegin  //new(PL2);  PL2:=List1.Items[j];  if PL2.str=PL1.str then  begin    str:=PL1.str+'*'+inttostr(i)+inttostr(j)+'*'+PL2.str;    Memo1.Lines.Add(str);    exit;  end;end;

end;

end;

end.

解决方案

和tlist没有关系,应该是你的
Readln(Fstr);
str = Utf8ToAnsi(str); //加上
Memo_Text.Lines.Add(str);
没有指定正确的编码

时间: 2024-07-28 12:40:29

为何我加入数据到TList之后读取出来是乱码,代码如下的相关文章

Python导出数据到Excel可读取的CSV文件的方法

  本文实例讲述了Python导出数据到Excel可读取的CSV文件的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 import csv with open('eggs.csv', 'wb') as csvfile: #spamwriter = csv.writer(csvfile, delimiter=' ',quotechar='|', #quoting=csv.QUOTE_MINIMAL) spamwriter = csv.writer(csvfile,

java-求教下jxl的问题,数据填充后如何读取

问题描述 求教下jxl的问题,数据填充后如何读取 wb = Workbook.getWorkbook(new File(pathString)); WritableWorkbook wwb = Workbook.createWorkbook(response.getOutputStream(), wb,settings); 使用上面的代码对excel文件进行数据填充之后,我要怎么才能读取到填充之后的文件? 我一开始在填充之后使用 WritableWorkbook rwb = Workbook.c

jquert如何实现分页数据已经从数据库 读取出来绑定好了

问题描述 jquert如何实现分页数据已经从数据库 读取出来绑定好了 数据已经从数据库 读取出来绑定好了 如何用jquert实现分页呀 实现图片上的有上下翻页 显示多少也 例如每页显示十条数据 <%@ page language=""java"" import=""java.util.*"" pageEncoding=""UTF-8""%><%@taglib uri=&

十图详解TensorFlow数据读取机制(附代码)

在学习TensorFlow的过程中,有很多小伙伴反映读取数据这一块很难理解.确实这一块官方的教程比较简略,网上也找不到什么合适的学习材料.今天这篇文章就以图片的形式,用最简单的语言,为大家详细解释一下TensorFlow的数据读取机制,文章的最后还会给出实战代码以供参考. TensorFlow读取机制图解 首先需要思考的一个问题是,什么是数据读取?以图像数据为例,读取数据的过程可以用下图来表示: 假设我们的硬盘中有一个图片数据集0001.jpg,0002.jpg,0003.jpg--我们只需要把

MFC的CFile和StdFile读取浮点数有乱码的问题

问题描述 MFC的CFile和StdFile读取浮点数有乱码的问题 请问在用MFC的CFile和StdFile读取浮点数,读取的数据转换16进制不正确,怀疑是有乱码的问题,怎么解决? 解决方案 十六进制本来显示出来就是乱码,贴出你的数据和内存中的数值.

php对大文件进行读取操作的实现代码_php技巧

在php中,对于文件的读取时,最快捷的方式莫过于使用一些诸如file.file_get_contents之类的函数,简简单单的几行代码就能很漂亮的完成我们所需要的功能.但当所操作的文件是一个比较大的文件时,这些函数可能就显的力不从心, 下面将从一个需求入手来说明对于读取大文件时,常用的操作方法. 需求 有一个800M的日志文件,大约有500多万行, 用php返回最后几行的内容. 实现方法 1. 直接采用file函数来操作 注:由于 file函数是一次性将所有内容读入内存,而php为了防止一些写的

php读取大文件实例代码

在php开发中,经常遇到要读取一些文件,最简便的方法莫过于使用一些如file.file_get_contents之类的函数,简简单单的几行代码就能轻松的搞定.但当需要操作的文件是一个比较大的文件时,这些函数可能就显的力不从心, 下面将从一个需求入手来说明对于读取大文件时,常用的操作方法.   需求:有一个800M的日志文件,大约有500多万行,用php返回最后几行的内容.   实现方法有以下:   1. 直接采用 file函数 来操作   注:由于 file函数是一次性将所有内容读入内存,而ph

Java web的读取Excel简单实例代码_java

目录结构: Data.xls数据:   后台页面: public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //System.out.println(this.getServletContext().getRealPath ("/")); try{ Workbook wb = Workbook.getWorkboo

php dom读取xml文档代码(1/4)

  <books> <book> <author>jack herrington</author> <title>php教程 hacks</title> <publisher>o'reilly</publisher> </book> <book> <author>jack herrington</author> <title>podcasting ha