Q&A

  • 주소 표시줄 기능...
안녕하세요? 저는 델파이를 거의 사용 못하는 왕 초보입니다.

근데 회사에서 시키니 어쩔 수 없네요.

저두 큰맘 먹구 델파이라는 프로그램을 공부하긴 했는데...

쉬운 일은 아니더군요.

그래서 이렇게 자문을 구하고자 글을 올립니다.

고수님들! 제발 좀 도와주세요.

만들어야 하는 것은 웹브라우저의 주소(D) 기능.

콤보박스를 이용해서 url를 입력하고 엔터하면 익스플로어가 실행되어 화면을

출력하는 거죠.

단, 검색어가 url이면 바로 연결시키고,

그냥 단어이면 검색 결과를 출력하는 그런 프로그램.

그러니까 한마디로 익스플로어의 주소 표시줄 기능과 같이 만들어야 하거든요.

무슨 좋은 방법 없나요?

제발 도와주세요.





4  COMMENTS
  • Profile
    이주흥 2000.03.14 21:29
    김혜진 wrote:

    > 안녕하세요? 저는 델파이를 거의 사용 못하는 왕 초보입니다.

    > 근데 회사에서 시키니 어쩔 수 없네요.

    > 저두 큰맘 먹구 델파이라는 프로그램을 공부하긴 했는데...

    > 쉬운 일은 아니더군요.

    > 그래서 이렇게 자문을 구하고자 글을 올립니다.

    > 고수님들! 제발 좀 도와주세요.

    > 만들어야 하는 것은 웹브라우저의 주소(D) 기능.

    > 콤보박스를 이용해서 url를 입력하고 엔터하면 익스플로어가 실행되어 화면을

    > 출력하는 거죠.

    > 단, 검색어가 url이면 바로 연결시키고,

    > 그냥 단어이면 검색 결과를 출력하는 그런 프로그램.

    > 그러니까 한마디로 익스플로어의 주소 표시줄 기능과 같이 만들어야 하거든요.

    > 무슨 좋은 방법 없나요?

    > 제발 도와주세요.



    음..URL연결은 최용일님 답변처럼 하시면 되구요

    검색한다는건 파일검색인지 DB검색인지 구분이 안가는군여.

    머 어떤 검색이든지 간단하게 우선 URL과 단어를 구분하는

    루틴을 작성하시면 됩니다.

    URL은 http나 www로 시작하니까..이 두문자로 시작하는 입력을

    받으면 URL로 판단하고 두문자가 아니면 그냥 단어로 판단하시면 되겠네요..



    str = copy(tmp,1,4);

    if(str = "http" or str = "www.")

    //브라우저 실행

    else

    //검색 루틴

    간단히 위처럼 생각하시고 코딩하시면 될것같군요...

    물론 위는 예를 든겁니다....

  • Profile
    최용일 2000.03.14 21:16
    질문을 반밖에 이해를 못해서... 뒷부분의 그냥 단어이면 검색결과를

    출력한다는데 이부분을 잘이해를 못해서 앞부분만 설명하겠습니다.



    델파이에서 다른 프로그램을 실행할때 많이 사용되는 함수는 바로

    ShellExecute입니다. 콤보박스에 서 url을 넣고 엔터를 칠때 이 함수를

    이용해서 익스플로러를 띄워주면되죠..



    먼저 uses절에 ShellAPI를 추가합니다. 그리고 콤보박스의 OnKeyPress

    이벤트를 다음과 같이 적는거죠



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

    var

    Url: array[0..1023] of char;

    begin

    if Key = Char(vk_Return) then

    begin

    StrPCopy(Url, ComboBox1.Text);

    ShellExecute(Handle,'Open','C:Program FilesInternet ExplorerIEXPLORE.EXE',

    Url, '', SW_SHOW);

    end;

    end;



    ShellExecute의 파라메터들에 대한 설명은 헬프를 보시면 됩니다.



    뒤의 단어이면 검색결과를 출력한다는 것은 제가 이해를 못해서

    생략합니다.



    김혜진 wrote:

    > 안녕하세요? 저는 델파이를 거의 사용 못하는 왕 초보입니다.

    > 근데 회사에서 시키니 어쩔 수 없네요.

    > 저두 큰맘 먹구 델파이라는 프로그램을 공부하긴 했는데...

    > 쉬운 일은 아니더군요.

    > 그래서 이렇게 자문을 구하고자 글을 올립니다.

    > 고수님들! 제발 좀 도와주세요.

    > 만들어야 하는 것은 웹브라우저의 주소(D) 기능.

    > 콤보박스를 이용해서 url를 입력하고 엔터하면 익스플로어가 실행되어 화면을

    > 출력하는 거죠.

    > 단, 검색어가 url이면 바로 연결시키고,

    > 그냥 단어이면 검색 결과를 출력하는 그런 프로그램.

    > 그러니까 한마디로 익스플로어의 주소 표시줄 기능과 같이 만들어야 하거든요.

    > 무슨 좋은 방법 없나요?

    > 제발 도와주세요.

    >

    >

  • Profile
    김혜진 2000.03.15 00:55
    최용일 wrote:

    > 질문을 반밖에 이해를 못해서... 뒷부분의 그냥 단어이면 검색결과를

    > 출력한다는데 이부분을 잘이해를 못해서 앞부분만 설명하겠습니다.

    >

    > 델파이에서 다른 프로그램을 실행할때 많이 사용되는 함수는 바로

    > ShellExecute입니다. 콤보박스에 서 url을 넣고 엔터를 칠때 이 함수를

    > 이용해서 익스플로러를 띄워주면되죠..

    >

    > 먼저 uses절에 ShellAPI를 추가합니다. 그리고 콤보박스의 OnKeyPress

    > 이벤트를 다음과 같이 적는거죠

    >

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

    > var

    > Url: array[0..1023] of char;

    > begin

    > if Key = Char(vk_Return) then

    > begin

    > StrPCopy(Url, ComboBox1.Text);

    > ShellExecute(Handle,'Open','C:Program FilesInternet ExplorerIEXPLORE.EXE',

    > Url, '', SW_SHOW);

    > end;

    > end;

    >

    > ShellExecute의 파라메터들에 대한 설명은 헬프를 보시면 됩니다.

    >

    > 뒤의 단어이면 검색결과를 출력한다는 것은 제가 이해를 못해서

    > 생략합니다.

    >



    답변해 주셔서 정말루 감사합니다.

    검색결과를 출력하는 부분을 설명해 드리려구요.

    일반 검색엔진인 www.naver.com 또는 www.yahoo.co.kr에 연결하여 검색결과를

    출력하는 방법을 알고 싶습니다.

    다시한번 부탁드립니다.

    그리고 익스플로어의 주소 표시줄 처럼 그전에 입력했던 주소값을 어떻게 계속

    갖고 있죠?

    이부분도 해결해 주시면 정말루 정말루 감사하겠습니다.





  • Profile
    최용일 2000.03.15 02:03
    히스토리기능은 값이 입력될때마다 Add나 Insert메소드를 써서 넣어주시면됩니다.

    검색할때는 검색엔진마다 검색하는 방법이 다르니까 검색엔진에 따라서 다르게

    해야합니다. 검색엔진의 검색창에 검색어를 넣어보시고 주소가 어떻게 바뀌는가를

    살펴보시기 바람니다.



    // 입력한 단어가 검색어인가 URL인가를 판단하는 함수입니다.

    // 여기서는 그냥 'http://'로 시작하면 URL이라고 판단하겠습니다.

    // 이 부분은 제대로 만드세요...

    function IsUrl(Url: string): Boolean;

    begin

    Result := False;

    if Pos('http://', Url) = 1 then

    Result := True;

    end;



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

    var

    Url: array[0..1023] of char;

    begin

    if (Key = Char(vk_Return)) and (ComboBox1.Text <> '') then

    begin

    // 히스토리 설정하는 부분입니다.

    // Insert대신에 Add를 사용하시면 콤보박스의 끝에 추가됩니다.

    ComboBox1.Items.Insert(0, ComboBox1.Text);

    ComboBox1.SelectAll;



    if IsUrl(ComboBox1.Text) then // 입력된 단어가 URL이면...

    begin

    StrPCopy(Url, ComboBox1.Text);

    ShellExecute(Handle,'Open','C:Program FilesInternet ExplorerIEXPLORE.EXE',

    Url, '', SW_SHOW);

    end



    else // URL이 아니면...

    begin

    // 이 부분은 검색엔진마다 다름니다. 야후 코리아는

    // http://kr.search.yahoo.com/bin/search?p= 다음에 검색어를 넣어서 검색합니다.

    // 네이버는 http://dir.naver.com/search.naver?where=2&query= 다음에 검색어를

    // 넣어서 검색하더군요. 라이코스나 익사이트와 같은 다른 검색엔진도 찾아보시기

    // 바랍니다. 아래는 야후 코리아에서 검색합니다. 적당히 바꾸어주면 다른

    // 검색엔진도 이용하실 수 있습니다.

    StrPCopy(Url, 'http://kr.search.yahoo.com/bin/search?p=' + ComboBox1.Text);

    ShellExecute(Handle,'Open','C:Program FilesInternet ExplorerIEXPLORE.EXE',

    Url, '', SW_SHOW);

    end;

    end;

    end;



    김혜진 wrote:

    > 답변해 주셔서 정말루 감사합니다.

    > 검색결과를 출력하는 부분을 설명해 드리려구요.

    > 일반 검색엔진인 www.naver.com 또는 www.yahoo.co.kr에 연결하여 검색결과를

    > 출력하는 방법을 알고 싶습니다.

    > 다시한번 부탁드립니다.

    > 그리고 익스플로어의 주소 표시줄 처럼 그전에 입력했던 주소값을 어떻게 계속

    > 갖고 있죠?

    > 이부분도 해결해 주시면 정말루 정말루 감사하겠습니다.



    • 쫑현이
    • 2000.03.14 23:18
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2000.03.14 23:41
      안녕하세요 하얀까마귀 입니다. TIMC := ImmGetContext(E_ip.Handle); ImmGetConversionStatus(TIM...
    • 기타맨
      2000.03.14 23:25
      김준연 wrote: > form2에서 form1의 이벤트 프로시져(버틀클릭이벤트)를 어떻게 호출하는지 가르쳐 주십시...
    • 김준연
      2000.03.14 23:40
      기타맨 wrote: > 김준연 wrote: > > form2에서 form1의 이벤트 프로시져(버틀클릭이벤트)를 어떻게 호출...
    • 기타맨
      2000.03.14 23:52
      김준연 wrote: > 기타맨 wrote: > > 김준연 wrote: > > > form2에서 form1의 이벤트 프로시져(버틀클릭...
    • 김준연
      2000.03.14 23:59
      기타맨 wrote: > 김준연 wrote: > > 기타맨 wrote: > > > 김준연 wrote: > > > > form2에서 form1의 이...
    • 홍세비
    • 2000.03.14 23:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 화랑
      2000.03.15 05:23
      ISAPI로 이미지를 띄운다면 HTML안에서도 가능하지만.. 따로 Include 하는 형식은 당연 안 되죠.. 홍...
    • 안명호
    • 2000.03.14 20:42
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이만준
      2000.03.15 02:25
      안녕하세요.. 저는 95에서 작업합니다만... 제 옆에서 작업하는 두사람은 200에서 작업하고 있지요.....
    • 하얀까마귀
      2000.03.15 00:03
      안녕하세요 하얀까마귀 입니다. 지금 말씀하신건 아마도 98에서 하시든 2000에서 하시든 마찬가지 일것 ...
    • 왕초보
      2000.03.15 19:52
      글쎄요... 저희 회사에서도 윈98에서 회계Package를 만들어서 판매중에 있습니다. 그러던 중 ...
    • 초보..
    • 2000.03.14 20:35
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.03.14 20:48
      소스가 없어서 어딘지는 잘 모르겠지만 소스상의 어딘가에 메모리를 할당받고 사용한 후 해제를 안해주...
    • 김혜진
    • 2000.03.14 20:21
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 이주흥
      2000.03.14 21:29
      김혜진 wrote: > 안녕하세요? 저는 델파이를 거의 사용 못하는 왕 초보입니다. > 근데 회사에서 시키니 ...
    • 최용일
      2000.03.14 21:16
      질문을 반밖에 이해를 못해서... 뒷부분의 그냥 단어이면 검색결과를 출력한다는데 이부분을 잘이해를 못...
    • 김혜진
      2000.03.15 00:55
      최용일 wrote: > 질문을 반밖에 이해를 못해서... 뒷부분의 그냥 단어이면 검색결과를 > 출력한다는데 이...
    • 최용일
      2000.03.15 02:03
      히스토리기능은 값이 입력될때마다 Add나 Insert메소드를 써서 넣어주시면됩니다. 검색할때는 검색엔진마...
    • 최용일
      2000.03.14 20:54
      방법이 없는것은 아니지만 (커스텀 드로 이벤트 사용) 이런경우는 델파이의 TStringGrid컴포넌트를 사용하...
    • 최진실
    • 2000.03.14 19:33
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최진실
      2000.03.14 21:32
      최진실 wrote: > A, B, C, D, E > 다섯개의 필드중 A, B, C필드와 중복되는 필드만 골라서 그리드에 뷰할...
    • 최재원
      2000.03.14 22:26
      최진실 wrote: > 최진실 wrote: > > A, B, C, D, E > > 다섯개의 필드중 A, B, C필드와 중복되는 필드만...
    • 철이
    • 2000.03.14 18:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 노태협
      2000.03.14 20:19
      철이 wrote: > 디자인시에 디비연결은 먼저 알리아스를 지정하고 그리고 적절한 테이블을 선택하면되잖야...
    • 초보
    • 2000.03.14 16:07
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 장은석
      2000.03.16 07:15
      초보 wrote: > 안녕하세요 늘 질문만 올립니다.. > 프로그램이 실행될때 폼자체를 보이지 않게 실행시켜...
    • 최용일
      2000.03.15 00:44
      Q&A 검색을 활용하시면 이런 질문을 안 올리고도 충분히 활용을 하셨을텐데... 안타깝군요... 구창민님...
    • 초보
      2000.03.15 15:47
      최용일님이 답변해 주신 소스 그대로 복사해서 붙여서 실행했는데도 폼이 보여지는데요... 최용일님은 되...
    • 최용일
      2000.03.15 18:49
      그럴리가요... 안돼신다길래 저도 이걸 그대로 복사해서 실행해보았는데 폼이 안보이던데요...... 아마...
    • 초보
      2000.03.16 02:11
      가만 보니까 이벤트연결이 안되었더라구요.. 아이 쪽팔려라..^^ 언제 초보신세 면할지원... 담에 또 답변...
    • 전병하
    • 2000.03.14 09:12
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.03.14 23:20
      제가 MMSystem유닛에서 세가지 볼륨제어 함수를 찾았습니다. function waveOutGetVolume(hwo: HWAVEOUT;...
    • random
    • 2000.03.14 08:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.03.14 21:26
      베벨에다 판넬을 넣으셨다구요? 어떻게 넣으셨는지.... 하하하, 각설하고 먼저 Random함수를 쓰시기전에...
    • 느티나무
      2000.03.15 03:01
      답변을 해드리고 싶은데... 자유계시판의 글을 보고 내키지 않네요... 그리 어려운것도 아니지만 자세가...
    • 임형호
      2000.03.14 22:38
      코스모스 wrote: > 무지 수고가 많네요 > 프로그램으로 먹고 살기 힘드시죠 ? > 제가 좀더 힘들게 해드...
    • 조피디
      2000.03.14 21:13
      흠..드뎌 한델에 유명인사 한분이 탄생하셨군여.. 추카추카..^^ 자유게시판에 올리신글을 읽어보니 코...
    • 강인규
      2000.03.14 20:54
      자유게시판을 보고 글을 올립니다. 어쩜 그런 발언을 하구도 여기에 질문을 올리실 수 있는지 궁금하군...
    • 최용일
      2000.03.14 21:17
      질문에 대한 답을 하기전에 자유게시판에 있는 코스모스님의 글을 읽어보시고 한번생각한 뒤에 답...
    • 김정선
      2000.03.14 19:54
      이건 잠시 제가 테스트할려고 만든겁니다.. 조금이나마 도움이 되셨으면 합니다.. 참고로 포트는 Com5, C...