Q&A

  • 워드랩 관련
NMHTTP 컴포넌트를 사용해서 인터넷 상의 html파일을 가져왔습니다.



nmhttp1.get('xxxxx.com/index.html'); 요런 식으로요..



그리구 나서 TMemo를 이용해서 그 파일의 body요소를 (NMHTTP 컴포넌트에서는 body가 TStrings가 아니라 string이더군요) 받아보니 라인피드가 안되고 이상한 에스케잎문자가 나타나더군요.



한데 TRichedit를 사용해서 그 파일의 body요소를 받아보니 에스케잎 문자는 나타나지 않았습니다. 자동적으로 그 에스케잎 문자를 라인피드로 인식해준 거 같은데.



이런 에스케잎 문자를 가지고 있는 string을, 라인피드된 TStrings로 바꿔줄 수 있는 방법은 없을까요?





1  COMMENTS
  • Profile
    최용일 2000.09.06 08:01
    안녕하세요. 델파이세상(http://www.freechal.com/delphiworld)의 최용일입니다.



    에스케이프문자가 아니라 라인피드(#10)와 캐리지리턴(#13)을 처리하는데 있어서 두개의



    컨트롤이 처리하는 방식이 다르기 때문에 생기는 현상입니다.



    TMemo에서 줄바꿈은 #13#10만을 허용합니다. 다르게 들어가면 그냥 그 코드가 아스키



    문자로 그대로 보이게 되구요..



    TRichEdit에서는 줄바꿈을 #13#10도 허용하지만 그냥 #10만 들어가도 처리를 합니다.



    물론 #10#13도 줄바꾸어주긴하지만 뒤의 #13은 그냥 아스키문자로 보이게 되죠...



    설명을 들어보니 줄바꿈이 #10으로 된것 같군요. TMemo에서 볼려면 이걸 #13#10으로 바



    꾸어주시면 됩니다.



    Memo1.Text := StringReplace(Body요소, #10, #13#10, rfReplaceAll);



    ^^ 항상 즐코하세요.



    김지엽 wrote:

    > NMHTTP 컴포넌트를 사용해서 인터넷 상의 html파일을 가져왔습니다.

    >

    > nmhttp1.get('xxxxx.com/index.html'); 요런 식으로요..

    >

    > 그리구 나서 TMemo를 이용해서 그 파일의 body요소를 (NMHTTP 컴포넌트에서는 body가 TStrings가 아니라 string이더군요) 받아보니 라인피드가 안되고 이상한 에스케잎문자가 나타나더군요.

    >

    > 한데 TRichedit를 사용해서 그 파일의 body요소를 받아보니 에스케잎 문자는 나타나지 않았습니다. 자동적으로 그 에스케잎 문자를 라인피드로 인식해준 거 같은데.

    >

    > 이런 에스케잎 문자를 가지고 있는 string을, 라인피드된 TStrings로 바꿔줄 수 있는 방법은 없을까요?

    >

    >