Q&A

  • 한글 구분 해서 선택하기.. ?? 부탁합니다.
예를 들어 한글 세 자리 가 있읍니다.

**동, **면, **읍, ***동, *면, *읍 ....... > 계속있읍니다.

이중에서 제일 끝자리만을 파악해서 동이면 동 , 면이면 면을 뽑아 낼수는 없을까요?

부탁합니다. 몇줄안되는 것으로 간단하게 할수있는 방법은 없나요?



2  COMMENTS
  • Profile
    이재식 2000.06.29 08:31
    space4 wrote:

    > 예를 들어 한글 세 자리 가 있읍니다.

    > **동, **면, **읍, ***동, *면, *읍 ....... > 계속있읍니다.

    > 이중에서 제일 끝자리만을 파악해서 동이면 동 , 면이면 면을 뽑아 낼수는 없을까요?

    > 부탁합니다. 몇줄안되는 것으로 간단하게 할수있는 방법은 없나요?

    >



    이재식 Wrote :

    안녕하세요?



    이런 token분리문제는 하실때 생각을 잘 하셔야 합니다.

    컴파일러 방식으로(보통 look up를 1번하는방식이죠...) 문제를 풀것인지,

    아님 일반 자료구조의 문자열 찾기 알고리즘으로문제를 풀것인지...

    아님 자신만의 그런 어떤 약간의 무대포(?)정신으로 문제를 풀것인지...



    저는 위 세가지 방법중 3번째 방식으로 잠시 설명을 드리겠습니다.

    제가 보니까, 전에 코딩해달라는 그런 유사 질문을 하시면

    많은 분들이 혼을 내더라구요.... ^-^



    먼저 폼위에 에디터박스1개를 올려놓고요, 메모컴포넌트 2개를 올려놓습니다.

    그런다음 버튼박스를 한개 올려놓습니다.

    버튼 클릭 이벤트에 아래처럼 코딩하세요.

    procedure TForm1.Button1Click(Sender: TObject);

    var

    ExtString : string ;

    FindComma : Integer ;

    CurrString : string ;

    begin

    CurrString := Trim(Memo1.Lines.Text) ;

    ExtString := Trim(Edit1.Text) ;

    Memo2.Lines.Clear ;



    Repeat

    FindComma := pos(',', CurrString) ;

    if FindComma > 0 then

    begin

    if Copy(CurrString, FindComma-2, 2) = ExtString then

    Memo2.Lines.Add((Copy(CurrString, 1, FindComma-1))) ;



    Delete(CurrString, 1, FindComma) ;

    CurrString := Trim(CurrString) ;

    end ;

    Until (FindComma = 0) ;



    if copy(CurrString, Length(CurrString)-1, 2) = ExtString then

    Memo2.Lines.Add(CurrString) ;

    end;



    메모컴포넌트1에는 님께서 말씀하신

    **읍, **동, **동, **면, **군, **동 이런식의 데이터를 미리 입력해 두세요.

    실행시 에디터박스1에 원하는 것(읍 or 동 or 군)등을 입력하세요.

    그런다음 버튼1을 클릭하시면

    검색된 내용들이 메모2에 있을 것입니다.



    제가 완전히 테스트해보질 않았지만, 잠시 테스트해보았을때

    에러는 없었습니다.



    위 코딩을 응용하시면 님께서 하시려는 실제적인 의도에 맞는

    코딩이 나올 것입니다.



    그럼...









  • Profile
    문홍철 2000.06.29 07:37
    space4 wrote:

    > 예를 들어 한글 세 자리 가 있읍니다.

    > **동, **면, **읍, ***동, *면, *읍 ....... > 계속있읍니다.

    > 이중에서 제일 끝자리만을 파악해서 동이면 동 , 면이면 면을 뽑아 낼수는 없을까요?

    > 부탁합니다. 몇줄안되는 것으로 간단하게 할수있는 방법은 없나요?

    >

    답이 될지 모르겠는데

    if(copy(sString, length(sString) - 1, 2) = '면') then

    begin

    어쩌구.....

    end

    else

    begin

    어쩌구 저쩌구...

    end;



    너무 무식한가요...?



    • 김병훈
    • 2000.06.29 20:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 버들강아지
      2000.06.30 00:29
      김병훈 wrote: > 제가 만든 어떤폼의 콤보박스에 아이템을 추가하려고 > > 오브젝트 인스팩터의 items ...
    • 초보
    • 2000.06.29 20:05
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조규춘
      2000.06.29 20:21
      초보 wrote: > classid="clsid:FE75C945-4D0E-11D4-93CD-0090272EE5D0" > > codebase="d:webA...
    • 김양미
    • 2000.06.29 20:01
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조규춘
      2000.06.29 20:59
      김양미 wrote: > 안녕하세요~! *^^* 선선한(?) 아침이죠~~ *^^* > > 질문이여... > > editbox에서 ...
    • 김범석
      2000.06.29 22:40
      불가능합니다 대신 speed button을 사용해보세요 그럼 좋은하루... peakline wrote: > 툴바(ToolBa...
    • 최옥매
    • 2000.06.29 19:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박철우
      2000.07.01 00:23
      최옥매 wrote: > Excel 파일을 DB에 Pump시킬려는데요.. > > 1. BDE Administrator 에서 어떻게 설정을...
    • 까까
    • 2000.06.29 18:54
    • 1 COMMENTS
    • /
    • 0 LIKES
    • cell
      2000.06.29 19:38
      스트링그리드에는 별도로 내용을 삭제하는 함수가 없는것 같던데요.. Clear와 같은... for i := 0 to g...
    • 박훈규
    • 2000.06.29 18:53
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 조상
      2000.06.29 20:36
      박훈규 wrote: > 전 WIN98 SE, DELPHI 4 사용자입니다. > > 델파이의 팔레트 아이콘이 다른 그림으로 ...
    • 한대필
      2000.06.29 21:13
      와! 저두 그래요! 전 내가 무언가를 잘못했겠지..라는 생각으로 뭐 고칠생각도 못했는데.. 전 포맷...
    • plan0611
      2000.06.29 18:48
      장소영 wrote: > dbgrid 에서 몇번째 레코드인지 알아내는 방법좀 알려주세요 > 제가 하려는 작업이 dbgr...
    • 박철우
      2000.07.01 00:29
      plan0611 wrote: > 장소영 wrote: > > dbgrid 에서 몇번째 레코드인지 알아내는 방법좀 알려주세요 > > ...
    • 도마뱀
      2000.07.01 04:28
      얼마나 답답하면 저런 글까지 올렸을까? 않된다고 푸념만 늘어놓지 말고 열심히 공부해서 되게 하는게 빠...
    • 타락천사
      2000.06.29 18:36
      안녕하세여.. 타락임다..^^ 목수가 문이 삐뚤어지면 망치탓을 한다더리.. -- 아래님은 델파이 문제가...
    • 이미나
      2000.06.30 00:28
      프로젝트를 할 땐 말임돠, 젤 먼저 개발환경 분석을 먼저 해야 됨니돠. paradox에서 join이 안되네, oute...
    • 성호종
      2000.06.30 04:29
      이미나 wrote: 이보쇼... 댁같으면 그래도 DB라고 있는것이 outer이 안된다고 생각이나 했겠소? 어떤 DB...
    • 김일영
      2000.06.29 20:41
      VC++ 고수가 될 수도 있겠죠... 하지만 VC++ 고수가 된들 Paradox가 딸려오지는 않는데... 거져(?) 딸려...
    • 성호종
      2000.06.30 04:40
      김일영 wrote: 400만원이 넘는 app에 paradox가 거져? 그게 거져로 보입니까? 어디서 10000원주고 씨디 ...
    • 김일영
      2000.06.30 09:21
      너무 화는 내지 마세요. 우선 파라독스가 거져냐고 하시는데 그럼 사용자 수대로 라이센스 내십니까? 그...
    • 홍세비
    • 2000.06.29 10:12
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 은철수
      2000.06.29 21:12
      SQL Server의 데이터 베이스 목록은 서버 데이타 베이스 Master에 보면 SysDataBases라는 테이블에 들어있...
    • 성호종
      2000.06.30 03:57
      kylix wrote: 님도 1000만원짜리 아르바이트 하루에 3시간씩자면서 죽도록 하다가 레포트 완성못해서 돈...
    • space4
    • 2000.06.29 07:22
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이재식
      2000.06.29 08:31
      space4 wrote: > 예를 들어 한글 세 자리 가 있읍니다. > **동, **면, **읍, ***동, *면, *읍 ....... > ...
    • 문홍철
      2000.06.29 07:37
      space4 wrote: > 예를 들어 한글 세 자리 가 있읍니다. > **동, **면, **읍, ***동, *면, *읍 ....... > ...
    • heimdal
    • 2000.06.29 07:07
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 양익호
      2000.06.29 20:30
      heimdal wrote: > 테이블에서 몇개의 필드만 꺼내고싶습니다.. > 예를 들어 날짜 운전시간 종료시간등등....
    • cell
      2000.06.29 19:35
      질문의 요지에 맞나 모르겠네요. 일단 aaa라는 테이블에서 a, b, c 의 필드를 선택해서 DBGrid에 출력하는...