procedure TForm1.Button1Click(Sender: TObject);
var
ms: TMemoryStream;
c: Char;
s1: string;
begin
ms := TMemoryStream.Create;
ms.LoadFromFile('C:\Documents and Settings\Administrator\桌面\xx.txt'); {读入内存流}
s1 := '';
ms.Position := 0; {指针到开始}
while ms.Position < ms.Size do {循环读出}
begin
ms.Read(c,1); {每读出一个字节, 指针会自动移到新的位置}
s1 := s1 + c + ' '; {用文本记录}
end;
Memo1.Lines.Text := s1;
ms.Free;
end;为什么文本文件里面的内容是文字,显示出来却是乱码。请各位指教。谢谢了
改成 s1 := s1 + c ; {用文本记录}
对于文本文件的读取可以用textfile来操作。
Procedure OpenTxt(FileName:String);
Var
F : Textfile;
Begin
AssignFile(F,FileName); {将文件名与变量 F 关联}
Append(F); {以编辑方式打开文件 F }
Writeln(F, '将您要写入的文本写入到一个 .txt 文件');
Closefile(F); {关闭文件 F}
End; Procedure ReadTxt(FileName:String);
Var
F : Textfile;
str : String;
Begin
AssignFile(F, FileName); {将文件名与变量 F 关联}
Reset(F); {打开并读取文件 F }
Readln(F, str);
ShowMessage('文件有:' +str + '行。');
Closefile(F); {关闭文件 F}
End;
memo1.Lines.LoadFromFile ('C:\Documents and Settings\Administrator\桌面\xx.txt');
就搞定了