如何在delphi实现“即点即输”的功能

feiyun 2000-03-06 11:18:00
各位好,
我想在程序的编辑器中实现如office200或者是foxmail3.0编辑器
那样“即点即输”的功能,就是无论鼠标点在那里光标都可以停在
那里输入,不用象一般的那样输入很多空格和回车。
好像delphi本身IDE的编辑器都有那个功能。
我不知道如何才能在delphi实现,恳求各大高手指教,谢谢!!!
...全文
177 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
rh 2001-05-14
  • 打赏
  • 举报
回复
这样的帖子删除了算了咯!
Kingron 2001-05-14
  • 打赏
  • 举报
回复
提问者:如要继续讨论请定期提前贴子,如不想讨论请结束贴子。
光明山人 2000-03-07
  • 打赏
  • 举报
回复
只能自己编一个控件了,那些编辑器都不是Windows标准控件。
softdoctor 2000-03-07
  • 打赏
  • 举报
回复
WINDOWS标准控件是无法满足你的要求的。
只能完全自己写(从输入到显示),工作
量是极其巨大的。建议放弃。
AcherMagic 2000-03-07
  • 打赏
  • 举报
回复
我看了以下DELPHI的IDE其实
它也无法真正作到你说的的效果
我估计它是用一个RICHEDIT
在生成时添加了空格,在输入时删除光标所在的空格
feiyun 2000-03-07
  • 打赏
  • 举报
回复
我是想把windows的标准控件扩展一下,
但是不清楚具体的实现方法
DELPHI串口编程剖析 1 第一章 背景知识 3 1. 概述 3 2. 什么是接口? 3 3. 接口分类. 3 4. 为什么需要I/O接口? 3 5. I/O接口的功能 4 6. I/O接口的通信方式 5 7. I/O接口的分类 5 8. 串口的分类 8 9. 串口通信分类 11 10. 奇偶校验 12 第二章 串口通信编程简介 13 1. 串口的通信编程流程 13 2. Unix平台下对串口进行开发的方法 13 3. Windows平台下对串口进行开发的方法 13 第三章 使用DELPHI工具进行串口通信编程 15 第四章 串口编程的调试及其相关工具 27 串口通信编程剖析 第一章 背景知识 1. 概述 串口是计算机上I/O接口的一种,要掌握串口通信编程的相关知识,必须先了解I/O接口的相关知识。 I/O接口是接口的一种。 2. 什么是接口? 众所周知计算机是由CPU,存储器,外部终端设备组成. 接口就是用于CPU与外部设备、存储器的连接和数据交换的设备。 3. 接口分类. 广义的计算机接口有二种,见下表: 类別 用途 电路实现复杂性 存储器接口: 用于CPU与外部设备、存储器的连接 简单 I/O接口 数据交换 复杂 习惯上说到接口只是指I/O接口。本文沒作特別介绍的地方都叫I/O接口. 4. 为什么需要I/O接口? 计算机的外围设备品种繁多,几乎都采用了机电传动设备,因此,CPU在与I/O设备进行数据交换时存在以下问题: 速度不匹配: I/O设备的工作速度要比CPU慢许多,而且由于种类的不同,他们之间的速度差异也很大,例如硬盘的传输速度就要比打印机快出很多。 时序不匹配: 各个I/O设备都有自己的定时控制电路,以自己的速度传 输数据,无法与CPU的时序取得统一。 信息格式不匹配: 不同的I/O设备存储和处理信息的格式不同,例如可以分为串行和并行两种;也可以分为二进制格式、ACSII编码和BCD编码等。 信息类型不匹配: 不同I/O设备采用的信号类型不同,有些是数字信号,而有些是模拟信号,因此所采用的处理方式也不同。    基于以上原因,CPU与外设之间的数据交换必须通过I/O接口来完成。 5. I/O接口的功能 通常I/O接口有以下一些功能: 1)设置数据的寄存、缓冲逻辑,以适应CPU与外设之间的速度 差异,接口通常由一些寄存器或RAM芯片组成,如果芯片足够大还可以实现批量数据的传输; 2)能够进行信息格式的转换,例如串行和并行的转换; 3)能够协调CPU和外设两者在信息的类型和电平的差异,如电平 转换驱动器、数/模或模/数转换器等;    4)协调时序差异;    5)地址译码和设备选择功能;    6)设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下产生中断和DMA请求信号,并在接受到中断和DMA应答之后完成中断处理和DMA传输。    6. I/O接口的通信方式 CPU通过接口对外设进行控制的方式有以下几种: 1)程序查询方式 这种方式下,CPU通过I/O指令询问指定外设当前的状态,如果外设 准备就绪,则进行数据的输入或输出,否则CPU等待,循环查询。 这种方式的优点是结构简单,只需要少量的硬件电路即可,缺点是由 于CPU的速度远远高于外设,因此通常处于等待状态,工作效率很 低。 2)中断处理方式 在这种方式下,CPU不再被动等待,而是可以执行其他程序,一旦 外设为数据交换准备就绪,可以向CPU提出服务请求,CPU如果响 应该请求,便暂时停止当前程序的执行,转去执行与该请求对应的 服务程序,完成后,再继续执行原来被中断的程序。   中断处理方式的优点是显而易见的,它不但为CPU省去了查询外设 状态和等待外设就绪所花费的时间,提高了CPU的工作效率,还满 足了外设的实时要求。但需要为每个I/O设备分配一个中断请求号 和相应的中断服务程序,此外还需要一个中断控制器(I/O接口芯 片)管理I/O设备提出的中断请求,例如设置中断屏蔽、中断请求 优先级等。此外,中断处理方式的缺点是每传送一个字符都要进行 中断,启动中断控制器,还要保留和恢复现场以便能继续原程序的 执行,花费的工作量很大,这样如果需要大量数据交换,系统的性 能会很低。 3)DMA(直接存储器存取)传送方式 DMA最明显的一个特点是它不是用软件而是采用一个专门的控制 器来控制内存与外设之间的数据交流,无须CPU介入,大大提高 CPU的工作效率。   在进行DMA数据传送之前,DMA控制器会向CPU申请总线控 制 权,CPU如果允许,则将控制权交出,因此,在数据交换时, 总线控制权由DMA控制器掌握,在传输结束后,DMA控制器将 总线控制权交还给CPU。    7. I/O接口的分类 7.1. 并行接口   目前,计算机中的并行接口主要作为打印机端口,接口使用的不再是36针接头而是25针D形接头。所谓“并行”,是指8位数据同时通过并行线进行传送,这样数据传送速度大大提高,但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,容易出错。   现在有五种常见的并口:4位、8位、半8位、EPP和ECP,大多数PC机配有4位或8位的并口,许多利用Intel386芯片组的便携机配有EPP口,支持全部IEEE1284并口规格的计算机配有ECP并口。   标准并行口4位、8位、半8位:   4位口一次只能输入4位数据,但可以输出8位数据;8位口可以一次输入和输出8位数据;半8位也可以。   EPP口(增强并行口):由Intel等公司开发,允许8位双向数据传送,可以连接各种非打印机设备,如扫描仪、LAN适配器、磁盘驱动器和CDROM 驱动器等。   ECP口(扩展并行口):由Microsoft、HP公司开发,能支持命令周期、数据周期和多个逻辑设备寻址,在多任务环境下可以使用DMA(直接存储器 访问)。   目前几乎所有的586机的主板都集成了并行口插座,标注为 Paralle1或LPT1,是一个26针的双排针插座。 7.2. 串行接口   计算机的另一种标准接口是串行口,现在的PC机一般至少有两个串行口COM1和COM2。串行口不同于并行口之处在于它的数据和控制信息是一位接一位串行地传送下去。这样,虽然速度会慢一些,但传送距离较并行口更长,因此长距离的通信应使用串行口。通常COM1使用的是9针D形连接器,而COM2有些使 用的是老式的DB25针连接器。    7.3. 磁盘接口 1)IDE接口   IDE接口也叫做ATA端口,只可以接两个容量不超过528M的硬盘驱动器,接口的成本很低,因此在386、486时期非常流行。但大多数IDE接口不支持DMA数据传送,只能使用标准的PCI/O端口指令来传送所有的命令、状态、数据。几乎所有的586主板上都集成了两个40针的双排针IDE接口插座,分别标注为IDE1和IDE2。 2)EIDE接口 EIDE接口较IDE接口有了很大改进,是目前最流行的接口。 首先,它所支持的外设不再是2个而是4个了,所支持的设备除了硬盘,还包括CD-ROM驱动器磁盘备份设备等。   其次,EIDE标准取消了528MB的限制,代之以8GP限制。   第三,EIDE有更高的数据传送速率,支持PIO模式3和模式4标准。    7.4. SCSI接口   SCSI(SmallComputerSystemInterface)小计算机系统接口,在做图形处理和网络服务的计算机中被广泛采用SCSI接口的硬盘。除了硬盘以外,SCSI接口还可以连接CD-ROM驱动器、扫描仪和打印机等,它具有以下特点:   *可同时连接7个外设;   *总线配置为并行8位、16位或32位;   *允许最大硬盘空间为8.4GB(有些已达到9.09GB);   *更高的数据传输速率,IDE是2MB每秒,SCSI通常可以达到5MB每秒,FASTSCSI(SCSI-2)能达到10MB每秒,最新的SCSI-3甚至能够达到40MB每秒,而EIDE最高只能达到16.6MB每秒;   *成本较IDE和EIDE接口高很多,而且,SCSI接口硬盘必须和SCSI接口卡配合使用,SCSI接口卡也比IED和EIDE接口贵很多。   *SCSI接口是智能化的,可以彼此通信而不增加CPU的负担。在IDE和EIDE设备之间传输数据时,CPU必须介入,而SCSI设备在数据传输过程中起主动作用,并能在SCSI总线内部具体执行,直至完成再通知CPU。   
华报智能报表工具(ReportAll)是开发人员最理想的报表工具,具有全新的设计思想,对中国式报表和很多复杂报表有很强的针对性,他将“对象摆放”类和“电子表格”类报表开发工具完美融合,使用种类丰富且功能强大的报表对象组合生成任意复杂的报表样式。在华报智能报表工具中,无论是“带区(Band)”、“表格(Grid)”、“图表(Chart)”、“文字”及“线条”等元素都作为报表对象嵌入在报表页面之中。这些报表对象独立占据一定的区域,独立地进行分页控制。事实上,使用华报智能报表工具为报表布局不受任何限制,开发人员可以随意灵活地利用每一块页面空间。另外,华报智能报表工具提供的报表对象都是“数据感知”的,当他们和虚拟数据集中的数据建立“绑定”关系后,可以实时显示数据和感知数据的变化。 1、原理 ReportAll控件/插件是符合微软COM规范的ActiveX控件,运行时需要嵌入到应用程序的窗体或HTML页面中,并由开发人员传入用来表现报表的格式或样式的外观信息(报表文档)和用来存储报表内容的数据信息(报表数据),这两种信息既相互独立又相互关联。因此,报表的开发工作主要围绕这两种信息的生成过程而进行。   报表文档和报表数据可以通过URL(或本地文件路径)请求从Web服务器(或本地操作系统)的返回结果中加载,可以从内存中的XML字符串加载,也可以通过编程(调用API编程接口)动态生成。 ReportAll控件/插件不依赖于数据库平台,其数据从XML数据文本中获得,因此ReportAll可以灵活地适用于各种场合。 2、组成 ReportAll报表开发工具软件包主要包括以下各部分: ReportAll报表设计器:一个标准的Win32应用程序,用于对报表的文档进行编辑和调试,编辑的结果可保存到符合XML格式的文本文件中。 ReportAll报表控件/插件:嵌入到程序窗体或Web页面中的符合微软Com规范的ActiveX控件,用于展现或编辑(仅针对设计器版)报表的外观和采集数据,同时提供了API编程接口,便于开发人员对其进行各种控制。 数据源SDK源代码:这些源代码用于帮助开发人员生成加载报表数据用的XML数据文本,它们可以由开发人员根据项目的需要自由修改。目前提供语言版本包括:Delphi,VS.Net C#,Java。 帮助文档:微软标准CHM帮助文件,帮助开发人员对ReportAll进行学习。   在ReportAll报表设计器中,该文档可以提供上下文敏感的帮助信息。 范例:一些使用ReportAll进行报表开发的例子,帮助开发人员快速入门。 3、适用范围 因为ReportAll报表控件/插件是标准的ActiveX控件,所以所有支持ActiveX技术的前台开发工具(如:Delphi、C++Build、VC++、VB、、VC#、PowerBuild、JavaScript、VBScrip、Excel等)都可以使用ReportAll报表控件/插件输出报表。 4、特点 报表设计 使用“对象摆放”式和“电子表格”式相结合的方式进行报表文档的布局排版;开发人员既可以像设计Form那样灵活地摆放报表对象并设置他们的属性,也可以象使用Excel那样编辑不规则的表格。 提供了丰富的报表对象帮助您组合成任意复杂的报表样式。 采用“即点即输”的方式进行报表对象的文本编辑。 每一个报表对象都可以使用属性编辑器对其属性进行编辑(支持批量属性修改)。 支持复杂多层表头的快速设计。 支持无限级带区的快速设计。 支持单元格内的斜线排列功能。   支持行横向和纵向的窗口冻结。 使用折页器实现分栏分段 支持超文本的分页显示 支持复杂的图表功能 支持图片数据的动态加载 支持横向数据表格(记录横行动态扩展,自动分页)。 支持数据录入功能(可以下拉选择录入项)。 在套打设计时,提供辅助图底纹,可以帮助开发人员方便准确地定位报表对象。 可以在加载数据的状态下进行报表文档编辑的工作,使开发工作非常直观。 支持公制、英制、和屏幕三种单位制。 填报方式 无需预先定义数据集,通过直接对虚拟数据集操作(简单的增删和赋值操作)或从XML数据源中加载数据即可实现内容的填报。 可以在录入模式由用户通过用户界面UI输入数据至虚拟数据集中,从而实现数据的采集。 将报表对象与数据“绑定”,当加载数据或数据发生变化时,将会直接在报表页面上体现出来。 数据加载 以XML作为报表文档的存储格式。   可以通过报表设计器编辑静态的报表文档,也可以使用API编程接口动态地传入描述报表文档的XML字符串或者URL地址。 以XML作为数据交换的标准格式。可以传入符合XML格式的字符串或者URL地址实现数据的加载。 当从XML数据源中加载数据时可以采用多线程的方式(可选),在数据量较大的情况下的可以实现边加载边浏览
作为Microsoft 32位平台的应用程序编程接口,Win32 API是从事Windows应用程序开发所必备的。本书首先对Win32 API函数做完整的概述;然后收录五大类函数:窗口管理、图形设备接口、系统服务、国际特性以及网络服务;在附录部分,讲解如何在Visual Basic和Delphi中对其调用。 本书是从事Windows应用程序开发的软件工程师的必备参考手册。 Win32 API作为 Microsoft 32位平台(包括:Windows 9x,Windows NT3.1/4.0/5.0,WindowsCE)的应用程序编程接口,它是构筑所有32位Windows平台的基石,所有在Windows平台上运行的应用程序都可以调用这些函数。 从事Windows应用程序开发,离不开对Win32 API函数的调用。只有充分理解和利用API函数,才能深入到Windows的内部,充分挖掘系统提供的强大功能和灵活性。 近年来,随着Microsoft 32位平台的版本升级, Win32 API函数的构成、功能与调用方式都有很大的发展变化,然而,国内很少有相关的新版资料出版。为了满足广大开发人员的迫切需求,我们经过认真收集、整理素材,组织编写了这本与各种Microsoft 32位平台最新版本同步的Win32 API参考手册。 全书收录了五大类函数:窗口管理、图形设备接口、系统服务、国际特性以及网络服务。所有函数均附有功能说明、参数说明、返回值说明、备注以及引用说明。另外,在本书的第一章,我们对WiN32 API函数作了完整的概述;在附录部分,讲解了如何在Visual Basic和Delphi中对其调用。 由于篇幅较大,涉及技术内容广泛,加之时间仓促,书中难免存在不少错误或疏漏,希望广大读者给与批评指正。 在Windows程序设计领域处于发展初期时,Windows程序员可使用的编程工具唯有API函数。这些函数在程序员手中犹如"积木块"一样,可搭建出各种界面丰富、功能灵活的应用程序。不过,由于这些函数结构复杂,所以往往难以理解,而且容易误用。 随着软件技术的不断发展,在Windows平台上出现了很多优秀的可视化编程环境,程序员可以采用"所见即所得"的编程方式来开发具有精美用户界面和功能的应用程序。这些可视化编程环境操作简便、界面友好,比如:Visual C++,Delphi,Visual Basic等等。在这些工具中提供了大量的类库和各种控件,它们替代了API的神秘功能。事实上,这些类库和控件都是构筑在Windows API的基础上的,但它们使用方便,加速了Windows应用程序的开发,所以受到程序员的普遍采用。有了这些类库和控件,程序员们便可以把主要精力放在整体功能的设计上,而不必过于关注具体细节。不过,这也导致了非常多的程序员在类库面前"固步自封",对下层API函数的强大功能一无所知。 实际上。程序员要想开发出更灵活、更实用、更具效率的应用程序,必然要涉及到直接使用API函数。虽然类库和控件使应用程序的开发容易得多,但它们只提供Microsoft Windows的一般功能,对于一些比较复杂和特殊的功能来说,单使用类库和控件是难以实现的,必须直接使用API函数来编写。API函数是构筑整个Windows框架的基石,只有充分理解和利用API函数,才能深入到Windows的内部,充分发挥各种32位平台的强大功能和灵活性,才能成功地扩展和突破类库、控件和可视开发环境的限制。 Win32 API即为Microsoft 32位平台的应用程序编程接口(Application Programming Interface)。所有在Win32平台上运行的应用程序都可以调用这些函数。 使用Win32 API,应用程序可以充分挖掘Windows的32位操作系统的潜力。 Mircrosoft的所有32位平台都支持统一的API,包括函数、结构、消息、宏及接口。使用 Win32 API不但可以开发出在各种平台上都能成功运行的应用程序,而且也可以充分利用每个平台特有的功能和属性。 在具体编程时,程序实现方式的差异依赖于相应平台的底层功能的不同。最显著的差异是某些函数只能在更强大的平台上实现功能。例如,安全函数只能在Windows NT操作系统下使用。另外一些主要差别就是系统限制,比如值的范围约束,或函数可管理的项目个数等等。 标准Win32 API函数可以分为以下几类: 窗口管理 窗口通用控制 Shell特性 图形设备接口 系统服务 国际特性 网络服务 在下面各节中,我们分别介绍这7种类型的API函数。 窗口管理函数向应用程序提供了一些创建和管理用户界面的方法。你可以使用窗口管理函数创建和使用窗口来显示输出、提示用户进行输入以及

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧