这个已经有很多完善的api在以jquery为库的api中有很多例子,如markitup,可以实现文本编辑器的所有功能,并且是轻量级有丰富易用的api,可自行扩展
富文本编辑器又称为WYSIWYG(所见即所得),其本质就是在一个页面元素中嵌入HTML代码,并且这个元素可以像文档输入框一样进行文本的编辑,它同时还可以设置文本样式。写博客的工具就是一个功能丰富的富文本编辑器,编辑邮件以及论坛发贴都用到富文本编辑器。
富文本编辑器,Rich Text Editor, 简称 RTE, 它提供类似于 Microsoft Word 的编辑功能,容易被不会编写 HTML 的用户并需要设置各种文本格式的用户所喜爱。它的应用也越来越广泛。最先只有 IE 浏览器支持,其它浏览器相继跟进,在功能的丰富性来说,还是 IE 强些。虽然没有一个统一的标准,但对于最基本的功能,各浏览器提供的 API 基本一致,从而使编写一个跨浏览器的富文本编辑器成为可能。在很多开发者看来,富文本编辑器的编写是一件很神秘或者复杂的事情。神秘倒没有,复杂的话,确实如此。但是它的基本原理并不复杂,入门也不难。今天我们的主题是讲述基本原理,并逐步演示一个简单富文本编辑器的产生。这是我在D2上的一个分享内容,在台上的演讲效果不佳,固写下来,希望能够对感兴趣的读者有所帮助。
原理应该就差不多是这样了我理解是这样键盘发送脉冲给主机,主机里面运行的操作系统会接收到,这一步是操作系统发现信号有变化操作系统接收后根据信号分析按了什么键,这个是操作系统内部有信号和按键对应的映射正在运行的软件又会接收到操作系统发送的这个按键代码,软件会根据这个代码和设定的字符集返回字符给操作系统操作系统会根据这个字符和设定好的字体样式交给显卡驱动软件(这一步和下一步,不知道是不是所有的操作系统和硬件系统都一样,这个没有研究到那么底层)显卡驱动软件会根据当前的界面情况和显示设定等计算出要更新的结果把这个更新结果转成显卡能解析的信号发送到显示屏显示屏又根据信号显示出结果
基于js富文本的富文本编辑器,不是插件。首先是把div的contenteditable设为true,使div可编辑。然后使用编辑API,改变样式,原理就是给文字加上标签和内部css样式,使之变成一段html代码
这个原理实在是太简单了!对于支持富文本编辑的浏览器来说,其实就是设置 document 的 designMode 属性为 on 后,再通过执行 xecCommand('commandName'[, UIFlag[, value]]) 即可。commandName 和 value 可以在MSDN 上和MDC 上找到,它们就是我们创建各种格式的命令,比方说,我们要加粗字体,执行 xecCommand('bold', false) 即可。很简单是吧?但是值得注意的是,通常是选中了文本后才执行命令,被选中的文本才被格式化。对于未选中的文本进行这个命令,各浏览器有不同的处理方式,比方 IE 可能是对位于光标中的标签内容进行格式化,而其它浏览器不做任何处理,这超出本文的内容,不细述。同时需要注意的是,UIFlag 这个参数设置为 true 表示 display any user interface triggered by the command (if any), 在我们今天的教程中都是 false, 而 value 也只在某些 commandName 中才有,具体参考以上刚给出的两个链接。为了不影响当前 document, 通常的做法是在页面中嵌入一个 iframe 元素,然后对这个 iframe 内的 document(通过 Wdocument 获得)进行操作。十分简单,是吧?下面我们来动手做一个。
学习protel软件的体会 摘 要:介绍了Protel 99 SE的系统结构、主要特色以及在电路设计中的应用,指出了设计中出现的问题,并给出了具体的解决方法。 关键词:Protel 99 SE;电路原理图;印刷电路板;电路设计 2007年8月,在江苏省教育厅统一组织的“四新培训”活动中,我参加了由东南大学举办的“电子线路CAD——protel软件应用”培训。 作为初学者,我通过为期8天的学习,比较全面地了解和掌握了绘制、编辑电路原理图和印制电路图的方法和技巧,并能处理一些常见问题。在对protel软件的学习中,我有不少心得体会,下面我就谈一下我的学习体会。 一、简要介绍Protel软件。Protel是protel公司在80年代末推出的一款功能强大的电路CAD软件,其所设计的电子电路产品范围,涵盖了从小型的电子产品,一直到复杂的电子计算机,是目前国内电子行业使用最广泛的电子电路设计软件。我所学习的Protel 99 SE 是Protel公司推出的最新版本,应用于电路原理图设计、电路板设计等,他基于Windows环境,功能强大,人机界面友好,能让人们在具有最完整的功能环境下,提升设计上的品质和效率。 二、Protel99SE软件的组成。Protel99SE由五大系统构成。 1.原理图设计系统---原理图设计系统是用于原理图设计的Advanced Schematic 系统。这部分包括用于设计原理图的原理图编辑器Sch以及用于修改、生成零件的零件库编辑器SCHLib。 2.印刷电路板设计系统---印刷电路板设计系统是用于电路板设计的 Advanced PCB。这部分包括用于设计电路板的电路板编辑器PCB以及用于修改、生成零件封装的零件封装编辑器PCBLib。 3.信号模拟仿真系统---信号模拟仿真系统是用于原理图上进行信号模拟仿真的SPICE 3f5系统。 4. 可编程逻辑设计系统---可编程逻辑设计系统是基于CUPL的集成于原理图设计系统的PLD设计系统。 5.Protel99SE内置编辑器---这部分包括用于显示、编辑文本的文本编辑器Text和用于显示、编辑电子表格的电子表格编辑器Spread。 三、Protel99SE的主要特色。 1.Protel99SE系统针对Windows NT4/9X作了纯32位代码优化,使得Protel99SE设计系统运行稳定而且高效。 SmartTool(智能工具)技术将所有的设计工具集成在单一的设计环境中;SmartDoc(智能文档)技术将所有的设计数据文件储存在单一的设计数据库中,用设计管理器来统一管理;SmartTeam(智能工作组)技术能让多个设计者通过网络安全地对同一设计进行单独设计,再通过工作组管理功能将各个部分集成到设计管理器中。 3. 对印刷电路板设计时的自动布局采用两种不同的布局方式,即组群式和基于统计方式;新增加了自动布局规则设计功能;增强的交互式布局和布线模式。 4.电路板信号完整性规则设计和检查功能可以检测出潜在的阻抗匹配、信号传播延时和信号过载等问题; 广泛的集成向导功能引导设计人员完成复杂的工作。 5.原理图到印刷电路板的更新功能加强了Sch和PCB之间的联系; 可以用标准或者用户自定义模板来生成新的原理图文件;集成的原理图设计系统收集了超过60000个元器件。 6.通过完整的SPICE 3f5仿真系统可以在原理图中直接进行信号仿真;可以选择超过60种工业标准计算机电路板布线模板或者用户可以自己生成一个电路板模板。 四、用Protel99SE进行电路设计的基本步骤。 1.设计电路原理图 电路原理图的设计是整个电路设计的基础,因此电路原理图要设计好,以免影响后面 的设计工作。电路原理图的设计一般有如下步骤: (1)设置原理图设计环境;(2)放置元件;(3)原理图布线;(4)编辑和调整;(5)检查原理图;(6)生成网络表。 2.设计印刷电路板 印刷电路板设计是从电路原理图变成一个具体产品的必经之路,因此,印刷电路板设计是电路设计中最重要、最关键的一步。通常,印刷电路板设计的具体步骤如下: (1)规划电路板;(2)设置参数;(3)装入网络表;(4)元器件布局;(5)自动布线;(6)手工调整。 五、实例 下面以两级放大电路的设计来说明Protel 99 SE在电路设计中的应用。 设计要求:(1)使用单层电路板;(2)电源、地线铜膜线的宽度为27 mm;(3)一般布线的宽度为635 mm 。 1. 设计电路原理图 原理图设计最基本的要求是正确性,其次是布局合理,最后是在正确性和布局合理的前 提下力求美观。根据以上所述的电路原理图设计步骤,两级放大器电路原理图设计过程如下: (1) 启动原理图设计服务器 进入Protel 99 SE,创建一个数据库,执行菜单File/New命令,从框中选择原理图服务器(Schematic Document)图标,双击该图标,建立原理图设计文档。双击文档图标,进入原理图设计服务器界面。 (2) 设置原理图设计环境 执行菜单Design/Options和Tool/Preferences,设置图纸大小、捕捉栅格、电气栅格等。 (3) 装入所需的元件库 在设计管理器中选择Browse SCH页面,在Browse区域中的下拉框中选择Library,然后单击ADD/Remove按钮,在弹出的窗口中寻找Protel 99 SE子目录,在该目录中选择Library\SCH路径,在元件库列表中选择所需的元件库,比如Miscellaneous devices�ddb,TI Databook库等,单击ADD按钮,即可把元件库增加到元件库管理器中。 (4)放置元件 根据实际电路的需要,到元件库中找出所需的元件,然后用元件管理器的Place按钮将元件放置在工作平面上,再根据元件之间的走线把元件调整好。 (5)原理图布线 利用Protel 99 SE提供的各种工具、指令进行布线,将工作平面上的器件用具有电气意义的导线、符号连接起来,构成一个完整的电路原理图。 (6)编辑和调整 利用Protel 99 SE 所提供的各种强大的功能对原理图进一步调整和修改,以保证原理图的美观和正确。同时对元件的编号、封装进行定义和设定等。 (7)检查原理图 使用Protel 99 SE 的电气规则,即执行菜单命令Tool/REC对画好的电路原理图进行电气规则检查。若有错误,根据错误情况进行改正。 (8) 生成网络表 网络表是电路原理图设计和印刷电路板设计之间的桥梁,执行菜单命令Design/Create Netlist可以生成具有元件名、元件封装、参数及元件之间连接关系的网络表。 经过以上的步骤,完成了两级放大电路原理图的设计。 两级放大电路原理图如下所示: 2.印刷电路板的设计 电路设计的最终目的是为了设计出电子产品,而电子产品的物理结构是通过印刷电路板来实现的。Protel 99 SE为设计者提供了一个完整的电路板设计环境,使电路设计更加方便有效。应用Protel 99 SE设计印刷电路板过程如下: (1)启动印刷电路板设计服务器 执行菜单File/New命令,从框中选择PCB设计服务器(PCB Document)图标,双击该图标,建立PCB设计文档。双击文档图标,进入PCB设计服务器界面。 (2)规划电路板 根据要设计的电路确定电路板的尺寸。选取Keep Out Layer复选框,执行菜单命令Place/Keepout/Track,绘制电路板的边框。执行菜单Design/Options,在“Signal Lager”中选择Bottom Lager,把电路板定义为单面板。 (3)设置参数 参数设置是电路板设计的非常重要的步骤,执行菜单命令Design/Rules,左键单击Routing按钮,根据设计要求,在规则类(Rules Classes)中设置参数。 选择Routing Layer,对布线工作层进行设置:左键单击Properties,在“布线工作层面设置”对话框的“Pule Attributes”选项中设置Tod Layer为“Not Used”、设置 Bottom Layer为“Any”。 选择Width Constraint,对地线线宽进行设置:左键单击Add按钮,进入线宽规则设置界面,首先在Rule Scope区域的Filter Kind选择框中选择Net,然后在Net下拉框中选择GND,再在Rule Attributes区域将Minimum width、Maximum width和Preferred三个输入框的线宽设置为27 mm; 电源线宽的设置:在Net下拉框中选择VCC,其他与地线线宽设置相同; 整板线宽设置:在Filter Kind选择框中选择Whole Board,然后将Minimum width,Maximum width和Preferred三个输入框的线宽设置为635 mm。 (4)装入元件封装库 执行菜单命令Design/Add/Remove Library,在“添加/删除元件库” 对话框中选取所有元件所对应的元件封装库,例如:PCB Footprint,Transistor,General IC,International Rectifiers等。 (5)装入网络表 执行菜单Design/Load Nets命令,然后在弹出的窗口中单击Browse按钮,再在弹出的窗口中选择电路原理图设计生成的网络表文件(扩展名为Net),如果没有错误,单击Execute。若出现错误提示,必须更改错误。 (6)元器件布局 Protel 99 SE既可以进行自动布局也可以进行手工布局,执行菜单命令Tools/Auto Placement/Auto Placer可以自动布局。布局是布线关键性的一步,为了使布局更加合理,最好采用手工布局方式。 (7)自动布线 Protel 99 SE采用世界最先进的无网格、基于形状的对角线自动布线技术。执行菜单命令Auto Routing/All,并在弹出的窗口中单击Route all按钮,程序即对印刷电路板进行自动布线。只要设置有关参数,元件布局合理,自动布线的成功率几乎是100%。 (8)手工调整自动布线结束后,可能存在一些令人不满意的地方,可以手工调整,把电路板设计得尽善尽美。 (9) 打印输出印刷电路板图执行菜单命令File/Print/Preview,形成扩展名为PPC的文件,再执行菜单命令File/print Job,就可以打印输出印刷电路板图。 六、设计中的问题及解决方法 虽然Protel 99 SE功能强大,人机界面友好,但在设计过程中往往遇到一些问题。 1.生成的印刷电路板图与电路原理图不相符,有一些元件没有连上。这种情况时有发生,问题出在原理图上,原理图看上去是连上了,但画图不符合规范,导致未连接上。不规范的连线有: ①连线超过元器件的断点; ②连线的两部分有重复。 解决方法是在画原理图连线时,应尽量做到: ①在元件端点处连线; ②元器件连线尽量一线连通。 2.在印刷电路板设计中装入网络表时元器件不能完全调入。原因有: ①原理图中未定义元件的封装形式; ②印刷电路板封装的名称不存在,致使在封装库中找不到; ③封装可以找到,但元件的管脚名称与印刷电路板库中封装的管脚名称不一致。 解决方法: ①到网络表文档中查找未定义封装的元件,补上元件封装; ②确认印刷电路板元件封装库是否已调入,同时检查原理图中元件封装名称是否与印刷电路板元件封装库中的名称是否一致; ③将印刷电路板元件封装库中的元件修改成与原理图中定义的一致。如三极管的管脚名称在原理图中定义为1,2,3,而在印刷电路板封装库中焊盘序号定义为E,B,C,必须修改印刷电路板封装库中的三极管管脚名称,使他与原理图中定义的三极管管脚名称一致。 七、结语 随着电子工业的飞速发展,电路设计越来越复杂,手工设计越来越难以适应形势发展的需要,Protel 99 SE以其强大的功能、快捷实用的操作界面及良好的开放性,为设计者提供了现代电子设计手段,使设计者能快捷、准确地设计出满意的电路原理图和印刷电路板,不愧是从事电路设计的一个良好的工具。
我有俄罗斯方块的课程设计代码和文档,不知道怎么发给你啊。
我有现成的,你要不要,给你看一下截图:
UE\Gview
为什么要设计文本编辑器,是练习吗?如果是初学练习的话,还是先熟悉语法和常用方法类吧。