【openocd源码】【带商城 cms 源码】【旋转图片源码】制表源码_表格源码

2024-11-19 06:20:26 来源:金股分时指标源码 分类:探索

1.Excel2010VBA编程与实践的自 序
2.Linux下常见命令paste命令使用及源码实现
3.死磕 Hutool 源码系列(一)——StrUtil 源码解析
4.c语言 isspace() 的制表源代码
5.使用while循环输出1~50,每行5个数,每个数字占8个位置?

制表源码_表格源码

Excel2010VBA编程与实践的自 序

       å¯»ï¼Œæ˜¯ä¸€ç§å°ºåº¦ã€‚古时八尺为一寻,王安石诗云“飞来峰上千寻塔,闻说鸡鸣见日升”,形容飞来峰上塔之极高。

       å¯»ï¼Œæ˜¯ä¸€ç§æŠ€å·§ã€‚今日网络为自学者提供了非常巨大的资源平台,但缺乏技巧的查询和求助,往往“众里寻他千百度”却难有“蓦然回首”的顿悟。而善用关键词搜索,则常可使人体会到“灯火阑珊”之美景。

       å¯»ï¼Œæ˜¯ä¸€ç§è¿½æ±‚。网络上活跃着这么一群人,他们曾经也是懵懂的菜鸟,在寻解获助时心存感激,在寻师问道时心怀崇敬。渐渐地,他们因互助的理念而聚集,相互扶持,坚持不懈地学习、实践与创新。面对一个个技术的据高点,他们是睿智而无私的“寻者”,壁立千寻敢登攀,寻根究底解疑难!

       å¯»ï¼Œæ˜¯ä¸€ç§å¿ƒå¢ƒã€‚求知探秘当志存华山论剑之高远,解决问题应意守无剑无招之寻常,这便是“寻者”修炼的心境。来者是客,有问必答,不慕华丽的招式,但求直击问题之根源,用简单的方法完成复杂的事情。

       æœ¬ä¸›ä¹¦çš„作者就是这样的一群“寻者”。在长期的线上答疑和线下交流、培训活动中,他们接触过针对同一类问题千奇百怪的提问,深知许多人苦寻而不得的要害,甚至练就了一手仅根据含混不清的提问进行猜题、解题的本领。通过不断地积累与整理,Excel技巧网(技术社区)的版主们推出了“Excel疑难千寻千解”丛书,这些“疑难”都是许多人曾经搜索和提问过的,也是大多数用户在工作中可能会遇到的一些寻常问题。书中案例涉及行政办公、人力资源、金融财务、经济统计、学校教育、工程技术、医疗卫生、质量管理、生产管理等多个领域,并根据Excel的主要功能分册地整理成书。

       åœ¨ä¸›ä¹¦ç¼–著过程中,“实用为主”的原则贯彻始终,所有案例都遵循实际工作场景和知识点解说紧密结合的主线,抛开一些华而不实、艰难晦涩的高深解法,而将基础理论和解决方案寓于寻常技巧之中,让读者能得其用、明其理,以期实现为更多的人解决更多问题的简单愿景。

       å¯»è€…

       æ„Ÿè°¢æ‚¨é€‰æ‹©â€œExcel 疑难千寻千解”丛书之《Excel VBA编程与实践》!

       Excel 具有强大的运算与分析能力。从Excel 开始,改进的功能区使操作更直观、更快捷,实现了质的飞跃。不过需要进一步提升效率及实现自动化则仅靠功能区的菜单功能是远远不够的,正因如此,微软公司在Excel中引进了VBA程序,且首次在Excel中升级VBA到 7.0版本。通过VBA可以让复杂的报表简单化,且可以让部分操作全自动完成,十倍或者百倍的制表效率成为可能。

       ä¸›ä¹¦ä»‹ç»

       â€œExcel 疑难千寻千解”丛书是由Excel技巧网的负责人、微软最有价值专家(MVP)黄朝阳先生策划并组织编写的一套系列书籍。

       Excel技巧网旨在重点推广Excel 及今后更高版本的应用,并为广大的Excel爱好者提供一个内容充实、分类清晰、经典实用、精彩纷呈、互惠学习、友好交流的平台。社区成立不久便吸引了众多微软MVP和有志于推广电子表格应用技术的高手驻足,长期为网友免费解答疑难问题,并勤于将精彩的答疑帖子按其所涉及的知识和应用两个维度,整理成为原创技术文章。

       ç¤¾åŒºè®¾æœ‰è®¨è®ºã€æ–‡ç« ã€èµ„源三大技术专区,并按照Excel的功能归属将主题划分为基础应用、数据透视表、条件格式、函数与公式、图表与图形、VBA、SQL in Excel、综合应用等方面,本丛书的各读本正是基于相近的主题分类。

       æœ¬ä¸›ä¹¦ç”±é»„朝阳、王建发、陈国良等微软MVP以及罗刚君、荣胜军、李术彬、林盘生、陈树青、章兰新等多位社区资深版主联手打造,将来还将邀请更多高级会员加盟参与丛书其他读本的创作。其中《Excel 操作与技巧》、《Excel 函数与公式》、《Excel VBA编程与实践》已先于第一批出版,近期还将陆续推出《Excel 图表与图形》、《SQL in Excel 》等其他读本。

       å¾—益于多年来在社区答疑中的磨砺,作者们将丰富的实战经验付诸笔端,精心设计了上千案例,将Excel方方面面的知识点融入其中。每个案例都采用一般用户遇到疑难时最可能的提问方式和应用场景对问题进行描述,提供具有针对性的解决方案和详尽的操作步骤,并配合以原理分析和知识扩展环节,既授人以鱼,又授人以渔。丛书采用“疑难”加“知识点”的特色目录索引,方便读者根据需要快速地查找。对于渴望学习和掌握新知识的Excel用户来说,与其千百次地找寻问题答案,不如静心地读此丛书一卷。

       è¯»è€…对象

       æœ¬ä¹¦ä½¿ç”¨Microsoft Office Excel 界面进行编写,但是在编写过程中作者特意注重程序的通用性,确保每个案例的解决方案都通用于Excel 、和。而且为了方便读者,随书光盘中主要有两种格式的案例文件,包括xls格式和xlsm格式,如果是加载宏则包括xla格式和xlam格式。不管读者使用Excel 、还是都可以直接使用,不需要转换,也不需要修改代码就可以顺利的在多版中使用本书的所有案例。

       æœ¬ä¹¦é€šè¿‡ä¸ªæ¡ˆä¾‹å’Œ1个大型综合应用展示VBA编程技巧,适合所有办公制表人士,特别是需要提升工作效率及需要深入研究VBA者学习之用。如果您没有VBA基础,那么本书可以为您解决工作中的疑难。书中对常见问题有一个或者多个解决方案,并辅以解题思路与原理分析,读者可以通过书中的现有案例进行拓展,解决更多的类似问题。而对于已有VBA基础者,则可以学习本书的解题思路与代码防错技术、代码优化之道。本书的案例涉及基础应用、查找引用、数据处理、报表打印、函数开发、文件目录、图表设计、图形对象、窗体控件、插件开发、代码封装和在工资管理系统等诸多方面,可以全方位的提升VBA编程的功底,让您将VBA理论投入到工作中转换成效率。

       é˜…读指南

       æœ¬ä¹¦åŒ…括章,涉及制表的每个方面。前章分别为基础理论篇、查找引用篇、数据处理篇、报表打印篇、函数开发篇、文件目录篇、图表设计篇、图形对象篇、窗体控件篇、插件开发篇,每章有数十个案例,且为了让读者能学以致用,每章提供3个思考与练习题。最后一章为综合应用,讲述通过VBA开发工资管理系统的思路。

       è¯¦ç»†çš„章节内容如下:

       ç¬¬1章:基础理论篇

       æœ¬ç« åŒ…括5个小节——快速获取帮助、程序防错要点、代码优化之道、提升代码的兼容性。主要介绍VBA编程的一些基础知识、代码的纠错与优化,不过是以案例形式呈现出来,通过实际的应用让理论描述更有说服力。

       ç¬¬2章:查找引用篇

       æœ¬ç« åŒ…括4个小节——本表查找、跨表及多表查找、文件查找与转换和图片查找与引用。主要讲述数据引用、图片引用的经典案例。其中对于查找提供了多种思路,尽量展示效率最高且具有容错性的代码与技巧。本章是全书的三大重点之一,通过大量的实例传授瞬间查找数据的技巧。

       ç¬¬3章:数据处理篇

       æœ¬ä¾‹åŒ…括7个小节——定位的技巧、数据处理及格式转换、单元格合并技巧、报表合并与拆分、单元格颜色的综合应用、重复数据处理和数据透视。本章是第二个重点,全面阐述VBA对数据处理的技巧。Excel本身具备数据处理的功能,而利用VBA可以大大提升数据处理的速度,本章属于办公制表人员必学范畴。

       ç¬¬4章:报表打印篇

       æœ¬ç« åŒ…括2个小节——打印设置和特殊打印格式设计。主要讲述与打印或者打印格式设置方面的疑难处理技巧,包括工资条设计、分页小计、批量打印和底端标题等等相当常用的一些疑难处理。

       ç¬¬5章:函数开发篇

       æœ¬ä¾‹åŒ…括3个小节——自定义函数基础、开发自定义函数和自定义函数的管理。本章阐述开发函数的技巧与函数的管理思路,从而强化Excel的运算能力。

       ç¬¬6章:文件目录篇

       æœ¬ç« åŒ…括2个小节——文件管理和目录管理。本章内容与制表本身无直接关系,但可以对文件和文件夹进行删除、备份、创建、转换、命名等等操作,对工作大有裨益。

       ç¬¬7章:图表设计篇

       æœ¬ç« åŒ…括2个小节——图表编辑和多表管理。设计基本的图表比较适合手工操作,而对于图表或者图表中的标签批量操作时,VBA就有用武之地了,可使操作效率大大提升。

       ç¬¬8章:图形对象篇

       æœ¬ç« åŒ…括3个小节——图形对象的基本操作、批注的高级应用和图形对象综合应用。与图形对象相关的高级应用不适合手工操作,本章通过个案例演示VBA操作图形对象的技巧,包括导入、导出、引用、浏览等等操作。

       ç¬¬9章:窗体控件篇

       æœ¬ç« åŒ…括4个小节——ActiveX控件应用、窗体设计技巧、窗体与工作表之数据交互和开发动画窗体。其中重点在于窗体与工作表数据交互的案例演示,通过窗体处理数据并导入、导出,可以实现很多Excel本身无法完成的功能。最后对窗体的美化技巧提供6种思路。

       ç¬¬ç« ï¼šæ’件开发篇

       æœ¬ç« åŒ…括3个小节——订制菜单与工具栏、开发通用插件和封装DLL插件。本章是本书第三个重点章节,通过案例展示VBA开发插件的强大功能,并附带开发功能区的步骤与技巧,使读者有中文功能区的开发有进一步认识。通过本章的案例,读得可以开发自己需要的插件,包括将插件封装,从而实现代码隐藏。

       ç¬¬ç« ï¼šå·¥èµ„管理系统

       æœ¬ç« è®²è¿°åˆ©ç”¨VBA开发一个中型系统的过程与思路,属于VBA的综合应用。

       æœ¬ä¹¦çº¦å®š

       ä¸ºäº†ç†Ÿæ‚‰æœ¬ä¹¦å¯¹é¼ æ ‡æ“ä½œã€é”®ç›˜æŒ‡ä»¤ç­‰æè¿°æ–¹å¼ï¼Œä»Žè€Œæ›´é¡ºç•…地阅读本书,您有必要了解以下内容:

       èœå•

       æœ¬ä¹¦ä¸­è¡¨ç¤ºè¿žç»­å¤šä¸ªèœå•æŒ‡ä»¤æ—¶ï¼Œä½¿ç”¨å³ç®­å¤´â€œâ†’”进行连接,例如:单击“文件”选项卡→“选项”→“公式”,表示依次单击“文件”选项卡的“选项”按钮,在弹出的“Excel 选项”对话框中单击“公式”选项卡。

       é¼ æ ‡

       æœ¬ä¹¦ä¸­è¡¨ç¤ºé¼ æ ‡æ“ä½œæ—¶ï¼Œå‡ä½¿ç”¨æ ‡å‡†çš„表示方法。其中“指向”表示将鼠标指针移到对象之上,且不单击任何按钮;而“单击”特指利用鼠标左键单击目标;“右键单击”表示利用鼠标的右键单击对象;“双击”表示快速按下鼠标左键两次;“拖放”则表示按下鼠标左键不松开的状态下拖动鼠标,拖到目标区域后再放开鼠标左键。

       é”®ç›˜

       æœ¬ä¹¦ä¸­è¡¨ç¤ºæŒ‰é”®æ—¶ä½¿ç”¨å°–括号“【】”号包含,例如“按【Ctrl+Shift+Enter】组合键”表示同时按下键盘上的Ctrl键、Shift键和Enter键。其他按键的表示方法相同,如果需要特殊操作方法,会在相关内容中详细说明。

       ä»£ç 

       æœ¬ä¹¦çš„VBA代码均不区分大小写,在编写代码可以随意,但代码录入到代码窗口后,VBA会将代码自动转换成首字符大写形式,带引号的字符串和变量名除外。

       æœ¬ä¹¦ç‰¹ç‚¹

       æœ¬ä¹¦ä¸Žå¸‚场上其他Excel书籍有很大的不同,文体结构新颖,案例贴近实际,讲解深入透彻,表现为以下几个方面:

       åœºæ™¯å¼æé—®

       æœ¬ä¹¦ä»Žæˆåƒä¸Šä¸‡ç½‘友提问中精心归纳、提炼出各类问题,并还原为贴近真实的求助语言及案例,方便读者搜寻与实际工作相似问题。

       å¢žå¼ºå¼ç›®å½•

       æœ¬ä¹¦æ€»ä½“章节划分以“基础理论→分类应用→综合实战”为主线,将VBA的主要知识点和经典解决方案设计到每个疑难的案例中,并采用“疑难”加“知识点”的特色目录索引,方便读者根据需要翻阅和查找。

       å¼€åˆ›å¼ç»“æž„

       æœ¬ä¹¦æ¡ˆä¾‹ä¸­çš„“解决方案”环节是对问题的思路解说,结合“操作方法”环节中的步骤让人更容易理解。“原理分析”环节则主要解释所使用代码的工作原理。“知识扩展”环节包括与案例相关的知识点补充,可拓展读者的视野,同时也有利于理解案例本身的解决思路。

       æœ¬ä¹¦çš„代码还有两个显著的特点,有别于市场上其它同类书籍,即处处确保代码的防错与通用性。

       é˜²é”™

       é˜²é”™æ˜¯æŒ‡ç¼–写代码时尽可能考虑所有可能出错的情况,并在代码中加以防范。或者根据不同潜在的运行环境提供不同的执行方案,让代码可以多种情况下顺利执行,而不会弹出错误提示框导致程序中断。

       é€šç”¨

       é€šç”¨æ€§æ˜¯æŒ‡ä»£ç å¯ä»¥é€‚应不同环境。环境是指软件的不同版本,例如WIN XP、VISTA和WIN 7操作系统都可以顺序执行本书所有案例的代码,Excel 、和版本的用户也可以顺利执行每个案例的代码,且不需要做任何修改。

       çŽ¯å¢ƒè¿˜åŒ…括表格的区域。本书尽可能不采用硬编码引用工作表对象和区域地址,而采用具备自动适应变化的代码作为数据处理的引用源,从而使代码适应不同用户或虽是同一用户但工作表数据区域变化时皆可使用。例如Range(A1:D)引用区域属于硬编码,当数据区域变化后,代码必须修改才可执行;而采用ActiveSheet.UsedRange或者ActiveCell.CurrentRegion两种方法引用区域则可以适应数据区域的增减变化,从而提升代码的通用性。

       å­¦ä¹ æ–¹æ³•

       æœ¬ä¹¦æ˜¯VBA编程的案例集粹,其宗旨在于为读者解决实际工作的疑难,以及对同类的问题提供解决思路。

       ä¹¦ä¸­å„章节的结构虽然是从易到难,但章节之间相互独立,即可以从任意章节开始学习,不需要遵照从前至后的顺序阅读。

       æœ¬ä¹¦æ¯ä¸ªæ¡ˆä¾‹ä¸­çš„“解决方案”部分表示对问题的思路解说,配合“操作方法”中的步骤和代码更容易理解。“原理分析”部分则主要包括两方面内容:代码中部分方法或者语句的语法解释,以及解决本疑难的理论依据。“知识扩展”部分包括与本例问题或者本代码相关的知识补充,用于扩展读者的知识范围,同时也有利于理解本例代码的思路。

       æœ¬ä¹¦æ˜¯â€œExcel疑难千寻千解”丛书之一,可为读者解决VBA编程的疑难,同时也是作者罗刚君的另一本著作《Excel VBA程序开发自学宝典》的升级版与配套教材。《Excel VBA程序开发自学宝典》重点在于讲述VBA编程的基础理论和语法,并配有“Excel百宝箱”大型插件的设计过程详解,该书适合完全没有VBA基础者学习,而本书是该书配套的案例,可以使读者将理论付诸实践,解决实际工作中的疑难及开发属于自己的插件。

       å”®åŽæœåŠ¡

       æœ¬ä¹¦ç”±Excel技巧网(技术社区)出品,读者在阅读中有任何疑难或者建议、BUG反馈等都可以到社区发贴,包括求助、交流,也可以在社区下载与本书相关的文档。社区为本丛书开辟了一个专门的版面用于编读往来,同时本书也配备了专属的QQ群作为售后服务的联系方式,群号公布于上述网址,读者可以申请到群中与作者面对面交流。

       è´­ä¹°æœ¬ä¹¦é™¤å¯ä»¥èŽ·å–随书光盘中的所有案例文件外,还有两项服务,包括实用插件和Excel百宝箱。

       å®žç”¨æ’件是指随书光盘中的8个插件,位于“赠品”文件夹中。8个插件可以实现8个功能,同时学习插件的开发思路。每个插件附有源代码,每句代码都有含义注释,且配有使用说明。插件名称如下:

       1.二级选单

       å¯ä»¥åƒæ•°æ®æœ‰æ•ˆæ€§ä¸€æ ·äº§ç”Ÿä¸‹æ‹‰åˆ—表,但更强大,可以产生二级选单。

       2.批注替换工具

       å¯ä»¥æ‰¹é‡æ›¿æ¢æ‰¹æ³¨æ–‡æœ¬çš„工具,且可设定区分大小写与匹配方式。

       3.选项菜单设计

       é€šå®ƒæ—¢å¯æŽ§åˆ¶æŸäº›è§†å›¾å¯¹è±¡çš„显示与隐藏,又可学习选项菜单的设计思路。

       4.一键录入代码

       ç”¨äºŽæå‡ç¼–写代码的速度与准确度,单击菜单即可录入常见代码。

       5.复选框管理

       å¯ä»¥æ‰¹é‡ç”Ÿæˆå¤é€‰æ¡†ï¼Œä¹Ÿå¯ä»¥æ‰¹é‡åˆ é™¤ã€å‹¾é€‰å¤é€‰æ¡†ï¼ŒåŠŸèƒ½å¼ºå¤§ï¼Œæ“ä½œæ–¹ä¾¿ã€‚

       6.历史数据记录器

       å°†æŒ‡å®šåŒºåŸŸä¸­æ¯ä¸€ä¸ªå•å…ƒæ ¼çš„修改都记录在案备查,且同时记录修改时间。

       7.增强型视图控制

       æ˜¯å†…置的视图工具的强化版本,更重要的是可以学习如何开发发功能区。

       8.自定义函数封装

       è‡ªå®šä¹‰å‡½æ•°Connect是&运算的强化版本,功能强大,且配备代码封装教材。

       é™¤ä»¥ä¸ŠæœåŠ¡å¤–,如果读者同时购买本书和《Excel VBA程序开发自学宝典》,那么额外赠送三个实用插件和一个百宝箱8.0正式版。插件包括:

       1.隐藏磁盘

       å¯ä»¥å°†æŒ‡å®šçš„磁盘隐藏起来,并禁用使用,从而确保文件安全。

       2.隐藏错误值

       å¯ä»¥å°†å·¥ä½œè¡¨ä¸­çš„所有错误值在隐藏与显示之间瞬间切换。

       3.工作簿标签

       åœ¨èœå•äº§ç”Ÿå·¥ä½œç°¿æ ‡ç­¾çš„插件,让工作簿切换更方便、快捷。

       ç™¾å®ç®±8.0是利用VBA开发的大型插件,百宝箱正版包括个功能,可以大大强化Excel的功能,原价元销售。对于读者可以免费赠送,可进入作者QQ群后向作者免费申请。

       æœ¬ä¹¦ç”±é»„朝阳策划,罗刚君和章兰新负责编写。其中第1、2、3、4、8、9、和章由罗刚君编写;第5、6、7章由章兰新编写,最后由罗刚君、黄朝阳完成统稿。

       ç¼–著者

       å¹´8月日

       ------------------------------------------------------------------------------------------------------------------------

       ç”³æ˜Ž:本书的所有案例和讲解都允许作为视频或面授培训的教材,但使用者必须遵循约定,在培训教材的明显处注明“全部(或部分)案例出自‘Excel疑难千寻千解’丛书之《Excel VBA编程与实践》”的字样,以确保作者著作权不受侵犯。

Linux下常见命令paste命令使用及源码实现

       在Linux系统中,paste命令主要用于合并文件的源码源码列。通过该命令,表格可以将指定文件的制表行以制表符作为分隔符,输出到标准输出。源码源码

       paste命令的表格openocd源码语法如下:

       paste [OPTION]... [FILES]...

       下面是paste命令的一些常用参数:

       举例:

       首先,我们需要编译paste命令的制表源代码:

       g++ paste.cpp -o my_paste

       编译完成后,可执行文件为my_paste,源码源码本文中paste命令行将使用自己实现的表格my_paste。

       我们准备两个文件,制表然后使用my_paste进行解析。源码源码

       默认情况下,表格使用paste命令合并文件时,制表带商城 cms 源码各文件中的源码源码各行将以制表符(Tab)作为分隔符进行合并并输出。

       使用-d选项:

       -d(分隔符):paste命令默认使用制表符分隔符来合并文件。表格可以使用-d选项将分隔符更改为任何其他字符。如果将多个字符指定为分隔符,则paste以循环方式为每个文件行分隔使用它。

       以下代码处理-d选项,旋转图片源码用指定的间隔字符取代跳格字符。

       使用-s选项:

       -s(串行):我们可以使用-s选项按顺序合并文件。它从单个文件中读取所有行,并将所有这些行合并为一行,每行由制表符分隔。这些单行由换行符分隔。liteide 查看go源码以下是具体代码实现部分。

       若使用paste指令的参数"-s",则可以将一个文件中的多行数据合并为一行进行显示。例如:

       -d和-s的组合以下示例显示如何为文件的顺序合并指定分隔符:

       今天关于paste命令的分享就到这里,paste命令简单实用,希望对大家有所帮助!网页源码编码格式

死磕 Hutool 源码系列(一)——StrUtil 源码解析

       深入解析StrUtil源码

       在实际项目中,String数据结构的使用极为频繁,因此对字符串的操作代码也相对繁多,这些操作往往独立于具体业务之外,为实现代码简洁性和可读性,我们通常将对String的各种操作封装成静态工具类,这就是本文主角——StrUtil。StrUtil几乎囊括了我们能想到的所有字符串通用操作方法。

       源码探索

       StrUtil作为静态工具类,内部仅包含静态方法和静态常量。其设计者贴心地预设了诸多开发中常用的字符,如空字符、空格、制表符等,避免了硬编码,便于直接调用。

       方法归类

       通过方法脑图,我们对StrUtil的方法有了大致了解。每个方法名简洁明了,见名知意。

       分类包括:

       判空类方法

       去前后空格类方法

       查找类方法

       源码包含众多静态方法,本文首篇总结了部分方法,后续会继续更新。

c语言 isspace() 的源代码

       这个好像是个宏吧。你也可以自己写呀。比如:

       int isspace(char c)

       {

        char comp[] = { ' ', '\t', '\n', '\r', '\v', '\f'};

        int i;

        const int len = 6; //comp数组的长度,这个你也可以用strlen()来求,但是要包括string.h头文件

        // 也可以使用宏来定义

        for (i = 0; i < len; i++)

        {

        if (c == comp[i])

        return 1;

        }

        return 0;

       }

使用while循环输出1~,每行5个数,每个数字占8个位置?

       水平制表符'\t'可以实现每个数字占8个位置的功能

       具体C代码和运行结果如下:

       输出符合要求,望采纳~

       附源码:

       #include <stdio.h>

       int main() {

           int i = 1;

           while (i <= ) {

               printf("%d\t", i);

               if (i % 5 == 0)

                   printf("\n"); // 换行

               i++;

           }

           return 0;

       }

本文地址:http://581.net.cn/html/21a375096228.html 欢迎转发