Q&A

  • memo란에서 10자가 입력되면 자동으로 다음줄로 이동할수 있는방법?
안녕하세요

memo란에서 10자가 입력되면 자동으로 다음줄로 이동할수 있는방법?

두번째란에서도 10자가 입력되면 다음줄로 이동하고 싶은데....계속해서

혹시 아는분 계세요.

1  COMMENTS
  • Profile
    김영대 1999.11.18 23:29
    nektar wrote:

    > 안녕하세요

    > memo란에서 10자가 입력되면 자동으로 다음줄로 이동할수 있는방법?

    > 두번째란에서도 10자가 입력되면 다음줄로 이동하고 싶은데....계속해서

    > 혹시 아는분 계세요.



    Memo 제어에 관한 다른 팁을 원하시면

    제 홈페이지(http://myhome.shinbiro.com/~cozykyd/index.htm)의

    "Delphi Tip" 에서 "Memo" 키워드로 검색해 보세요



    unit Unit1;



    interface



    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    StdCtrls;



    type

    TForm1 = class(TForm)

    Memo1: TMemo;

    procedure Memo1KeyPress(Sender: TObject; var Key: Char);

    procedure Memo1KeyDown(Sender: TObject; var Key: Word;

    Shift: TShiftState);

    private

    { Private declarations }

    public

    { Public declarations }

    end;



    const

    MAX_ROW = 5; // 최대행수

    MAX_COL = 25; // 최대컬럼수



    var

    Form1: TForm1;



    implementation

    {$R *.DFM}



    // TMemo의 WordWrap 프로퍼티는 False 로 설정



    procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);

    var

    line, col: Integer;

    begin

    with Sender as TMemo do

    begin

    line := Perform(EM_LINEFROMCHAR, SelStart, 0);

    col := SelStart - Perform(EM_LINEINDEX, line, 0);

    if key = #8 then

    begin

    { Do not allow backspace if caret is on first column and

    deleting the linebreak of the line in front would result

    in a line of more than MAX_COL characters. Damn inconvenient

    for the user but specs are specs... }

    if (col = 0) and (line > 0) then

    begin

    if (Length(lines[line])+Length(lines[line-1])) > MAX_COL then

    Key := #0;

    end; { If }

    end { If }

    else if key in [#13,#10] then

    begin

    { Handle hard linebreaks via Enter or Ctrl-Enter }

    if lines.count >= MAX_ROW then

    begin

    { Max number of lines reached or exceeded, set caret

    to start of next line or this line, if on the last. }

    key := #0;

    if line = (MAX_ROW-1) then

    SelStart := Perform(EM_LINEINDEX, line,0)

    else

    SelStart := Perform(EM_LINEINDEX, line+1,0);

    end; { If }

    end { If }

    else if Key >= ' ' then

    begin

    { Do swallow key if current line has reached limit. }

    if Length( lines[line] ) >= MAX_COL then

    Key := #0;

    end; { If }

    end; { With }

    if Key = #0 then

    Beep;

    end;



    procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;

    Shift: TShiftState);

    var

    line, col: Integer;

    begin

    if Key = VK_DELETE then

    with Sender as TMemo do

    begin

    line := Perform(EM_LINEFROMCHAR, SelStart, 0);

    col := SelStart - Perform(EM_LINEINDEX, line, 0);

    if col = Length(lines[line]) then

    if (line < (MAX_ROW-1)) and ((Length(lines[line]) + Length(lines[line+1])) > MAX_COL) then

    begin

    key := 0;

    Beep

    end;

    end;

    end;



    end.





    • 긴급
    • 1999.11.19 07:03
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 홍세비
      1999.11.20 05:23
      긴급 wrote: > 너무 초보적인 질문이라서 부끄럽지만 질문할께요. > sql문으로 데이터 삽입하려면 어떻게...
    • 안재현
      1999.11.19 08:00
      긴급 wrote: > 너무 초보적인 질문이라서 부끄럽지만 질문할께요. > sql문으로 데이터 삽입하려면 어떻게...
    • 강성만
    • 1999.11.19 06:21
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.11.19 18:31
      강성만 wrote: > 안녕하세요 > Edit 컴포넌트를 사용하여 자료를 입력받거 있거든요 그런데... > > va...
    • 안재현
    • 1999.11.19 05:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박성훈
      1999.11.19 19:53
      안재현 wrote: > 나원용 wrote: > > 안녕하세요? > > > > 사용자가 버튼(Tbutton)을 클릭하였을 때 ...
    • 이정욱
      1999.11.19 05:57
      이곳 한델에 락을 푸는 풀그림이 있습니다. 확인해 보세요. 이영근 wrote: > 제목 그데로 데이타에 Lo...
    • 지나가는이
      1999.11.19 05:22
      하이텔의 VTOOL동호회의 자료실에 암호걸린 파라독스테이블을 볼 수 있는 유틸리티가 있습니다. 이영근 ...
    • 강민주
    • 1999.11.19 02:45
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 염재민
      1999.11.20 11:39
      강민주 wrote: > 안녕하세요. > 빌더소스를 델파이 바꾸면서 이상하게 않되는 부분이 있어서 > 이렇게 ...
    • 안재현
      1999.11.19 05:10
      강민주 wrote: > 안녕하세요. > 빌더소스를 델파이 바꾸면서 이상하게 않되는 부분이 있어서 > 이렇게 ...
    • TeamX
      1999.11.19 03:47
      제가 보기에는 굉장힌 찾기 힘든 버그인것 같습니다..... 흠... 아무래도 제가 보기에는 서점에 가셔서 ...
    • 까비
    • 1999.11.19 02:42
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.11.19 18:34
      까비 wrote: > inc 파일이 include file 듯 싶은데 > inc 파일에 대해 참고할만 사이트나 책좀 > 아니...
    • 정종구
    • 1999.11.19 02:10
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 안재현
      1999.11.19 02:25
      정종구 wrote: > 안녕하세요.. > 아주 이상한 현상에 말려서.. > > 예를 들자면.. > > query1.clo...
    • 정종구
      1999.11.19 03:13
      안재현 wrote: > 정종구 wrote: > > 안녕하세요.. > > 아주 이상한 현상에 말려서.. > > > > 예를 ...
    • 안재현
      1999.11.19 05:13
      정종구 wrote: > > 안재현 wrote: > > 정종구 wrote: > > > 안녕하세요.. > > > 아주 이상한 현상에 ...
    • 정종구
      1999.11.19 18:59
      안재현 wrote: > 정종구 wrote: > > > > 안재현 wrote: > > > 정종구 wrote: > > > > 안녕하세요.. ...
    • 정종구
      1999.11.19 18:59
      안재현 wrote: > 정종구 wrote: > > > > 안재현 wrote: > > > 정종구 wrote: > > > > 안녕하세요.. ...
    • 델초
    • 1999.11.19 01:28
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김남규
    • 1999.11.19 00:54
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.11.19 01:00
      김남규 wrote: > > WINDOWS NT 4.0 에서 NT 를 프로그램 내에서 종료 시키고 싶은데 > > 방법을 없...
    • psb300
    • 1999.11.19 00:29
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.11.19 01:08
      psb300 wrote: > 안녕하십니까? > 퀵리포트에서 도형을 그리다 보니 삼각형 도형이 없던데 > 해결 방안...
    • 안재현
      1999.11.19 01:59
      정연섭 wrote: > 매일 이렇게 질문만 하는군요.. > 어젠가는 나도 대답할수 있는 그날이 오겠죠.. > >...
    • nektar
    • 1999.11.18 23:18
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.11.18 23:29
      nektar wrote: > 안녕하세요 > memo란에서 10자가 입력되면 자동으로 다음줄로 이동할수 있는방법? > 두...
    • 류한규
    • 1999.11.18 22:06
    • 1 COMMENTS
    • /
    • 0 LIKES
    • TeamX
      1999.11.18 22:18
      폼의 WM_ERASEBKGND 를 가로채면 안될것 같고..... 제가 보기에는 판넬의 WM_ERASEBKGND 메세지를 가로...
    • chobo
    • 1999.11.18 21:50
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 홍순용
      1999.11.18 22:47
      다른폼에 있는 버튼을 사용하려면 버튼 앞에 폼이름을 스세요. 예를 들어 form2에 있는 라디오버튼 체크...
    • 이선진
    • 1999.11.18 21:34
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.11.18 23:11
      이선진 wrote: > MIDAS Socket Connection을 이용하여 3-tier 시스템을 구성하였는데 > Client 쪽에서 잘...