www.pudn.com > SmartFDISK.zip > msg.cpp


/**************************************************************************** 
 * 
 * Smart FDISK 
 * 
 * This program is a powerful Harddisk Partitioning Tool including a 
 * easy-to-use Boot Manager. 
 * 
 * 
 *     Copyright (C) 1999 Suzhe (suzhe@263.net) 
 * 
 * This program is free software; you can redistribute it and/or modify it 
 * under the terms of the GNU General Public License as published by 
 * the Free Software Foundation; either version 2 of the License, or 
 * (at your option) any later version. 
 * 
 * This program is distributed in the hope that it will be useful, but 
 * WITHOUT ANY WARRANTY; without even the implied warranty of 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
 * General Public License for more details. 
 * 
 * You should have received a copy of the GNU General Public License 
 * along with this program; if not, write to the Free Software Foundation, 
 * Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 
 * 
 ****************************************************************************/ 
/* 
 * msg.cpp : Source file for Message Strings 
 */ 
 
#define Uses_Message 
#include"sfdisk.h" 
 
TMessageRecord EnglishMsg[]= 
{ 
	{0x01,"O~K~"}, 
	{0x02,"~C~ancel"}, 
 
	{0x10,"~P~artition"}, 
	{0x11,"~C~reate Primary... "}, 
	{0x12,"Create ~L~ogical... "}, 
	{0x13,"~I~nformation... "}, 
	{0x14,"Re~n~ame... "}, 
	{0x15,"Mark ~A~ctive "}, 
	{0x16,"~T~oggle Bootable "}, 
	{0x17,"~D~elete "}, 
	{0x18,"F~o~rmat... "}, 
	{0x19,"Sur~f~ace Scan... "}, 
	{0x1A,"~S~ave Changes "}, 
	{0x1B,"E~x~it"}, 
	{0x1C,"Boot ~M~anager"}, 
	{0x1D,"Install ~B~oot Manager..."}, 
	{0x1E,"~U~ninstall Boot Manager"}, 
	{0x1F,"~R~epair MBR"}, 
	{0x20,"~H~elp"}, 
	{0x21,"~C~ontents..."}, 
	{0x22,"~I~ntroduct..."}, 
	{0x23,"~A~bout"}, 
	{0x24,"~F1~ Help"}, 
	{0x25,"~F2~ Create Primary"}, 
	{0x26,"~F3~ Create Logical"}, 
	{0x27,"~F4~ Information"}, 
	{0x28,"~F5~ Delete"}, 
	{0x29,"Out of memory!"}, 
	{0x2A,"Can not find help file!"}, 
	{0x2B,"\003Smart FDISK Version 2.05r2\n\003 (32Bit)\n\0031995 - 1999"}, 
	{0x2C,"\003Designed by Suzhe\n\003Physics Department of \n\003Tsinghua University"}, 
	{0x2D,"\003E-Mail: suzhe@263.net"}, 
	{0x2E,"You should restart your computer to make Operating System Recognize the Changes. Restart Now?"}, 
	{0x2F,"About"}, 
 
	{0x30,"Create a Primary Partition             Hot Key: Alt-C"}, 
	{0x31,"Create a Logical Partition             Hot Key: Alt-L"}, 
	{0x32,"View the Partition's Information       Hot Key: Alt-I"}, 
	{0x33,"Change the Partition's name            Hot Key: Alt-N"}, 
	{0x34,"Mark the Partition as Active           Hot Key: Alt-A"}, 
	{0x35,"Toggle the Partition's Boot Status     Hot Key: Alt-T"}, 
	{0x36,"Delete the Partition                   Hot Key: Alt-D"}, 
	{0x37,"Format the Partition                   No Hot Key"}, 
	{0x38,"Scan the Partition's Surface           No Hot Key"}, 
	{0x39,"Save all Changes into Hard Disk        Hot Key: Alt-S"}, 
	{0x3A,"Install Smart Boot Manager             Hot Key: Alt-B"}, 
	{0x3B,"Uninstall Smart Boot Manager           Hot Key: Alt-U"}, 
	{0x3C,"Repair Main Boot Record                Hot Key: Alt-R"}, 
    {0x3D,"Change the partition's type            No Hot Key"}, 
 
	{0x40,"Error occured while %s :\n %s"}, 
	{0x41,"Hard Drive"}, 
	{0x42,"Changes on hard disk %d are not saved. Do you want to save now?"}, 
 
	{0x43," Drive Number:"}, 
	{0x44," Boot Manager:"}, 
	{0x45,"Extended BIOS:"}, 
	{0x46,"     Size(Mb):"}, 
	{0x47,"Cylinders:"}, 
	{0x48,"    Heads:"}, 
	{0x49,"  Sectors:"}, 
	{0x4A,"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ< Partition List >ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿"}, 
	{0x4B,"No. Act Boot Type    File System  Formated     Size    Name           "}, 
	{0x4C,"³"}, 
	{0x4D,"F7 Next Drive"}, 
	{0x4E,"F6 Prev Drive"}, 
	{0x4F,"Cannot find any hard drive!"}, 
	{0x50,"Error on drive %d: %s"}, 
	{0x51,"Not Available"}, 
	{0x52,"Loader Damaged"}, 
	{0x53,"Kernel Damaged"}, 
	{0x54,"Installed"}, 
	{0x55,"Not Installed"}, 
	{0x56,"Present"}, 
	{0x57," (Not Use)"}, 
	{0x58,"Absent"}, 
	{0x59,"Unknown"}, 
 
	{0x70,"Create Primary"}, 
	{0x71,"Create Logical"}, 
	{0x72,"Creating Partition"}, 
	{0x73,"You should name this partition first."}, 
	{0x74,"Changing Partition's Boot state"}, 
	{0x75,"Marking partition as active"}, 
	{0x76,"Are you sure to Delete this Partition? All DATA will be LOST!"}, 
	{0x77,"Deleting partition"}, 
	{0x78,"Saving Changes to drive %d ..."}, 
	{0x79,"Save Changes"}, 
	{0x7A,"Saving changes"}, 
	{0x7B,"Writing Boot Menu"}, 
	{0x7C,"Installing Boot Manager"}, 
	{0x7D,"Boot Manager installed OK."}, 
	{0x7E,"Are you sure to Uninstall Boot Manager?"}, 
	{0x7F,"Uninstalling Boot Manager"}, 
	{0x80,"Are you sure to Format this Partition? All DATA will be LOST!"}, 
	{0x81,"%6s Bytes"}, 
	{0x82,"Formatting... ( ESC to Abort )"}, 
	{0x83,"Formatting"}, 
	{0x84,"Format Completed."}, 
	{0x85,"Surface Scan can only find out the physical Bad Blocks in the partition, it cannot mark the bad blocks up!"}, 
	{0x86,"Surface Scanning... ( ESC to Abort )"}, 
	{0x87," Bytes"}, 
	{0x88,"No Bad Block Found"}, 
	{0x89,"Reading partition information..."}, 
	{0x8A,"Reading Information"}, 
	{0x8B,"Formated"}, 
	{0x8C,"Not Formated"}, 
	{0x8D,"This drive's main partition table was changed outside SFDISK. Do you want to restore it?"}, 
	{0x8E,"Repairing MBR"}, 
	{0x8F,"Main Boot Record repaired OK."}, 
 
	{0xA0,"Rename"}, 
	{0xA1,"~N~ame:"}, 
 
	{0xA2,"Install Boot Manager"}, 
	{0xA3,"English"}, 
	{0xA4,"Chinese"}, 
	{0xA5,"~L~anguage:"}, 
	{0xA6,"Int 13H Entry"}, 
	{0xA7,"Memory Size"}, 
	{0xA8,"~V~irus Check:"}, 
	{0xA9,"~D~elay Time(s):"}, 
	{0xAA,"Delay Time "}, 
	{0xAB,"~A~uto Hide Primary Partition"}, 
 
	{0xB0,"~S~ize(Mb):"}, 
	{0xB1,"~T~ype:"}, 
	{0xB2,"Begin"}, 
	{0xB3,"End"}, 
	{0xB4,"~P~osition:"}, 
	{0xB5,"Size"}, 
 
	{0xC0,"Format"}, 
	{0xC1,"Quick"}, 
	{0xC2,"Full"}, 
	{0xC3,"Safe"}, 
	{0xC4,"Format ~T~ype:"}, 
	{0xC5,"~B~lock Size:"}, 
	{0xC6,"~S~how Summary When Finished"}, 
 
	{0xD0,"Partition Information"}, 
	{0xD1,"File System:"}, 
	{0xD2,": Total Space"}, 
	{0xD3,": Reserved Space"}, 
	{0xD4,": Free Space"}, 
	{0xD5,": Bytes Per Block"}, 
	{0xD6,": Total Blocks"}, 
	{0xD7,": Free Blocks"}, 
	{0xD8,": Bad Blocks"}, 
	{0xD9,": Used Space"}, 
 
	{0xE0,"Scan Summary"}, 
	{0xE1,"Block Size :"}, 
	{0xE2,"Bad Block List :"}, 
	{0xE3," No. Start Blk   End Blk    "}, 
	{0xE4,"Total :"}, 
 
	{0x100,"%sValue not within range %ld(%s) to %ld(%s)"}, 
	{0x101,"%sValue not within range %ld to %ld"}, 
	{0x102,"Smart FDISK cannot run under Windows!"}, 
 
	{0x103,"Chan~g~e Type..."}, 
	{0x104,"The partition will be inaccessible after changing its type!"}, 
	{0x105,"Change Partition Type"}, 
	{0x106,"Choose a new type:"}, 
	{0x00,NULL} 
 
}; 
 
 
TMessageRecord ChineseMsg[]= 
{ 
	{0x01,"O~K~"}, 
	{0x02,"~C~-·ÅÆú"}, 
	 
	{0x10,"~P~-·Ö  Çø"}, 
	{0x11,"~C~-½¨Á¢»ù±¾·ÖÇø... "}, 
	{0x12,"~L~-½¨Á¢Âß¼­·ÖÇø... "}, 
	{0x13,"~I~-·ÖÇøÐÅÏ¢... "}, 
	{0x14,"~N~-¸Ä  Ãû... "}, 
	{0x15,"~A~-¼¤  »î"}, 
	{0x16,"~T~-¸Ä±äÆô¶¯×´Ì¬"}, 
	{0x17,"~D~-ɾ  ³ý"}, 
	{0x18,"~O~-¸ñʽ»¯... "}, 
	{0x19,"~F~-±íÃæ¼ì²é... "}, 
	{0x1A,"~S~-´æ  ÅÌ"}, 
	{0x1B,"~X~-ÍË  ³ö"}, 
	{0x1C,"~M~-Æô¶¯¹ÜÀíÆ÷"}, 
	{0x1D,"~B~-°²×°Æô¶¯¹ÜÀíÆ÷..."}, 
	{0x1E,"~U~-ɾ³ýÆô¶¯¹ÜÀíÆ÷"}, 
	{0x1F,"~R~-ÐÞÀíÖ÷Òýµ¼¼Ç¼"}, 
	{0x20,"~H~-°ï  Öú"}, 
	{0x21,"~C~-Ŀ  ¼..."}, 
	{0x22,"~I~-½é  ÉÜ..."}, 
	{0x23,"~A~-¹Ø  ÓÚ"}, 
	{0x24,"~F1~ °ïÖú"}, 
	{0x25,"~F2~ ½¨Á¢»ù±¾·ÖÇø"}, 
	{0x26,"~F3~ ½¨Á¢Âß¼­·ÖÇø"}, 
	{0x27,"~F4~ ·ÖÇøÐÅÏ¢"}, 
	{0x28,"~F5~ ɾ³ý"}, 
	{0x29,"ÄÚ´æÒç³ö!"}, 
	{0x2A,"ÕÒ²»µ½°ïÖúÎļþ!"}, 
	{0x2B,"\003Smart FDISK °æ±¾ 2.05r2\n\003 (32Bit)\n\0031995 - 1999"}, 
	{0x2C,"\003ËÕ  ÕÜ Éè¼Æ\n\003Ç廪´óѧ\n\003ÏÖ´úÓ¦ÓÃÎïÀíϵ"}, 
	{0x2D,"\003E-Mail: suzhe@263.net"}, 
	{0x2E,"ΪÁËʹ²Ù×÷ϵͳʶ±ðËù×öµÄÐÞ¸Ä, ÄãÓ¦¸ÃÖØÐÂÆô¶¯¼ÆËã»ú. ÏÖÔÚ¾ÍÖØÐÂÆô¶¯Âð?"}, 
	{0x2F,"¹Ø  ÓÚ"}, 
 
 
	{0x30,"½¨Á¢Ò»¸ö»ù±¾·ÖÇø          ÈÈ  ¼ü: Alt-C"}, 
	{0x31,"½¨Á¢Ò»¸öÂß¼­·ÖÇø          ÈÈ  ¼ü: Alt-L"}, 
	{0x32,"ÏÔʾËùÑ¡·ÖÇøµÄÐÅÏ¢        ÈÈ  ¼ü: Alt-I"}, 
	{0x33,"¸Ä±äËùÑ¡·ÖÇøµÄÃû×Ö        ÈÈ  ¼ü: Alt-N"}, 
	{0x34,"¼¤»îÑ¡ÖеķÖÇø            ÈÈ  ¼ü: Alt-A"}, 
	{0x35,"¸Ä±äËùÑ¡·ÖÇøµÄÆô¶¯×´Ì¬    ÈÈ  ¼ü: Alt-T"}, 
	{0x36,"ɾ³ýÑ¡ÖеķÖÇø            ÈÈ  ¼ü: Alt-D"}, 
	{0x37,"¸ñʽ»¯Ñ¡ÖеķÖÇø          ûÓÐÈȼü"}, 
	{0x38,"¼ì²éËùÑ¡·ÖÇøµÄ±íÃæ        ûÓÐÈȼü"}, 
	{0x39,"½«Ëù×öµÄÐ޸ĴæÅÌ          ÈÈ  ¼ü: Alt-S"}, 
	{0x3A,"°²×°Æô¶¯¹ÜÀíÆ÷            ÈÈ  ¼ü: Alt-B"}, 
	{0x3B,"ɾ³ýÆô¶¯¹ÜÀíÆ÷            ÈÈ  ¼ü: Alt-U"}, 
	{0x3C,"ÐÞÀíÖ÷Òýµ¼¼Ç¼            ÈÈ  ¼ü: Alt-R"}, 
        {0x3D,"¸Ä±ä·ÖÇøµÄÀàÐÍ            ûÓÐÈȼü"}, 
 
 
	{0x40,"µ±%sʱ·¢ÉúÁË´íÎó:\n %s"}, 
	{0x41,"Ó²ÅÌÇý¶¯Æ÷"}, 
	{0x42,"¶ÔÓ²ÅÌ %d Ëù×öµÄÐ޸Ļ¹Ã»ÓдæÅÌ. ÊÇ·ñÏÖÔھʹæÅÌ?"}, 
 
	{0x43,"  Çý¶¯Æ÷±êºÅ :"}, 
	{0x44,"  Æô¶¯¹ÜÀíÆ÷ :"}, 
	{0x45,"  À© Õ¹ BIOS :"}, 
	{0x46,"  ÈÝ Á¿ (Mb) :"}, 
	{0x47,"´Å µÀ Êý :"}, 
	{0x48,"´Å Í· Êý :"}, 
	{0x49,"ÉÈ Çø Êý :"}, 
	{0x4A,"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ< ·Ö  Çø  ÁÐ  ±í >ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿"}, 
	{0x4B,"No.¼¤»î Òýµ¼ Àà  ÐÍ  ÎÄ ¼þ ϵ ͳ  ¸ñʽ»¯       ÈÝÁ¿    Ãû  ×Ö         "}, 
	{0x4C,"³"}, 
	{0x4D,"F7-ÏÂÒ»Ó²ÅÌ"}, 
	{0x4E,"F6-ÉÏÒ»Ó²ÅÌ"}, 
	{0x4F,"ÕÒ²»µ½ÈκÎÓ²ÅÌÇý¶¯Æ÷!"}, 
	{0x50,"Çý¶¯Æ÷ %d ÉÏ·¢Éú´íÎó: %s"}, 
	{0x51,"ÎÞ  Ч"}, 
	{0x52,"µ÷ÓÃÄ£¿é±»Ëð»µ"}, 
	{0x53,"ºËÐÄÄ£¿é±»Ëð»µ"}, 
	{0x54,"ÒÑ  °²  ×°"}, 
	{0x55,"δ  °²  ×°"}, 
	{0x56,"´æ  ÔÚ"}, 
	{0x57," (²»Ê¹ÓÃ)"}, 
	{0x58,"²»´æÔÚ"}, 
	{0x59,"δ  ֪"}, 
 
	{0x70,"½¨Á¢»ù±¾·ÖÇø"}, 
	{0x71,"½¨Á¢Âß¼­·ÖÇø"}, 
	{0x72,"½¨Á¢·ÖÇø"}, 
	{0x73,"ÄúÊ×ÏÈÒª¸øÕâ¸ö·ÖÇøÃüÃû."}, 
	{0x74,"¸Ä±ä·ÖÇøÆô¶¯×´Ì¬"}, 
	{0x75,"¼¤»î·ÖÇø"}, 
	{0x76,"ÄúÈ·¶¨ÒªÉ¾³ýÕâ¸ö·ÖÇøÂð? ËùÓÐÊý¾Ý¶¼½«¶ªÊ§!"}, 
	{0x77,"ɾ³ý·ÖÇø"}, 
	{0x78,"ÕýÔÚ±£´æ¶ÔÇý¶¯Æ÷ %d Ëù×öµÄÐÞ¸Ä..."}, 
	{0x79,"´æ  ÅÌ"}, 
	{0x7A,"´æÅÌ"}, 
	{0x7B,"±£´æÒýµ¼²Ëµ¥"}, 
	{0x7C,"°²×°Æô¶¯¹ÜÀíÆ÷"}, 
	{0x7D,"Æô¶¯¹ÜÀíÆ÷°²×°³É¹¦."}, 
	{0x7E,"ÄúÈ·¶¨ÒªÉ¾³ýÆô¶¯¹ÜÀíÆ÷Âð?"}, 
	{0x7F,"ɾ³ýÆô¶¯¹ÜÀíÆ÷"}, 
	{0x80,"ÄúÈ·¶¨Òª¸ñʽ»¯Õâ¸ö·ÖÇøÂð? ËùÓÐÊý¾Ý¶¼½«¶ªÊ§!"}, 
	{0x81,"%6s ×Ö ½Ú"}, 
	{0x82,"ÕýÔÚ¸ñʽ»¯... ( ESC - ·Å  Æú )"}, 
	{0x83,"¸ñʽ»¯·ÖÇø"}, 
	{0x84,"¸ñʽ»¯Íê³É."}, 
	{0x85,"±íÃæ¼ì²éÄÜ·¢ÏÖ·ÖÇøÖÐË𻵵IJ¿·Ö, µ«²»Äܽ«Ë𻵵IJ¿·Ö±ê¼Ç³öÀ´!"}, 
	{0x86,"ÕýÔÚ¼ì²é±íÃæ... ( ESC ·ÅÆú )"}, 
	{0x87," ×Ö ½Ú"}, 
	{0x88,"ûÓз¢ÏÖ»µ¿é"}, 
	{0x89,"ÕýÔÚ¶Á·ÖÇøÐÅÏ¢..."}, 
	{0x8A,"¶Á·ÖÇøÐÅÏ¢"}, 
	{0x8B,"ÒѸñʽ»¯"}, 
	{0x8C,"δ¸ñʽ»¯"}, 
	{0x8D,"Õâ¸öÓ²Å̵ÄÖ÷·ÖÇø±í±»ÆäËû³ÌÐòÐ޸Ĺý. ÄúÏà»Ö¸´Ö÷·ÖÇø±íÂð?"}, 
	{0x8E,"ÐÞÀíÖ÷Òýµ¼¼Ç¼"}, 
	{0x8F,"Ö÷Òýµ¼¼Ç¼ÐÞÀí³É¹¦."}, 
 
	{0xA0,"¸Ä  Ãû"}, 
	{0xA1,"Ãû×Ö:"}, 
 
	{0xA2,"°²×°Æô¶¯¹ÜÀíÆ÷"}, 
	{0xA3,"Ó¢  ÎÄ"}, 
	{0xA4,"ÖÐ  ÎÄ"}, 
	{0xA5,"~L~-Óï  ÑÔ:"}, 
	{0xA6,"Int 13H Èë¿Ú"}, 
	{0xA7,"ÄÚ ´æ ÈÝ Á¿"}, 
	{0xA8,"~V~-²¡¶¾¼ì²é:"}, 
	{0xA9,"~D~-ÑÓ  ʱ(s):"}, 
	{0xAA,"ÑÓʱ"}, 
	{0xAB,"~A~-×Ô¶¯Òþ²Ø»ù±¾·ÖÇø"}, 
 
	{0xB0,"ÈÝÁ¿(Mb):"}, 
	{0xB1,"ÀàÐÍ:"}, 
	{0xB2,"ǰ  ²¿"}, 
	{0xB3,"ºó  ²¿"}, 
	{0xB4,"λÖÃ:"}, 
	{0xB5,"ÈÝÁ¿"}, 
 
	{0xC0,"¸ñʽ»¯"}, 
	{0xC1,"¿ì  ËÙ"}, 
	{0xC2,"Íê  È«"}, 
	{0xC3,"°²  È«"}, 
	{0xC4,"~T~-·½  ·¨:"}, 
	{0xC5,"~B~-¿é³ß´ç:"}, 
	{0xC6,"~S~-¸ñʽ»¯Íê³ÉʱÏÔʾժҪ"}, 
 
	{0xD0,"·ÖÇøÐÅÏ¢"}, 
	{0xD1,"  Îļþϵͳ :"}, 
	{0xD2,": ´ÅÅÌ×ÜÈÝÁ¿"}, 
	{0xD3,": ±£Áô¿Õ¼ä"}, 
	{0xD4,": ¿ÉÓÿռä"}, 
	{0xD5,": ×Ö½Úÿ¿é"}, 
	{0xD6,": ×Ü¿éÊý"}, 
	{0xD7,": ¿ÉÓÿéÊý"}, 
	{0xD8,": »µ¿éÊý"}, 
	{0xD9,": ÒÑÓÿռä"}, 
 
	{0xE0,"ɨÃè½á¹û"}, 
	{0xE1,"¿é³ß´ç :"}, 
	{0xE2,"»µ¿éÁбí :"}, 
	{0xE3," No. Æðʼ¿é      ½áÊø¿é     "}, 
	{0xE4,"×Ü ¼Æ :"}, 
 
	{0x100,"%sÖµ²»ÔÚ %ld(%s) µ½ %ld(%s) µÄ·¶Î§ÄÚ"}, 
	{0x101,"%sÖµ²»ÔÚ %ld µ½ %ld µÄ·¶Î§ÄÚ"}, 
	{0x102,"Smart FDISK ²»ÄÜÔÚ Windows ÏÂÔËÐÐ!"}, 
 
	{0x103,"~G~-¸Ä±ä·ÖÇøÀàÐÍ..."}, 
	{0x104,"¸Ä±ä·ÖÇøÀàÐͻᵼÖ·ÖÇø²»¿É·ÃÎÊ!"}, 
	{0x105,"¸Ä±ä·ÖÇøÀàÐÍ"}, 
	{0x106,"Ñ¡ÔñÐÂÀàÐÍ:"}, 
	{0x00,NULL} 
}; 
 
TMessageRecord *MsgTable; 
static ushort MessageNumber=0; 
 
void InitMessage( ushort language ) 
{ 
	if( language == 0 ) 
		MsgTable = EnglishMsg; 
	else MsgTable = ChineseMsg; 
 
 
	for( MessageNumber = 0; 
		MsgTable[MessageNumber].Code!=0 ; MessageNumber ++ ); 
} 
 
 
char * getMessage( ushort code ) 
{ 
	ushort left, right,center; 
	left = 0; 
	right = MessageNumber - 1; 
 
	while( right > left ) 
	{ 
		center = (right+left)/2; 
		if( code == MsgTable[ left ].Code ) 
			return MsgTable[ left ].Msg; 
		else if( code == MsgTable[ right ].Code ) 
			return MsgTable[ right ].Msg; 
		else if( code < MsgTable[ center ].Code ) 
			right = center; 
		else if( code > MsgTable[ center ].Code ) 
			left = center; 
		else return MsgTable[ center ].Msg; 
	} 
	return MsgTable[ left ].Msg; 
}