0
私は私のフォームでこのテキストファイルからデータを読み取り、それをメモフィールドに表示する方法は?
1 Sharon Jasper Male
2 Steven John Male
3 Mary Hill Female
のようなデータが存在edtIdと呼ばれる1つのテキストボックスを持って、検索ボタンをクリックしてくださいfield.Whileボタン(btnFind)、およびメモを見つける含まれていprofile.txtというテキストファイルを持っています対応するデータがメモに表示されます。 ありがとう
このコードは非常に非効率的です。一つは、ループは役に立たない。ループを使用する場合、 'Memo1.Text'の代わりに' Memo1.Lines [i] 'を使用する必要がありますが、' p'が間違った値になるため 'Memo1.SelStart'の割り当て方法を変更する必要があります。簡単な解決策は、ループを完全に取り除くことです。さらに、 'TRichEdit'に切り替え、' Pos() 'の代わりに' FindText() 'メソッドを使用してください。 –
あなたは正しいですが、このコードは部分文字列(この場合はid)のみを検索して選択します。 TMemoに部分文字列を見つける他の方法はありません。 Memo1.Lines [i]を使う必要があることは明らかです(edtId 1が1行目にある場合のみ有効です)。 TRichEditに切り替えることに同意します。しかし、メモの管理レコードはそれを実行する最悪の方法だと思います。データベースまたは少なくともレコードの配列を使用する方がよいでしょう。 –
私の以前のコメントはまだありません。一度に1行ずつ 'Memo'をループする場合は、' Text'プロパティをまったく使用しないでください。それ以外の場合は、TRichEditを使用して、組み込みの検索機能を利用します。 –