当前位置:主页>仓库管理软件> 列表

读文本文件内容的问题

仓库管理软件版1楼: 我写了如下代码:
procedure TForm1.Button1Click(Sender: TObject);
var
F: TextFile;
S: string;
begin
if OpenDialog1.Execute then begin
AssignFile(F, OpenDialog1.FileName);//打开txt文件
Reset(F);
Read(F, s);
memo1.Text:=s;
end;
end;
为什么memo1只显示(OpenDialog1.FileName)txt文件的第一行?如何让memo1显示的内容与所打开的txt文件的内容一样呢?

2楼: procedure TForm1.Button1Click(Sender : TObject);
var
F : TextFile;
S : string;
begin
Memo1.Clear;
if OpenDialog1.Execute then
begin
AssignFile(F, OpenDialog1.FileName); //打开txt文件
Reset(F);
while not SeekEof(F) do
begin
Readln(F, S);
S := Trim(S);
Memo1.Lines.Add(S);
end;
end;
end; 如免费财务管理软件

3楼: procedure TForm1.Button1Click(Sender : TObject);
begin
Memo1.Clear;
if OpenDialog1.Execute then
begin
memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;

4楼: procedure TForm1.Button1Click(Sender : TObject);
begin
Memo1.Clear;
if OpenDialog1.Execute then
begin
memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;

5楼: readln()是按行读

6楼: 在使用前先clear;
memo1.Lines.clear

仓库管理软件版7楼: procedure TForm1.Button1Click(Sender: TObject);
var
strFileName:string; //文件名称
lstStr:TStringList; //
i:integer;
begin
lstStr:=TStringList.Create;
self.Memo1.Clear;
if OpenDialog1.Execute then
begin
//AssignFile(F, OpenDialog1.FileName); //打开txt文件
strFileName:=self.OpenDialog1.FileName;
lstStr.LoadFromFile(strFileName);
if lstStr.Count>0 then
begin
for i:=0 to lstStr.Count-1 do
begin
self.Memo1.Lines.Add(lstStr.Strings[i]);
end;
end
else
showmessage(''文本为空'');
end;

lstStr.Free;


end;

8楼: procedure Tw_text_edit.Button5Click(Sender: TObject);
var
l_tstr:tstrings;
ls_path:string;
begin
opendialog1.Options:=[ofHideReadOnly,ofEnableSizing];
if OpenDialog1.Execute then
begin
ls_path:=ExtractFilePath(OpenDialog1.FileName)+ExtractFileName(OpenDialog1.FileName);
end
else ls_path:='''';
if length(ls_path) > 0 then
begin
try
try
l_tstr:=tstringlist.Create;
if fileexists(ls_path) then
begin
if not IsFileInUse(ls_path) then
begin
l_tstr.LoadFromFile(ls_path);
richedit1.Text:=l_tstr.Text;
end
else
begin
showmessage(''文件正被其它程序使用!'');
end;
end;
except
showmessage(''打开文本时发生错误!'');
end;
finally
l_tstr.Free;
end;
end;
end;

//判断文件是否正在被使用的函数
function IsFileInUse(fName : string) : boolean;
var
HFileRes : HFILE;
begin
Result := false;
if not FileExists(fName) then
exit;
HFileRes := CreateFile(pchar(fName), GENERIC_READ or GENERIC_WRITE,
0 {this is the trick!}, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
Result := (HFileRes = INVALID_HANDLE_VALUE);
if not Result then
CloseHandle(HFileRes);
end;

9楼: 我顶xiaoniaoxiaoniao的答案

10楼: 接受答案了