0
나는 edtId라는 하나의 텍스트 상자를 가지고 버튼 (btnFind를) 찾을 수있을 내 양식이텍스트 파일에서 데이터를 읽고 메모 필드에 표시하는 방법은 무엇입니까?
1 Sharon Jasper Male
2 Steven John Male
3 Mary Hill Female
같은 데이터를 포함 profile.txt라는 텍스트 파일을 가지고 있고, 메모 field.While은 찾기 버튼을 클릭 해당 데이터가 메모에 표시되어야합니다. 감사합니다.
이 코드는 매우 비효율적입니다. 한 가지는 루프가 쓸모가 없다는 것입니다. 루프를 사용한다면'Memo1.Text' 대신에'Memo1.Lines [i]'를 사용해야하지만,'p'가 잘못된 값이기 때문에'Memo1.SelStart' 할당 방법을 변경해야합니다. 더 간단한 해결책은 루프를 완전히 없애는 것입니다. 더 좋은 점은'TRichEdit'으로 전환하고'Pos()'대신'FindText()'메소드를 사용하는 것입니다. –
당신은 맞지만이 코드는 하위 문자열 (이 경우에는 id) 만 찾아 선택합니다. TMemo에서 하위 문자열을 찾는 다른 방법은 없습니다. Memo1.Lines [i]를 사용해야합니다. (예 : edtId 1이 1 행에있는 경우에만 작동합니다.) 메모에서 "기록"을 찾고 싶다면 Memo1.Lines [i]를 사용해야합니다. TRichEdit으로 전환하는 것에 동의합니다. 그러나 메모의 레코드 관리가 최악의 방법이라고 생각합니다. 데이터베이스 또는 적어도 레코드 배열을 사용하는 것이 좋습니다. –
내 이전의 의견은 여전히 있습니다. 한번에 한 줄씩'Memo'를 반복한다면'Text' 속성을 전혀 사용하지 마십시오. 그렇지 않으면 TRichEdit을 사용하고 내장 검색 기능을 활용하십시오. –