안녕하세요.
또 이렇게 도움을 청하러 왔습니다.
지금 델 공부를 하면서 텍스트 파일에서 문자열을 검색하여 텍스트그리드에 나타내는 프로그램을 만들고 있는데 잘 안풀리는 부분이 있답니다. 지도 부탁드려요. ^^
예) 텍스트파일의 내용: 첫줄 - 동해물과 백두산이 마르고 닳도록
두줄 - 동해물과 한라산이 마르고 닳도록
세줄 - 동해물과 지리산이 마르고 닳도록
네줄 - 동해물과 앞동산이 마르고 닳도록
검색단어를 "동해 라산이"라고 넣었습니다.
그러면 두번째줄의 내용이 텍스트그리드에 나타나게 하려합니다.
mydata[0] := '동해';
mydata[1] := '라산이';
위 처럼 검색단어를 각각 변수에 저장하는 것은 성공을 했는데,
두 단어가 동시에 들어가는 라인을 찾으려면 어떻게 해야 하는지 너무 궁금합니다.
부탁드립니다. 게시판을 뒤져봤는데 이런 내용은 없는것 같아 이렇게 글을 올려요.
해당문자열이 존재할 경우에는 리턴값으로 위치값을 넘겨주고, 못찾으면 0을 넘깁니다.
그러니까...
if (pos(mydata(0),'전체문자열')<>0) and (pos(mydata(1),'전체문자열')<>0) then
showmessage('문자열에 두글자가 모두 들어있습니다.');
위에서 '전체문자열'이라고 적은부분은 검사할 문자열을 말한겁니다.
그러니까..님의 경우라면...TextFile에서 불러오는 한줄한줄 입니다.
TextFile을 전부 불러서 한꺼번에 비교하는 방법이 있는지는 잘 모르겠구요. 암튼..
좀 무식하지만 한줄한줄 읽어서 비교하는 방법입니다.
물론 위의것은 text파일의 내용을 한줄씩 불러올때를 가정해서 해보았습니다.
정확하지는 않지만...text 파일에서 불러온다면...
while Not(TextFile.Eof) do begin //TextFile에도 Eof 가 맞던가? 기억이 가물가물..
//textfile을 한줄씩 불러오고
//위에 적어준 내용대로 검사를 한다음에 해당되면...그줄이이겠죠? ^^;
end;
델걸음마 wrote:
> 안녕하세요.
> 또 이렇게 도움을 청하러 왔습니다.
> 지금 델 공부를 하면서 텍스트 파일에서 문자열을 검색하여 텍스트그리드에 나타내는 프로그램을 만들고 있는데 잘 안풀리는 부분이 있답니다. 지도 부탁드려요. ^^
>
> 예) 텍스트파일의 내용: 첫줄 - 동해물과 백두산이 마르고 닳도록
> 두줄 - 동해물과 한라산이 마르고 닳도록
> 세줄 - 동해물과 지리산이 마르고 닳도록
> 네줄 - 동해물과 앞동산이 마르고 닳도록
>
> 검색단어를 "동해 라산이"라고 넣었습니다.
> 그러면 두번째줄의 내용이 텍스트그리드에 나타나게 하려합니다.
>
> mydata[0] := '동해';
> mydata[1] := '라산이';
>
> 위 처럼 검색단어를 각각 변수에 저장하는 것은 성공을 했는데,
> 두 단어가 동시에 들어가는 라인을 찾으려면 어떻게 해야 하는지 너무 궁금합니다.
>
> 부탁드립니다. 게시판을 뒤져봤는데 이런 내용은 없는것 같아 이렇게 글을 올려요.