Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
에디트에서 FindText를 사용했을때.
에디트에서 FindText를 사용했을때. 만약
EndPos:= FindText('**', StartPos, ToEnd, [stMatchCase]);
EndPos 에 -1 아닌 값이 들어가면 '**' 그 문자열을
찾은 거잖아요.
그때 그 문자열이 있는 edit 의 line 카운트값을
알고 싶은데
메쏘드나 변수들을 아무리 찾아봐도 없네요.
그럼 고수분들 답변 부탁드립니다.
2
COMMENTS
이현우
•
2000.02.16 06:23
석기명 wrote:
> 에디트에서 FindText를 사용했을때. 만약
> EndPos:= FindText('**', StartPos, ToEnd, [stMatchCase]);
> EndPos 에 -1 아닌 값이 들어가면 '**' 그 문자열을
> 찾은 거잖아요.
>
> 그때 그 문자열이 있는 edit 의 line 카운트값을
> 알고 싶은데
> 메쏘드나 변수들을 아무리 찾아봐도 없네요.
> 그럼 고수분들 답변 부탁드립니다.
>
고수는 아니지만 쩝..
델파이 헬프의 예제에다 한줄만 추가했습니다.
procedure TForm1.Button1Click(Sender: TObject);
var EndPos : LongInt;
StartPos, ToEnd, LineNum : Integer;
i : Integer;
begin
FindDialog1.Position := Point(RichEdit1.Left + RichEdit1.Width, RichEdit1.Top);
FindDialog1.Execute;
end;
procedure TForm1.FindDialog1Find(Sender: TObject);
var
FoundAt: LongInt;
StartPos, ToEnd: integer;
begin
with RichEdit1 do
begin
{ begin the search after the current selection if there is one }
{ otherwise, begin at the start of the text }
if SelLength <> 0 then
StartPos := SelStart + SelLength
else
StartPos := 0;
{ ToEnd is the length from StartPos to the end of the text in the rich edit control }
ToEnd := Length(Text) - StartPos;
FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, [stMatchCase]);
if FoundAt <> -1 then
begin
SetFocus;
SelStart := FoundAt;
SelLength := Length(FindDialog1.FindText);
//*********************************추가한 부분
ShowMessage(IntToStr(RichEdit1.Perform(EM_LINEFROMCHAR,-1,0)));
//****************************************************************
end;
end;
end;
end.
EM_LINEFROMCHAR 메세지는 현재 라인값을 받아오는 메세지입니다.
그럼...
수고하세요..
0
0
삭제
수정
댓글
석기명
•
2000.02.17 07:17
이현우 wrote:
> 석기명 wrote:
> > 에디트에서 FindText를 사용했을때. 만약
> > EndPos:= FindText('**', StartPos, ToEnd, [stMatchCase]);
> > EndPos 에 -1 아닌 값이 들어가면 '**' 그 문자열을
> > 찾은 거잖아요.
> >
> > 그때 그 문자열이 있는 edit 의 line 카운트값을
> > 알고 싶은데
> > 메쏘드나 변수들을 아무리 찾아봐도 없네요.
> > 그럼 고수분들 답변 부탁드립니다.
> >
>
> 고수는 아니지만 쩝..
> 델파이 헬프의 예제에다 한줄만 추가했습니다.
>
> procedure TForm1.Button1Click(Sender: TObject);
> var EndPos : LongInt;
> StartPos, ToEnd, LineNum : Integer;
> i : Integer;
> begin
> FindDialog1.Position := Point(RichEdit1.Left + RichEdit1.Width, RichEdit1.Top);
> FindDialog1.Execute;
> end;
>
> procedure TForm1.FindDialog1Find(Sender: TObject);
> var
> FoundAt: LongInt;
> StartPos, ToEnd: integer;
> begin
> with RichEdit1 do
> begin
> { begin the search after the current selection if there is one }
> { otherwise, begin at the start of the text }
>
> if SelLength <> 0 then
> StartPos := SelStart + SelLength
> else
> StartPos := 0;
> { ToEnd is the length from StartPos to the end of the text in the rich edit control }
> ToEnd := Length(Text) - StartPos;
> FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, [stMatchCase]);
> if FoundAt <> -1 then
> begin
> SetFocus;
> SelStart := FoundAt;
> SelLength := Length(FindDialog1.FindText);
> //*********************************추가한 부분
> ShowMessage(IntToStr(RichEdit1.Perform(EM_LINEFROMCHAR,-1,0)));
> //****************************************************************
> end;
> end;
> end;
> end.
>
> EM_LINEFROMCHAR 메세지는 현재 라인값을 받아오는 메세지입니다.
> 그럼...
> 수고하세요..
>
한번 해봤거든요. 그런데
FoundAt := FindText('가', StartPos, ToEnd, [stMatchCase]);
if FoundAt <> -1 then
begin
SetFocus;
SelStart := FoundAt;
SelLength := Length(FindDialog1.FindText);
//*********************************추가한 부분
ShowMessage(IntToStr(RichEdit1.Perform(EM_LINEFROMCHAR,-1,0)));
//****************************************************************
end;
FoundAt := FindText('나', StartPos, ToEnd, [stMatchCase]);
if FoundAt <> -1 then
begin
SetFocus;
SelStart := FoundAt;
SelLength := Length(FindDialog1.FindText);
//*********************************추가한 부분
ShowMessage(IntToStr(RichEdit1.Perform(EM_LINEFROMCHAR,-1,0)));
//****************************************************************
end;
위와 같이 가를 찾을때는 정확한 라인count를 알수 있는데
두번째 사용했을때는 첫번재 라인count하고 똑같아 지네요..
초기화를 시켜야 하는 건가요? 답변 부탁드립니다.
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
초보
2000.02.16 06:23
0
COMMENTS
/
0
LIKES
ICS에서 SMTP가 자꾸 에러가 나요...
석기명
•
2000.02.16 06:01
2
COMMENTS
/
0
LIKES
에디트에서 FindText를 사용했을때.
에디트에서 FindText를 사용했을때. 만약 EndPos:= FindText('**', StartPos, ToEnd, [stMatchCase]); EndPos 에 -1 아닌 값이 들어가면 '**' 그 문자열을 찾은 거잖아요. 그때 그 문자열이 있는 edit 의 line 카운트값을 알고 싶은데 메...
이현우
•
2000.02.16 06:23
석기명 wrote: > 에디트에서 FindText를 사용했을때. 만약 > EndPos:= FindText('**', StartPos, ToEnd, ...
석기명
•
2000.02.17 07:17
이현우 wrote: > 석기명 wrote: > > 에디트에서 FindText를 사용했을때. 만약 > > EndPos:= FindText('*...
채재호
•
2000.02.16 04:56
1
COMMENTS
/
0
LIKES
ToolButton 의 Caption 이 안보여요!!!
aaa
•
2000.02.16 18:18
채재호 wrote: > ToolBar의 ToolButton에 메뉴를 연결해서 사용하려고 합니다. > 그런데 Toolbutton의 Ca...
이현우
2000.02.16 04:25
0
COMMENTS
/
0
LIKES
Re: shellexecute에 대하여(질문0
한근수
•
2000.02.16 04:18
3
COMMENTS
/
0
LIKES
오라클 insert 좀 가르쳐주세요.
smileye
•
2000.02.21 09:47
한근수 wrote: > 오라클 7.3을 쓰고요, 델파이 4를 씁니다. > 전에는 파라독스를 써왔는데, 오라클로 바...
윤병익
•
2000.02.16 18:55
맞는지 모르겠네요.... 전 이런 방법으로 Insert를 하고 있습니다... 참고로 제가 알기로는 Select문 빼...
신숙정
•
2000.02.16 18:28
올리신 소스가 실제 프로그램 소스와 동일하다면 오타가 난 게 아닐까 생각합니다. 아래중에 :p13 다음...
이현우
•
2000.02.16 04:12
1
COMMENTS
/
0
LIKES
화일입출력과 관련한 질문입니다.
최용일
•
2000.02.20 14:54
이현우 wrote: > 화일입출력과 관련한 질문입니다. > > 문서 화일 두개를 합치려고 합니다.(압축아님) ...
이용현
2000.02.16 03:39
0
COMMENTS
/
0
LIKES
질문을 어떻게 드려야 할지도 모르겠네요 ㅠ.ㅠ
이세영
2000.02.16 03:12
0
COMMENTS
/
0
LIKES
리치에디트에서 커서 문제..
송수현
•
2000.02.16 03:10
2
COMMENTS
/
0
LIKES
하드 정보 알아내기??
whitetree
•
2001.03.17 02:41
송수현 wrote: > 안녕하세요 꾸벅~! > procedure TForm1.Button1Click(Sender: TObject); > var > Vo...
이현우
•
2000.02.16 04:42
송수현 wrote: > 안녕하세요 꾸벅~! > procedure TForm1.Button1Click(Sender: TObject); > var > Vo...
박은철
2000.02.16 03:00
0
COMMENTS
/
0
LIKES
(질문)윈도우의 연결프로그램을 띄우는 방법
돌맹이
2000.02.16 02:48
0
COMMENTS
/
0
LIKES
인스톨후 프로그램 실행하면 에러......
토이
2000.02.16 02:45
0
COMMENTS
/
0
LIKES
IBlocal에서요..
돌맹이
2000.02.16 02:31
0
COMMENTS
/
0
LIKES
인스톨 후 에러가....
안창기
•
2000.02.16 01:18
1
COMMENTS
/
0
LIKES
Hyper Report출력에 대한 문의....
노태협
•
2000.02.16 17:50
안창기 wrote: > 안녕하세요 여러분. > 저는 Hyper Report를 이용하여 출력을 개발하고 있는데 하다보니 ...
최종렬
2000.02.16 01:05
0
COMMENTS
/
0
LIKES
정해진 Form형태로 파일에 저장하려면...
김동식
2000.02.16 01:02
0
COMMENTS
/
0
LIKES
하드웨어에서 읽은 영상을 화면에 표시..
김지현
•
2000.02.16 00:53
1
COMMENTS
/
0
LIKES
DBGrid에서 엑셀로 자료내릴때 말이죠~
이만준
•
2000.02.16 02:46
안녕하세요.. 뭐땀시 그렇게 많은 컬럼을 사용하는지 모르겠지만.. 엑셀에서 지원하는 최대행수가 25...
안창기
2000.02.16 00:47
0
COMMENTS
/
0
LIKES
Hyper Report에 대해서
이상학
2000.02.16 00:37
0
COMMENTS
/
0
LIKES
[1655]번 재질문입니다.
이상학
2000.02.16 00:36
0
COMMENTS
/
0
LIKES
[1655]번 재질문..
석기명
2000/02/16 06:01
Views
339
Likes
0
Comments
2
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 에디트에서 FindText를 사용했을때. 만약
> EndPos:= FindText('**', StartPos, ToEnd, [stMatchCase]);
> EndPos 에 -1 아닌 값이 들어가면 '**' 그 문자열을
> 찾은 거잖아요.
>
> 그때 그 문자열이 있는 edit 의 line 카운트값을
> 알고 싶은데
> 메쏘드나 변수들을 아무리 찾아봐도 없네요.
> 그럼 고수분들 답변 부탁드립니다.
>
고수는 아니지만 쩝..
델파이 헬프의 예제에다 한줄만 추가했습니다.
procedure TForm1.Button1Click(Sender: TObject);
var EndPos : LongInt;
StartPos, ToEnd, LineNum : Integer;
i : Integer;
begin
FindDialog1.Position := Point(RichEdit1.Left + RichEdit1.Width, RichEdit1.Top);
FindDialog1.Execute;
end;
procedure TForm1.FindDialog1Find(Sender: TObject);
var
FoundAt: LongInt;
StartPos, ToEnd: integer;
begin
with RichEdit1 do
begin
{ begin the search after the current selection if there is one }
{ otherwise, begin at the start of the text }
if SelLength <> 0 then
StartPos := SelStart + SelLength
else
StartPos := 0;
{ ToEnd is the length from StartPos to the end of the text in the rich edit control }
ToEnd := Length(Text) - StartPos;
FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, [stMatchCase]);
if FoundAt <> -1 then
begin
SetFocus;
SelStart := FoundAt;
SelLength := Length(FindDialog1.FindText);
//*********************************추가한 부분
ShowMessage(IntToStr(RichEdit1.Perform(EM_LINEFROMCHAR,-1,0)));
//****************************************************************
end;
end;
end;
end.
EM_LINEFROMCHAR 메세지는 현재 라인값을 받아오는 메세지입니다.
그럼...
수고하세요..