1

私のプログラムのこのセグメントは、最初に顧客をテキストファイル (パブリック変数で宣言) にアドバタイズし、それを texfile に保存します。onbutton1click は、編集ボックスにある文字列を検索し、関連する顧客の詳細を memo に返すプロシージャです。顧客の追加は正常に機能し、テキストファイルに追加されますが、検索すると、メモには何も返されず、メモのキャプション 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;                           
4

2 に答える 2

0

readステートメントはどこにあるのだろうか?書き込み関数には Write() ステートメントがありますが、読み取りコードには read() ステートメントはありませんか?

于 2010-10-24T10:42:20.803 に答える
0

あなたのコードではread()、ファイルからではありません。他の同様の質問 (おそらくあなた自身のもの): runerror(102) ファイルが割り当てられていませんか? ありますread()。しかし、メソッドとプロパティを使用してユニットのクラスをreadln()使用するか、より適切に使用する必要があると思います。TStringListClassesLoadFromFile()Lines

于 2010-10-26T06:40:27.910 に答える