´Ù. ÅؽºÆ® ÀÔÃâ·Â

ApiEdit´Â ÆÄÀϷκÎÅÍ ÀÐÀº ÅؽºÆ®¸¦ buf ¸â¹ö°¡ °¡¸®Å°´Â ¹öÆÛ¿¡ ÀúÀåÇÑ´Ù. ÆÄÀÏ ÀÔÃâ·Â ´ë»óÀº ¹Ù·Î ÀÌ buf°¡ °¡¸®Å°´Â ¸Þ¸ð¸®À̸ç bufÀÇ ³»¿ëÀ» ÆÄÀÏ¿¡ ¾²´Â °ÍÀÌ ÀúÀåÇÏ´Â °ÍÀÌ°í ÆÄÀÏÀ» Àоî buf¿¡ º¹»çÇϸé ÀÌ ÆÄÀÏÀ» Àоî¿À´Â °ÍÀÌ´Ù. ÀÌ ¸â¹ö¸¦ Á÷Á¢ ¾×¼¼½ºÇÏ¸é °£´ÜÇÏ°Ô ÆÄÀÏ ÀÔÃâ·ÂÀ» ±¸ÇöÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ÀÌ ¸â¹ö´Â private ¼Ó¼ºÀ» °¡Áö´Â öÀúÇÏ°Ô º¸È£µÈ ¸â¹ö¿©¾ß Çϸç È£½ºÆ®¿¡¼­ Á÷Á¢ ÀÌ ¸â¹ö¸¦ ¾×¼¼½ºÇϵµ·Ï ³»¹ö·Á µÎ¾î¼­´Â ¾ÈµÈ´Ù.

È£½ºÆ®¿¡¼­ ¾ÈÀüÇÏ°Ô »ç¿ëÇÑ´Ù¸é ¹®Á¦°¡ ¾øÁö¸¸ ¸¸¿¡ Çϳª¶óµµ buf[1234]=0 °°Àº ´ëÀÔ¹®À» ½ÇÇàÇѴٰųª buf[-34]=¡®S¡¯Ã³·³ ¾û¶×ÇÑ À§Ä¡¸¦ ¾×¼¼½ºÇÏ°Ô µÇ¸é ¾ÆÁÖ À§ÇèÇÏ´Ù. °íÀÇ·Î ±×·² ¸®¾ß ¾ø°ÚÁö¸¸ ½Ç¼ö³ª ¿¡·¯·Î ÀÎÇØ ÀÌ·± ¹®ÀåÀÌ ½ÇÇàµÉ ¼öµµ ÀÖÀ¸¹Ç·Î ApiEdit´Â ÀÌ·± À§Çè¿¡ ´ëÇØ ÃæºÐÈ÷ ¹æ¾îÀûÀΠż¼¸¦ °®Ãâ ÇÊ¿ä°¡ ÀÖ´Ù. ±×·¡¼­ buf´Â öÀúÇÏ°Ô ¼û±â°í ÀÌ ¸â¹ö¿¡ ÅؽºÆ®¸¦ ÀÔÃâ·ÂÇÒ ¼ö ÀÖ´Â ÇÔ¼ö¸¦ Á¦°øÇÑ´Ù. ´ÙÀ½ ¼¼ ¸â¹öÇÔ¼ö¸¦ Ãß°¡ÇÑ´Ù.

 

class CApiEdit

{

     ....

     void SetText(TCHAR *TextBuf);

     void GetText(TCHAR *TextBuf, int BufSize);

     int GetTextLength();

 

¹öÆÛ¿¡ ÅؽºÆ®¸¦ ÀÐ°í ¾²´Â GetText, SetText ÇÔ¼ö ¿Ü¿¡µµ ¹®¼­ ±æÀ̸¦ Á¶»çÇÏ´Â GetTextLength ÇÔ¼ö°¡ ÇÊ¿äÇÏ´Ù. ¿Ö³ÄÇϸé È£½ºÆ®°¡ ¹®¼­ ³»¿ëÀ» Àбâ Àü¿¡ ¹öÆÛ¸¦ ¹Ì¸® ÇÒ´çÇØ¾ß Çϴµ¥ ¹öÆÛÀÇ ±æÀ̸¦ ¾Ë¾Æ¾ß ÇÊ¿äÇÑ ¸¸Å­ ¸Þ¸ð¸®¸¦ ÇÒ´çÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù. ÀÌ ÇÔ¼öµéÀÇ ÄÚµå´Â ´ÙÀ½°ú °°´Ù.

 

void CApiEdit::SetText(TCHAR *TextBuf)

{

     InitDoc();

     Insert(0,TextBuf);

}

 

void CApiEdit::GetText(TCHAR *TextBuf, int BufSize)

{

     lstrcpyn(TextBuf,buf,BufSize);

}

 

int CApiEdit::GetTextLength()

{

     return doclen;

}

 

¹®¼­ ±æÀÌ´Â doclen º¯¼ö·Î °£´ÜÇÏ°Ô Á¶»çÇÒ ¼ö ÀÖÀ¸¹Ç·Î GetTextLength ÇÔ¼ö´Â ÀÌ º¯¼ö°ª¸¸ ¸®ÅÏÇÏ¸é µÈ´Ù. SetText ÇÔ¼ö´Â InitDoc ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ¹®¼­¸¦ ÃʱâÈ­ÇÏ°í ¹®¼­ óÀ½ÀÎ ¿ÀÇÁ¼Â 0¿¡¼­ Insert ÇÔ¼ö¸¦ È£ÃâÇÏ¿© Àü´Þ¹ÞÀº ÅؽºÆ®¸¦ »ðÀÔÇÑ´Ù. lstrcpy(buf,TextBuf) ÄÚµå·Î ¹Ù·Î º¹»çÇؼ­´Â ¾ÈµÇ¸ç ¹Ýµå½Ã »ðÀÔÇØ¾ß ÇÑ´Ù. ¿Ö³ÄÇϸé Insert ÇÔ¼ö´Â ¹öÆÛ¿¡ ¹®ÀÚ¿­À» º¹»çÇÏ´Â ÀÛ¾÷ ¿Ü¿¡µµ ¹öÆÛ ±æÀ̸¦ °ü¸®ÇÏ´Â ¾ÆÁÖ Áß¿äÇÑ ÀÏÀ» Çϱ⠶§¹®ÀÌ´Ù. Insert ÇÔ¼ö¸¦ È£ÃâÇϸé TextBufÀÇ ±æÀÌ°¡ ¾ó¸¶Àΰ¡¿¡ »ó°ü¾øÀÌ buf Å©±â°¡ µû¶ó¼­ ´Ã¾î³ª¹Ç·Î ¾Æ¹«¸® Å« ÆÄÀÏÀÌ¶óµµ ÀÐÀ» ¼ö ÀÖ´Ù.

GetText ÇÔ¼ö´Â bufÀÇ ¹®ÀÚ¿­À» TextBuf·Î º¹»çÇ쵂 BufSize ÀÌ»óÀ» ³ÑÁö ¾Êµµ·Ï ÇÑ´Ù. È£ÃâÃø¿¡¼­´Â GetTextLength ÇÔ¼ö·Î ¹®¼­ ±æÀ̸¦ ±¸ÇÏ°í ÀÌ ±æÀÌ¿¡ ³Î Á¾·á¹®ÀÚÀÇ ±æÀ̸¦ ´õÇÑ ¸¸Å­ ¹öÆÛ¸¦ ÇÒ´çÇÑ ÈÄ ÀÌ ÇÔ¼ö¸¦ È£ÃâÇØ¾ß ÇÑ´Ù. lstrcpyn ÇÔ¼ö´Â ÃÖ´ë BufSize-1°³ÀÇ ¹®ÀÚ¸¸À» º¹»çÇÏ¸ç ³¡¿¡ ³Î Á¾·á¹®ÀÚ¸¦ ºÙ¿©Áشٴ Ư¡À» Àß °£ÆÄÇØ¾ß ÇÑ´Ù.