mycube 영한사전 연동
 (Cellvic version 2.0 - mycube v100)

소스 다운로드 "mdictest.zip" (GNU)

/*
1. 영한사전 내부의 의미보기를 이용하려면 샘플 소스 중 ShowMeaning() 를 이용하시면 됩니다.
2. 발음기호나 기타 내용들을 프로그램내에서 사용하시려면 GNU 로 Build 된 EDictLib_stub.o 를 사용하셔야 합니다.
*/

#include "EDictLib_stub.h"

#define EKDICT50_NAME "NAED"
#define DICV_APPP_ID "EKDA"

#define REQ_WORD_MEAN 5252
#define REQ_DRAW_PRON 5253

typedef struct tagProWord {
   unsigned char *pro; // 단어의 발음기호
   int x; // x 좌표
   int y; // y 좌표
   int width;
} PROWORD, *PPROWORD;

/*
   사전데이타가 설치되어 있는지 확인
*/
STATUS SeekDict( void )
{
   int version;
   char app50[5] = EKDICT50_NAME;
  
   if( FindLibrary( *((P_U32)app50), (P_U32)&version, (P_U32)gEDLibFuncVec) == CVOS_OK )
   {
     InitDictionary();
     return CVOS_OK;
   }
   return CVOS_ERROR;
}

/*
   사전에서 단어 검색
   - 사용전 SeekDict 호출
*/
STATUS SeekWord( char *word, char *pron, char *expl, char impo )
{
   int rtn;
   char* pDataBuf = NULL;
  
   rtn = Search( (const char*)word, &pDataBuf );
  
   if( rtn <= 0 )
     return DICT_WORD_NOT_FOUND;
  
   SeperateString( pDataBuf, word, &impo, pron, expl );
   Lfree( pDataBuf );
  
   return CVOS_OK;
}

/*
   발음기호를 화면좌표 x,y 에 그려준다.
*/
STATUS DrawPron( char *pron, int x, int y, int width )
{
   PROWORD ProWord;
  
   memset( &ProWord, 0, sizeof( PROWORD ) );
   ProWord.pro = pron;
   ProWord.x = x;
   ProWord.y = y;
   ProWord.width = width;
  
   return RequestToApplication( *((P_U32)DICV_APPP_ID), REQ_DRAW_PRON, (P_U32)((P_U8)(&ProWord)));
}

/*
   단어의 의미를 보여준다.
*/
STATUS ShowMeaning( char *word )
{
   return RequestToApplication( *((P_U32)DICV_APPP_ID), REQ_WORD_MEAN, (P_U32)((P_U8)(word)));
}


Copyright © 1998-2006 PDAProgramming.com All rights reserved.