⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 extformat.cpp

📁 xls文件格式分析基础库
💻 CPP
📖 第 1 页 / 共 2 页
字号:
   XF_COLOR_CODE_COMBINED07,   XF_COLOR_CODE_YELLOW,   XF_COLOR_CODE_LIGHT_YELLOW,   XF_COLOR_CODE_DARK_GREEN,   XF_COLOR_CODE_GREEN,   XF_COLOR_CODE_COMBINED08,   XF_COLOR_CODE_LIVING_GREEN,   XF_COLOR_CODE_LIGHT_GREEN,   XF_COLOR_CODE_COMBINED09,   XF_COLOR_CODE_BLUE_GREEN,   XF_COLOR_CODE_AQUAMARINA,   XF_COLOR_CODE_TURQOISE,   XF_COLOR_CODE_COMBINED10,   XF_COLOR_CODE_DARK_BLUE,   XF_COLOR_CODE_BLUE,   XF_COLOR_CODE_LIGHT_BLUE,   XF_COLOR_CODE_SKY_BLUE,   XF_COLOR_CODE_COMBINED11,   XF_COLOR_CODE_INDIGO,   XF_COLOR_CODE_BLUE_GRAY,   XF_COLOR_CODE_VIOLET,   XF_COLOR_CODE_PLUM,   XF_COLOR_CODE_LAVANDER,   XF_COLOR_CODE_COMBINED12,   XF_COLOR_CODE_GRAY50,   XF_COLOR_CODE_GRAY40,   XF_COLOR_CODE_GRAY25,   XF_COLOR_CODE_WHITE        };/* *********************************************************************/const unsigned8_t xf_t::FILL_OPTIONS_TABLE[] ={   XF_FILL_NONE,   XF_FILL_SOLID,   XF_FILL_ATEN75,   XF_FILL_ATEN50,   XF_FILL_ATEN25,   XF_FILL_ATEN12,   XF_FILL_ATEN06,   XF_FILL_HORIZ_LIN,   XF_FILL_VERTICAL_LIN,   XF_FILL_DIAG,   XF_FILL_INV_DIAG,   XF_FILL_INTER_DIAG,   XF_FILL_DIAG_THICK_INTER,   XF_FILL_HORIZ_LINES_THIN,   XF_FILL_VERTICAL_LINES_THIN,   XF_FILL_DIAG_THIN,   XF_FILL_INV_DIAG_THIN,   XF_FILL_HORIZ_INT_THIN,   XF_FILL_HORIZ_INTER_THICK   };/* *********************************************************************/const unsigned8_t xf_t::BORDERSTYLE_OPTIONS_TABLE[] ={   XF_BRDOPTION_NONE,   XF_BRDOPTION_THIN,   XF_BRDOPTION_MEDIUM,   XF_BRDOPTION_DASHED,   XF_BRDOPTION_DOTTED,   XF_BRDOPTION_THICK,   XF_BRDOPTION_DOUBLE,   XF_BRDOPTION_HAIR};const unsigned16_t xf_t::FORMAT_NUM_OPTIONS_TABLE[] ={   FMTCODE_GENERAL,   FMTCODE_NUMBER1,   FMTCODE_NUMBER2,   FMTCODE_NUMBER3,   FMTCODE_NUMBER4,   FMTCODE_CURRENCY1,   FMTCODE_CURRENCY2,   FMTCODE_CURRENCY3,   FMTCODE_CURRENCY4,   FMTCODE_PERCENT1,   FMTCODE_PERCENT2,   FMTCODE_SCIENTIFIC1,   FMTCODE_FRACTION1,   FMTCODE_FRACTION2,   FMTCODE_DATE1,   FMTCODE_DATE2,   FMTCODE_DATE3,   FMTCODE_DATE4,   FMTCODE_HOUR1,   FMTCODE_HOUR2,   FMTCODE_HOUR3,   FMTCODE_HOUR4,   FMTCODE_HOURDATE,   FMTCODE_NUMBER5,   FMTCODE_NUMBER6,   FMTCODE_NUMBER7,   FMTCODE_NUMBER8,   FMTCODE_ACCOUNTING1,   FMTCODE_ACCOUNTING2,   FMTCODE_ACCOUNTING3,   FMTCODE_ACCOUNTING4,   FMTCODE_HOUR5,   FMTCODE_HOUR6,   FMTCODE_HOUR7,   FMTCODE_SCIENTIFIC2,   FMTCODE_TEXT};/* *********************************************************************/xf_t::xf_t()    : m_usage_counter(0) {   // Set a default value     SetIndex(0x0000);   SetFont(NULL);   SetFormat(FMT_GENERAL);   SetHAlign(HALIGN_GENERAL);   SetVAlign(VALIGN_BOTTOM);   SetTxtOrientation(ORI_NONE);   SetFillFGColor(COLOR_BLACK);   SetFillBGColor(COLOR_WHITE);   SetFillStyle(FILL_NONE);   SetLocked(XF_LOCKED);   SetHidden(XF_NO_HIDDEN);   SetWrap(XF_NO_WRAPPED);   SetCellMode(XF_IS_CELL);   SetBorderStyle(BORDER_BOTTOM ,BORDER_NONE, COLOR_BLACK);   SetBorderStyle(BORDER_TOP    ,BORDER_NONE, COLOR_BLACK);   SetBorderStyle(BORDER_LEFT   ,BORDER_NONE, COLOR_BLACK);   SetBorderStyle(BORDER_RIGHT  ,BORDER_NONE, COLOR_BLACK);}/* *********************************************************************/xf_t::xf_t(const xf_init_t& xfinit)     : m_usage_counter(0){       SetIndex(xfinit.index);   SetFont(xfinit.font);   SetFormat(xfinit.format);   SetHAlign(xfinit.halign);   SetVAlign(xfinit.valign);   SetTxtOrientation(xfinit.txtorientation);   SetFillFGColor(xfinit.fill_fgcolor);   SetFillBGColor(xfinit.fill_bgcolor);   SetFillStyle(xfinit.fillstyle);   SetLocked(xfinit.locked);   SetHidden(xfinit.hidden);   SetWrap(xfinit.wrap);   SetCellMode(xfinit.is_cell);   SetBorderStyle(BORDER_BOTTOM,xfinit.bottom_border_style, xfinit.bottom_border_color);   SetBorderStyle(BORDER_TOP,xfinit.top_border_style, xfinit.top_border_color);   SetBorderStyle(BORDER_LEFT,xfinit.left_border_style, xfinit.left_border_color);   SetBorderStyle(BORDER_RIGHT,xfinit.right_border_style, xfinit.right_border_color);}/* *********************************************************************/xf_t::xf_t(unsigned16_t index, font_t* font, format_number_t format, halign_option_t halign,           valign_option_t valign, txtori_option_t txtorientation, color_name_t fill_fgcolor,           color_name_t fill_bgcolor, fill_option_t fillstyle, bool locked, bool hidden,           bool wrap, bool is_cell, border_style_t top_border_style, color_name_t top_border_color,           border_style_t bottom_border_style, color_name_t bottom_border_color, border_style_t left_border_style,           color_name_t  left_border_color, border_style_t right_border_style, color_name_t right_border_color)   :m_usage_counter(0){   SetIndex(index);   SetFont(font);   SetFormat(format);   SetHAlign(halign);   SetVAlign(valign);   SetTxtOrientation(txtorientation);   SetFillFGColor(fill_fgcolor);   SetFillBGColor(fill_bgcolor);   SetFillStyle(fillstyle);   SetLocked(locked);   SetHidden(hidden);   SetWrap(wrap);   SetCellMode(is_cell);   SetBorderStyle(BORDER_BOTTOM,bottom_border_style, bottom_border_color);   SetBorderStyle(BORDER_TOP,top_border_style, top_border_color);   SetBorderStyle(BORDER_LEFT,left_border_style, left_border_color);   SetBorderStyle(BORDER_RIGHT,right_border_style, right_border_color);   UpdateSignature();}void xf_t::UpdateSignature(){   crc xfcrc;      xfcrc<<index;   xfcrc<<(int)font;   xfcrc<<(int)format;   xfcrc<<halign;   xfcrc<<valign;   xfcrc<<txtorientation;   xfcrc<<fill_fgcolor;   xfcrc<<fill_bgcolor;   xfcrc<<fillstyle;   xfcrc<<locked;   xfcrc<<hidden;   xfcrc<<wrap;   xfcrc<<is_cell;   xfcrc<<top_border_style;   xfcrc<<top_border_color;   xfcrc<<bottom_border_style;   xfcrc<<bottom_border_color;   xfcrc<<left_border_style;   xfcrc<<left_border_color;   xfcrc<<right_border_style;   xfcrc<<right_border_color;   m_signature = xfcrc.get();   m_sigchanged = false;}/* *********************************************************************/xf_t::~xf_t(){}unsigned32_t xf_t::GetSignature(){   if(m_sigchanged)   {      UpdateSignature();            m_sigchanged = false;   }      return m_signature;}/* *********************************************************************/void xf_t::MarkUsed(void) {   m_usage_counter++;      if(font != NULL)      font->MarkUsed();}/* *********************************************************************/bool xf_t::IsUsed(void) {   return(m_usage_counter != 0);}/* *********************************************************************/void xf_t::SetFont(font_t* fontidx){   if(fontidx != NULL)      fontidx->MarkUsed();   font = fontidx;   m_sigchanged = true;}font_t* xf_t::GetFont(void){   return font;}unsigned16_t xf_t::GetFontIndex(void){   if(font != NULL)      return font->GetIndex();   else      return 0x0000;}/* *********************************************************************/void xf_t::SetFormat(format_number_t formatidx){   format = formatidx;   m_sigchanged = true;};unsigned16_t xf_t::GetFormatIndex(void){   return xf_t::FORMAT_NUM_OPTIONS_TABLE[format];};format_number_t xf_t::GetFormat(void){   return format;}/* *********************************************************************//* Cell option wrappers*/void xf_t::SetBorderStyle(border_side_t side,                           border_style_t style,                           color_name_t color) {   switch (side)   {      case BORDER_BOTTOM:         bottom_border_style = BORDERSTYLE_OPTIONS_TABLE[style];         bottom_border_color = COLOR_OPTIONS_TABLE[color];         break;      case BORDER_TOP:         top_border_style = BORDERSTYLE_OPTIONS_TABLE[style];         top_border_color = COLOR_OPTIONS_TABLE[color];         break;      case BORDER_LEFT:         left_border_style = BORDERSTYLE_OPTIONS_TABLE[style];         left_border_color = COLOR_OPTIONS_TABLE[color];         break;      case BORDER_RIGHT:         right_border_style = BORDERSTYLE_OPTIONS_TABLE[style];         right_border_color = COLOR_OPTIONS_TABLE[color];         break;      default:         // It cannot get here         break;   }   m_sigchanged = true;}/* *********************************************************************/unsigned8_t xf_t::GetBorderStyle(border_side_t side) {   unsigned8_t ret_style = XF_BRDOPTION_NONE;   switch (side)   {         case BORDER_BOTTOM:         ret_style = bottom_border_style;         break;      case BORDER_TOP:         ret_style = top_border_style;         break;      case BORDER_LEFT:         ret_style = left_border_style;         break;      case BORDER_RIGHT:         ret_style = right_border_style;         break;      default:         // It cannot get here         break;   }   return ret_style;}/* *********************************************************************/unsigned8_t xf_t::GetBorderColor(border_side_t side) {   unsigned8_t ret_color = XF_COLOR_CODE_BLACK;   switch (side)   {         case BORDER_BOTTOM:         ret_color = bottom_border_color;         break;      case BORDER_TOP:         ret_color = top_border_color;         break;      case BORDER_LEFT:         ret_color = left_border_color;         break;      case BORDER_RIGHT:         ret_color = right_border_color;         break;      default:         // It cannot get here         break;   }   return ret_color;}void xf_t::operator=(xf_t& right){   index = 0x0000;   font = right.font;   format = right.format;   halign = right.halign;   valign = right.valign;      txtorientation = right.txtorientation;     fill_fgcolor = right.fill_fgcolor;   fill_bgcolor = right.fill_bgcolor;   fillstyle = right.fillstyle;          locked = right.locked;    hidden = right.hidden;    wrap = right.wrap;      is_cell  = right.is_cell;      top_border_style = right.top_border_style;       top_border_color = right.top_border_color;                            bottom_border_style = right.bottom_border_style;    bottom_border_color = right.bottom_border_color;                         left_border_style = right.left_border_style;      left_border_color = right.left_border_color;                           right_border_style = right.right_border_style;     right_border_color = right.right_border_color;      m_sigchanged = true;}/* Horizontal Align option wrappers*/void xf_t::SetHAlign(halign_option_t ha_option){   halign = xf_t::HALIGN_OPTIONS_TABLE[ha_option];   m_sigchanged = true;} unsigned8_t xf_t::GetHAlign(void){   return halign;}/* Vertical Align option wrappers*/void xf_t::SetVAlign(valign_option_t va_option){   valign = xf_t::VALIGN_OPTIONS_TABLE[va_option];   m_sigchanged = true;}unsigned8_t xf_t::GetVAlign(void){   return valign;}/* Text orientation option wrappers*/void xf_t::SetTxtOrientation(txtori_option_t ori_option)  {   txtorientation = xf_t::TXTORI_OPTIONS_TABLE[ori_option];   m_sigchanged = true;}unsigned8_t xf_t::GetTxtOrientation(void){   return txtorientation;}/* Fill Foreground color option wrappers*/void        xf_t::SetFillFGColor(color_name_t color){   fill_fgcolor = xf_t::COLOR_OPTIONS_TABLE[color];   m_sigchanged = true;}unsigned8_t xf_t::GetFillFGColor(void){   return fill_fgcolor;}/* Fill Background color option wrappers*/void xf_t::SetFillBGColor(color_name_t color){   fill_bgcolor = xf_t::COLOR_OPTIONS_TABLE[color];   m_sigchanged = true;}unsigned8_t xf_t::GetFillBGColor(void){   return fill_bgcolor;}/* Fill Style option wrappers*/void xf_t::SetFillStyle(fill_option_t fill){   fillstyle = xf_t::FILL_OPTIONS_TABLE[fill];   m_sigchanged = true;}unsigned8_t xf_t::GetFillStyle(void){   return fillstyle;}/* Locked option wrappers*/void xf_t::SetLocked(bool locked_opt){   locked = locked_opt;   m_sigchanged = true;}bool xf_t::IsLocked(void){   return locked;}/* Hidden option wrappers*/void xf_t::SetHidden(bool hidden_opt){   hidden = hidden_opt;   m_sigchanged = true;}bool xf_t::IsHidden(void){   return hidden;}/* Wrap option wrappers*/void xf_t::SetWrap(bool wrap_opt){   wrap = wrap_opt;   m_sigchanged = true;};bool xf_t::IsWrap(void){   return wrap;};/* Cell option wrappers*/void xf_t::SetCellMode(bool cellmode){   is_cell = cellmode;   m_sigchanged = true;}bool xf_t::IsCell(void){   return is_cell;}/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * $Log: extformat.cpp,v $ * Revision 1.1.1.1  2004/08/27 16:31:48  darioglz * Initial Import. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -