Q&A

  • 폰트색깔을 리셋 시키려면은 요?
폰트의 색깔을 뿌려주고 다시 그 상태에서 다른 단어를 찾아 그 단어의 폰트 색깔을 바꾸려 하면

전에것도 색깔이 바뀌채로 그대로 있고 새단어도 바뀌는데

그이유가 뭘까요?

selattributes.color 의 값을 리셋 하고 싶은데 어떻게 하면되죠?

무척궁금합니다.





소스가 여기있습니다.

참고 해주세요.



------------------------------------------------------------------------------------------------------------------------

function TForm1.FindMemoStr(SrchStr: String; fromIndex: Integer; CaseSensitive: Boolean): Integer;

function Replichar(c: char; n: integer):string;

var

i: integer;

o: string;

begin

o := '';

for i := 1 to n do AppendStr(o,c);

Replichar := o;

end;



var

CRow, CCol, SRow, SCol: longint;

located: Boolean;

s, t, p: String;

linenum,colnum:word;

begin

Result :=0;

if length(SrchStr) < 1 then

System.Exit;

//richedit1의 주어진 위치부터 찾기위해

richedit1.SelStart := fromIndex;

located := False;

if CaseSensitive then

s := SrchStr

else

s := Uppercase(SrchStr);



with richedit1 do

begin

if richedit1.lines.count < 1 then

exit;

{현재 row and column을 얻는다}

CaretPos(RichEdit1.Handle,linenum,colnum);

CRow :=linenum ;

Ccol :=colnum;

SRow := CRow; {검색시작 row}

while (SRow < richedit1.lines.count) and not located do

begin

if CaseSensitive then

t := lines[SRow]

else

t := UpperCase(lines[SRow]);



if SRow = CRow then

begin

Delete(t,1,CCol+1);

p := Replichar(' ', CCol+1);

AppendStr(p, t);

t := p;

end;

SCol := pos(s, t);

if SCol > 0 then

begin

located := True;

end

else

inc(SRow);

end;



if located then

begin

SelStart := SendMessage(richedit1.Handle, EM_LineIndex, SRow, 0) + SCol - 1;

SelLength :=length(s);

setfocus;

selattributes.color:=clblue;

Result := SelStart;

end

else

begin

Result :=0;

end;

end;

end;







procedure TForm1.FormCreate(Sender: TObject);

begin

k:=0; // // 처음 찾기할 시작위치(SelStart)

Edit1.text :='this';

richedit1.Lines.loadfromfile('c:bible1.txt');

end;

procedure TForm1.Button1Click(Sender: TObject);

var

i:integer;

begin



for i:= 1 to (richedit1.Lines.count) do

begin

k:= FindMemoStr(trim(Edit1.Text),k,CB_CaseSensitive.checked ); //accessviolation 0042F228 주의

if k = 0 then

begin

MessageBeep(MB_ICONHAND);

richedit1.SelAttributes.ConsistentAttributes ;

MessageDlg('더이상 찾는 문자열이 없습니다', mtInformation, [mbOK],0);

edit1.setfocus;

K:=0;

exit;

end;



end;

end;



procedure TForm1.Timer1Timer(Sender: TObject);

begin

//FlashWindow(Form1.Handle, True);

end;



procedure TForm1.FormActivate(Sender: TObject);

begin

//Timer1.Enabled := True;

end;



end.



3  COMMENTS
  • Profile
    김영해 1999.04.18 04:00
    회사에서 어플리케션을 개발하는 중에 있습니다.

    그런데 이전까지 멀쩡하던 프로젝트들이 동시다발적으로 에러를 뱉어(?)

    내고 있습니다.

    현상태를 설명하자면 델4를 사용하구요

    exe에서 호출되는 MDIChile 각 화면들을 불러 사용합니다. 그리고 패키지를 사용하여 사이즈를 줄인 상태로 개발중입니다.

    그런데 일부 반항적인 차일드들이 호출과 동시에 violation을 일으킵니다.

    나름대로 분석해 본 결과로는 예전에 설치 했던 flat스타일의 콤포넌트들에

    의해서 발생하는 것 같습니다.

    그래서 문제가 일어나는 vcl40.bpl을 패키지에서 제외하고 사용하면 이상이 없습니다. vcl40.bpl까지도 포함해서 개발을 하고 싶은데 어떻게 하면 좋을까요?

    이거 해결 못 하면 하도 쥐어뜯어 얼마남지 않은 머리카락 다 빠질 것 같아요

    -.-;;

    도와주세요







  • Profile
    이정욱 1999.04.18 22:34
    vcl40.bpl을 패키지에 포함을 하면서 다른 패키지와 충돌이 있는것 같습니다.

    패키지를 만드실때 사용하지 않았던 컴포넌트들은 모조리 빼서 다른곳에 모아놓으시고, 사용한 패키지만 모아서 하나의 패키지를 만드는것이 좋을듯 싶습니다.

    저도 패키지를 이용해서 배포를 하려고 했던적이 있습니다. 하지만 저도 같은 문제점에 봉착을 했었고, 해결 후 보니 별로 노력대 성능비가 좋지 못했습니다.

    DLL과 EXE화일의 크기를 줄이시려면 더 좋은 방법이 있습니다.

    외국의 Shrinker(유료)나 ASPack(개인적으로 사용하면 공짜)을 사용해보세요.

    전 그림이 들어가는 리소스 DLL을 이것으로 압축해서 사용합니다. (80%가 줄어버림!) ASPack공개버전을 한델 자료실에 올려 놓겠습니다. 새버전이 나오긴 했는데 유료가 되어버렸네요.. 흐..



    김영해 wrote:

    > 회사에서 어플리케션을 개발하는 중에 있습니다.

    > 그런데 이전까지 멀쩡하던 프로젝트들이 동시다발적으로 에러를 뱉어(?)

    > 내고 있습니다.

    > 현상태를 설명하자면 델4를 사용하구요

    > exe에서 호출되는 MDIChile 각 화면들을 불러 사용합니다. 그리고 패키지를 사용하여 사이즈를 줄인 상태로 개발중입니다.

    > 그런데 일부 반항적인 차일드들이 호출과 동시에 violation을 일으킵니다.

    > 나름대로 분석해 본 결과로는 예전에 설치 했던 flat스타일의 콤포넌트들에

    > 의해서 발생하는 것 같습니다.

    > 그래서 문제가 일어나는 vcl40.bpl을 패키지에서 제외하고 사용하면 이상이 없습니다. vcl40.bpl까지도 포함해서 개발을 하고 싶은데 어떻게 하면 좋을까요?

    > 이거 해결 못 하면 하도 쥐어뜯어 얼마남지 않은 머리카락 다 빠질 것 같아요

    > -.-;;

    > 도와주세요

    >

    >

    >





  • Profile
    안치봉 1999.04.18 10:10
    김영해 wrote:

    > 회사에서 어플리케션을 개발하는 중에 있습니다.

    > 그런데 이전까지 멀쩡하던 프로젝트들이 동시다발적으로 에러를 뱉어(?)

    > 내고 있습니다.

    > 현상태를 설명하자면 델4를 사용하구요

    > exe에서 호출되는 MDIChile 각 화면들을 불러 사용합니다. 그리고 패키지를 사용하여 사이즈를 줄인 상태로 개발중입니다.

    > 그런데 일부 반항적인 차일드들이 호출과 동시에 violation을 일으킵니다.

    > 나름대로 분석해 본 결과로는 예전에 설치 했던 flat스타일의 콤포넌트들에

    > 의해서 발생하는 것 같습니다.

    > 그래서 문제가 일어나는 vcl40.bpl을 패키지에서 제외하고 사용하면 이상이 없습니다. vcl40.bpl까지도 포함해서 개발을 하고 싶은데 어떻게 하면 좋을까요?

    > 이거 해결 못 하면 하도 쥐어뜯어 얼마남지 않은 머리카락 다 빠질 것 같아요

    > -.-;;

    > 도와주세요

    >

    >

    >



    안녕하세요.



    엑세스 바이올레이션(?) 은 잘못된 포인터를 사용하거나 변수를 사용할때 나오는 건데... 아마도 dpl 같은 화일이 깨졌거나 한것 같군요.



    모험이긴 하지만 다시 델파이를 설치해 보십시요.



    • 임병우
    • 1999.06.29 00:20
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 류성호
      1999.06.29 01:07
      임병우 께서 말씀하시기를... > 안녕하세요. > client/server NT 환경에서 프로그램을 하고 있습니다. ...
    • 하남수
      1999.06.29 01:06
      다음은 client에서 BDE롤 통하여 Oracel에 접속하는 방법을 아래에 간략히 적어봤어요 SQL*Net easy Co...
    • 글쎄요
      1999.06.29 00:44
      델파이코리아 강의실에 가보셔요. 권용길님이 오라클 연동에 대해 자세히 강의한 내용이 있습니다. 참고...
    • 하윤철
      1999.04.22 02:04
      빈센트 wrote: > 두개의 테이블을 연결해 쿼리한 후 그룹별로 소계를 내어 출력하려합니다. > 퀵 레포트...
    • 김영해
    • 1999.04.19 06:24
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 방문객
      1999.06.28 22:40
      timer 이벤트에 레코드를 인서트 시키고 query를 재실행하는 코드를 넣었는데...자꾸 다운이 되네요... ...
    • 구창민
      1999.04.19 06:40
      김영해 wrote: > 안녕하세요 > 매번 이렇게 도움만 요청하려니 부끄럽군요.--; > 하지만 다시 용기를 내...
    • 방문객
      1999.06.29 01:46
      다운 된게 다른 문제 였어요... 잘 됩니다... 그럼 .... 방문객 께서 말씀하시기를... > timer 이...
    • 조복기
      1999.06.29 01:28
      안녕하세요..조복기입니다. 흠..onTimer event의 내용을 안적으셔서 뭔 내용때문에 에러가 났는지 ...
    • 김영해
    • 1999.04.19 06:24
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.04.19 06:40
      김영해 wrote: > 안녕하세요 > 매번 이렇게 도움만 요청하려니 부끄럽군요.--; > 하지만 다시 용기를 내...
    • nuki
    • 1999.06.28 20:54
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 채현우
    • 1999.04.19 04:24
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.04.19 04:43
      채현우 wrote: > 안녕하세요. > 최대 2-3대 정도의 랜에 물려 사용할 DB어플을 만들려고 하는데요 > Par...
    • 남윤혁
    • 1999.06.28 20:34
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 하남수
      1999.06.28 23:39
      안녕하세요 물어보신 내용이 아래 내용이 맞을지는 모르겠내요 panel 3개를 이용하며 가능하죠 1) panel...
    • 채현우
    • 1999.04.19 04:24
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이수형
      1999.06.28 20:27
      DB GRID에서 자료수정시 중복 ERROR부분을 처리하고 싶습니다. 예) 품목코드 수량 AAAA ...
    • 김영대
      1999.04.19 04:43
      채현우 wrote: > 안녕하세요. > 최대 2-3대 정도의 랜에 물려 사용할 DB어플을 만들려고 하는데요 > Par...
    • 임희철
    • 1999.06.28 19:46
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 글쎄요
      1999.06.28 22:16
      음.. 동적폼을 생성하고 싶다구요. 먼저 프로젝트의 옵션(델파이 메뉴)을 선택하셔서 만들어 논 폼을 Av...
    • 임희철
      1999.06.29 01:34
      ^^
    • 이일수
    • 1999.06.28 19:31
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 엠마
      1999.04.17 05:22
      입력폼에서 전화번호입력을 maskedit로 지역번호 4자리 국번4,전화번호4로 입력해 테이블에 저장할때 에러...
    • 이정욱
      1999.04.17 05:35
      아래 답변이 있었듯이 마스크에딧에 포함된 문자까지 포함해서 길이를 잡으세요. A(12)가 아니라 A(20)정...
    • 엠마
      1999.04.17 06:07
      이정욱 wrote: > 아래 답변이 있었듯이 마스크에딧에 포함된 문자까지 포함해서 길이를 잡으세요. > A(12...
    • 김영해
      1999.04.17 07:19
      엠마 wrote: > 이정욱 wrote: > > 아래 답변이 있었듯이 마스크에딧에 포함된 문자까지 포함해서 길이를 ...
    • 엠마
      1999.04.19 02:24
      > > a(20)으로 잡아도 마찬가지예요.. > > 그런데 입력시 공백이 있으면.. 에러발생 > > 스페이스...
    • 엠마
    • 1999.04.19 02:15
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이한나
    • 1999.06.28 15:31
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 김영해
      1999.04.18 04:00
      회사에서 어플리케션을 개발하는 중에 있습니다. 그런데 이전까지 멀쩡하던 프로젝트들이 동시다발적으로 ...
    • 이정욱
      1999.04.18 22:34
      vcl40.bpl을 패키지에 포함을 하면서 다른 패키지와 충돌이 있는것 같습니다. 패키지를 만드실때 사용하지...
    • 안치봉
      1999.04.18 10:10
      김영해 wrote: > 회사에서 어플리케션을 개발하는 중에 있습니다. > 그런데 이전까지 멀쩡하던 프로젝트...
    • 김영해
    • 1999.04.18 04:00
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 이소라
      1999.06.28 14:12
      또 질문울 드리게 되는군요. 리치 에디트에서 읽을 수 있는 텍스트 화일의 종류를 알고 싶습니다. ...
    • 이정욱
      1999.04.18 22:34
      vcl40.bpl을 패키지에 포함을 하면서 다른 패키지와 충돌이 있는것 같습니다. 패키지를 만드실때 사용하지...
    • 글쎄요
      1999.06.28 22:36
      음... 일반적으로 리치에디트에서 rtf는 지원 되구요.doc파일은 지원이 안됩니다. 위와 같은 현상은 리치...
    • 안치봉
      1999.04.18 10:10
      김영해 wrote: > 회사에서 어플리케션을 개발하는 중에 있습니다. > 그런데 이전까지 멀쩡하던 프로젝트...
    • 이동화
    • 1999.04.17 09:18
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김창환
      1999.06.28 05:39
      UpdateSQL 이용시 에러. Query로 자료를 읽어들인 후에 DBGrid통해서 수정을 합니다. 그 다음에는 Ap...
    • 이정욱
      1999.04.18 09:46
      기본프린터에 직접 쓰기 팁 입니다. 아마도 업무용 개발자분께는 아주 유용한 자료가 되리라 생각이 듭니...
    • 이호선
    • 1999.04.17 20:16
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 박성훈
      1999.06.28 02:51
      메인폼이 있고 좌석을 선택하는 폼과 주문을 하는 폼이 계속 실행되어 있어야 될 것 같은데요. 좌석선택폼...
    • 이정욱
      1999.04.18 09:43
      쩝.. 제능력으로는 안되는군요..... 해보려고 했지만.. 후... 누군가 ActiveX를 무지 잘하는 사람은 가능...
    • 이정욱
      1999.06.28 12:23
      메모리만 많으면 상관 없습니다... 그런데 그렇게 많은 컴포넌트를 사용하는것 보다 하나의 컴포넌트안에...