我的程序中的这一部分首先将客户发布到文本文件(在公共变量中声明)并将其保存到texfile中。 onbutton1click是搜索编辑框中字符串并将相关客户详细信息返回到备忘录的procudere。添加客户工作正常并添加到文本文件,但是当我搜索它时,不会在备忘录上返回任何内容,只有备忘录标题memo1。我能解决这个问题吗?抱歉,我是个新手。
procedure TForm2.btnsaveClick(Sender: TObject);
begin
cusfname:= edit1.text ;
cuslname:= edit2.text;
adress:= edit3.text;
phone:= edit4.text;
password:= edit5.Text;
AssignFile(F, 'Data.txt');
append(F);
WriteLn(F, cusfname);
WriteLn(F, cuslname);
WriteLn(F, adress);
WriteLn(F, phone);
WriteLn(F, password);
CloseFile(F);
end;
procedure TForm2.Button1Click(Sender: TObject);
var
SearchFile : Textfile;
found: boolean;
search: string;
begin
search := edit1.text;
Assignfile(SearchFile, 'data.txt');
Reset(SearchFile);
found:= false;
repeat
found:= search = phone
until eof(searchfile) or found;
if found then
memo1.append(phone);
memo1.append(cusfname);
memo1.append(adress);
if not found then
showmessage('member not found');
end;
答案 0 :(得分:0)
想知道读取陈述在哪里?在write函数中你有Write()语句,但在读代码中没有read()语句吗?
答案 1 :(得分:0)
在您的代码中,您没有read()
来自档案。在其他类似问题中(可能是您自己的问题):runerror(102) file not assigned?有read()
。但我认为您应该使用readln()
,或者更好地使用Classes
单元中的TStringList
类及其LoadFromFile()
方法和Lines
属性。