Q&A

  • MS Word문서의 구조와 읽는 방법을 알고싶습니다.
델파이를 한지 반년밖에 안되는 왕초보입니다.
다국어로 된 워드문서를 다루어야 하는 과제를 받았는데 고양이 소대가리 맏은 격이여서 선배님들의 도움을 바라고 글을 올립니다.
도움을 바라는것은 다음의 두가지 문제입니다.

1. 한글, 중문간체와 같이 여러나라 글로 된 워드문서의 경우 코드페지나 캐릭셋이 단어별로 적용되나요?
2. 문서내의 단어들을 하나씩 읽어서 sqlite DB에 넣어야 하는데 그 단어가 어느나라 글인지 자동적으로 식별해서 읽는 방법이 없나요?  
   tworddocuments의 words.item(i).text로 읽어 TNT로 보면 모두 ???로 됩니다.

제 컴에는 WindowsXP 중문판을 깔았고  Office2003역시 중문판입니다.
델파이는 7.0을 쓰고 있습니다.
바쁘신 시간을 내서 읽어주신 분들께 인사를 드립니다.
한수 가르쳐주시기를 학수고대합니다.
2  COMMENTS
  • Profile
    홍성락 2008.04.19 02:33
    혹시나 해서요.

    저는 텍스트 파일에 다국어를 넣고 했는데요, 일단 그걸 스트림으로 받아 TNT에 넘기기 전에
    UTF8Decode로 WideString처리를 먼저 했어요.

    <!--CodeS-->
    ...
    var
        strings : TStringList;
        s : WideString;
    begin
            ...
            strings := TStringList.Create;
            strings.LoadFromStream(stream);
            i := 1;
            while i < strings.Count do begin
                s := UTF8Decode(strings[i]);
                ....

    <!--CodeE-->



    워드파일은 글마다 캐릭셋이 지정되고 없는 폰트는 디폴트로 해서요. 잘 안될 수도 있어요.
    소스 일부를 올리면 다른 분들의 답변도 받을 수 있을겁니다.

  • Profile
    steps 2008.04.21 21:18
    감사합니다.
    앞으로도 많이 가르쳐주세요.

    • 정민욱
    • 2008.04.24 22:42
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 장성호
      2008.04.25 08:56
      전날 정보를 불어오는는게 아니라 전 근무날 정보를 불어와야 하지 않나요? 만약 수요일이 휴일이라면...
    • 김성욱
    • 2008.04.24 19:33
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 돌고래
      2008.04.25 02:40
      글쎄요.. 퀵레포트에서는 원하는 폼을 만들기가 쉽지 않을 듯하네요.. 예전에 저는 임시테이블에 데이...
    • 김성욱
      2008.04.26 02:29
      답변감사합니다. ^^*
    • 떠나그네
      2008.05.10 01:28
      감사의 말씀이 늦어서 죄송합니다. 조안 주신분들 모두 감사합니다. 덕분에 문제 잘 해결했습니다.
    • 소울해커
      2008.04.28 21:41
      procedure TForm1.FormCreate(Sender: TObject); var JustOneTenMinutes: Double; begin   Ed...
    • 홍성락
      2008.04.24 07:14
      찾아보시면 더 있는데요...하여간 델과 시스템에선 날짜와 시간을 숫자로 인식하고 자연어의 형식은 시스템...
    • 소울해커
      2008.04.28 21:51
      1. 디비테이블에 보이지 않도록 컬럼하나(이하 AHiden)를 추가하세요 2. AHiden에 순번을 차례대로 넣어...
    • Jacques
      2008.05.02 03:04
      답변 감사합니다. 지적해주시는데로 시도해 보겠습니다.
    • 소울해커
      2008.04.28 21:59
      테이블에 락(Lock)이 걸렸습니다. RequestLive가 False이거나 조인, 오더바이, 그룹등으로 인해 수정이 ...
    • 이길용
    • 2008.04.23 09:42
    • 5 COMMENTS
    • /
    • 0 LIKES
    • steps
      2008.04.23 19:42
      제알기에는 ListView_DeleteItem이 델파이함수가 아닌데요. TListView의 deleteselected나 items.delete(i...
    • 구창민
      2008.04.23 19:38
      안녕하세요.. ListView1.Items.Delete(index); 를 사용해 보세요..
    • 이길용
      2008.04.23 22:21
      답변 감사하구요. 그런데 API 사용해야하는 상황이라 그렇습니다. 외부에서 델파이의 TListView 아이템을...
    • 구창민
      2008.04.24 04:21
      그랬군요.. 아래 주소를 참고해 보세요.. http://qc.borland.com/wc/qcmain.aspx?d=14558 즐...
    • 이길용
      2008.04.24 08:06
      정성어린 답변에 대단히 감사드립니다. 복 많이 받으세요.
    • 난난난난
      2008.04.30 01:02
      //안녕하세요. 도움이 되시길 바랍니다. wince경우는 대부분 C#이나 닷넷으로 개발을 가장 많이 합니다. ...
    • 김상진
    • 2008.04.22 08:27
    • 3 COMMENTS
    • /
    • 0 LIKES
    • steps
      2008.04.22 23:39
      님의 코드에 약간 수정을 가했습니다. dll source ==================================== type  ...
    • 최용일
      2008.04.22 22:12
      DLL에서 string형을 쓰는 것은 굉장히 주의해서 사용해야 합니다. 그렇지 않으면 Access violation에러를 ...
    • 홍성락
      2008.04.22 22:01
      다른 방법도 있겠으나, 일반 구조체를 사용하면 FreeLibrary해제시 Access violation에러가 발생합니다. ...
    • 최용일
      2008.04.22 21:14
      객체를 생성하셔서 사용하세요... 사용하시고 난 후에 해제하시구요... <!--CodeS--> var  ...
    • 델초보
      2008.04.29 05:17
      너무너무 감사해요..^^
    • 이세은
    • 2008.04.22 00:06
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 델삐에로
      2008.04.22 17:57
        if 전역변수 > 사이즈 then begin     NewPage;    ...
    • 김석재
    • 2008.04.21 20:19
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 권용민
    • 2008.04.19 06:44
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 강태원
    • 2008.04.19 02:22
    • 3 COMMENTS
    • /
    • 0 LIKES
    • steps
      2008.04.19 02:35
      1. strName : string; strName := 'P12'; 라고 되어있을때 strName에 'P' 라는 문자가 들어있는지 체크하...
    • 강태원
      2008.04.19 02:37
      아하 역시 함수랑 클래스가 있었군요. 답변 감사합니다. 한가지 더 궁금한게 있는데 실행프로그램의 ...
    • 홍성락
      2008.04.19 03:39
      Delphi 의 mainmenu 의 [project]에서 맨밑에 [option] 선택하면 창이 뜹니다 거기서 application 탭에 보...
    • steps
    • 2008.04.19 00:41
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2008.04.22 21:11
      오피스 2007에 특화된 기능이 아니라면 별다른 문제 없이 델파이7에서 사용할 수 있습니다. Office XP나 Of...
    • steps
      2008.04.23 03:26
      감사합니다. 그동안 구글링해보니 워드2007을 델파이7에서 ole automation할 때 일부 버그가 있다는 자료...
    • 최용일
      2008.04.22 21:08
      파일목록은 FindFirst/FindNext/FindClose함수를 이용하시면 구할 수 있습니다. 이건 델파이 헬프에 예제까...
    • 태기
    • 2008.04.18 02:35
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2008.04.22 20:56
      아마도 원본 디비에 입력할 때 입력할 데이터의 크기에 비해 필드의 크기가 작아서 데이터가 잘린것 같네요...
    • 홍성락
      2008.04.19 01:51
      아마도, 엔터키를 누르는 시간차의 문제로 이벤트가 다발적으로 일어나서 발생하는거 같습니다. 일단 {...
    • 델피삼매경
      2008.04.19 02:54
      일단 자세한 답변 감사드려요. ^^ 그런데 제가 잘 못해서 그런지 알려주신 방법 1, 방법 3을 해봤는데 동...
    • 홍성락
      2008.04.19 03:08
      다행입니다. 항상 코딩시 완전히 리소스를 제거하시려면 항상 FormClose에 사용한 모든 객체를 제거하고...
    • Jacques
    • 2008.04.18 01:25
    • 0 COMMENTS
    • /
    • 0 LIKES
    • steps
    • 2008.04.17 21:13
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2008.04.19 02:33
      혹시나 해서요. 저는 텍스트 파일에 다국어를 넣고 했는데요, 일단 그걸 스트림으로 받아 TNT에 넘기기 ...
    • steps
      2008.04.21 21:18
      감사합니다. 앞으로도 많이 가르쳐주세요.