Welcome 微信登录

首页 / 软件开发 / Delphi

第八章-对象链接与嵌入(二)(3)

第八章-对象链接与嵌入(二)(3)

第八章-对象链接与嵌入(二)(3)2007-05-078.4.2 创建OLE自动化服务器 OLE自动化服务器是应用程序或动态链接库(DLL),它可向OLE 自动化控制器输出OLE对象。 MemoEditdpr 就是OLE 自动化服务器, 在MemoAuto 单元中注册了MemoEdit.Appdication自动化类,所有OLE控制器均可对MemoEdit.Application进行引用。在Windows环境下有两种OLE自动化服务器,进程内服务器和进程外...
第八章-对象链接与嵌入(二)(4)

第八章-对象链接与嵌入(二)(4)

第八章-对象链接与嵌入(二)(4)2007-05-078.4.3 自动化另一程序 每个服务器在系统注册中有一个叫ProgID的关键定,主要用以控制器辨识服务器。任何控制器可以用ProgID号来创建OLE对象实例。例程AutoForm是控制器程序,它在其主窗体创建了OLE对象实例。 procedure TMainForm.FormCreate(Sender : TObject);begintryMemoEdit := CreateOleObject("Mem...
第七章-剪贴板和动态数据交换(一)(1)

第七章-剪贴板和动态数据交换(一)(1)

第七章-剪贴板和动态数据交换(一)(1)2007-05-07应用程序间的数据交换是象Windows这样的多任务环境的重要特性。作为一种基于Windows的开发工具,Delphi支持如下四种数据交换方式:剪贴板、动态数据交换(DDE)、对象联接与嵌入(OLE)以及动态联接库(DLLs)。这中间前三种方式最为常用,OLE功能最为强大,DDE次之。而剪贴板使用最为方便。在本章,我们只讨论剪贴板和动态数据交换。利用OLE实现数据交换见下一章,利用动态联接库(DLL...
第七章-剪贴板和动态数据交换(一)(2)

第七章-剪贴板和动态数据交换(一)(2)

第七章-剪贴板和动态数据交换(一)(2)2007-05-07 表 7.3 TClipboard的方法━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━方 法 参 数 意 义─────────────────────────────────────Clear 无 清除剪贴板的内容Assign Source:TPersistent 把Source参数指定的对象拷贝到剪贴板,常用于图形、图像对象Open 无打开剪贴板,阻止其它应用程序改变...
第七章-剪贴板和动态数据交换(一)(4)

第七章-剪贴板和动态数据交换(一)(4)

第七章-剪贴板和动态数据交换(一)(4)2007-05-07为解决这些问题,我开发了下面的程序。程序启动时,以极小化方式运行。此时只要剪贴板中存入位图,则自动弹出一个对话框请求用户保存。如果用户希望查看确认,则可以双击运行程序图标,选择相应按钮,剪贴板中的位图就会显示在屏幕上。部件关键属性设计如下: ClipSaveForm:Caption=‘Save Bitmap in Clipboard "Panel1:Align = " Top "Ima...
第七章-剪贴板和动态数据交换(一)(6)

第七章-剪贴板和动态数据交换(一)(6)

第七章-剪贴板和动态数据交换(一)(6)2007-05-077.3.2 和DDE服务器建立联系 和DDE服务器建立联系,既可以在设计时进行,也可以在运行时进行。 在设计时,DDE联接可以通过剪贴板进行粘贴。具体步骤如下:1. 激活服务器程序,并选中你的客户程序欲联接的数据;2. 把数据和DDE联接信息拷贝到剪贴板上。一般说来这只需要选择服务器应用程序的 Edit|Copy 菜单;3. 在Delphi IDE的设计窗体中选中DDEClientConv部件;...
第七章-剪贴板和动态数据交换(二)(1)

第七章-剪贴板和动态数据交换(二)(1)

第七章-剪贴板和动态数据交换(二)(1)2007-05-077.3.5 控制服务器应用程序的执行 客户程序控制服务器应用程序的一个方面是:必要的时候客户程序可以启动服务器程序,并装载会话主题。而客户程序控制服务器应用程序更重要的一点是向服务器发送服务器承认的宏命令,来完成对服务器应用程序的各种操作。服务器到底支持哪些宏命令,可参阅服务器应用程序文档。发送宏命令要使用DDEClientConv的两个方法 ExecuteMacro和ExecuteMacroLi...
第七章-剪贴板和动态数据交换(二)(2)

第七章-剪贴板和动态数据交换(二)(2)

第七章-剪贴板和动态数据交换(二)(2)2007-05-077.3.8 利用客户程序和Excel交换数据 下面我们建立一个DDE客户程序,并利用这一程序与Excel中的一个工作表交换数据。程序设计界面界面中包含一个DDE会话部件DDEClientConv1和DDE项目部件DDEClientItem1,用于建立和维护DDE联接;一个RadioGroup控件和其中的两个无线电按钮AutoRadio、ManualRadio,用于设置联接模式;一个GroupB...
第七章-剪贴板和动态数据交换(二)(3)

第七章-剪贴板和动态数据交换(二)(3)

第七章-剪贴板和动态数据交换(二)(3)2007-05-077.3.9 用客户程序控制程序管理器 下面的例子用客户程序向程序管理器发送命令,用于创建程序组、程序项以及删除程序组。 程序管理器提供了应用程序的DDE接口命令字符串,应用程序利用这些命令字符串可以实现以下的功能:1.创建程序组命令格式为:CreateGroup(程序组名[,程序组所在的路径]) 程序组不存在时进行创建;如程序组存在则按照指定的路径激活。2.删除程序组命令格式为:DeleteGro...
第七章-剪贴板和动态数据交换(二)(4)

第七章-剪贴板和动态数据交换(二)(4)

第七章-剪贴板和动态数据交换(二)(4)2007-05-077.4 DDE服务器程序的实现 DDE服务器程序响应DDE客户的请求,一般地它包含了客户程序希望获取的数据。 创建一个DDE服务器程序,必须要把一个DDEServerItem部件添加到窗体中。DDEServerItem的text或Lines属性包含了要联接的数据。一般地 DDEServerItem部件又和另一个文本控件相联系。当文本控件中的内容变化时则更新DDEServerItem 的text...
第六章-文件管理(一)(1)

第六章-文件管理(一)(1)

第六章-文件管理(一)(1)2007-05-076.1 文件类型和标准过程 Delphi同Object Pascal一样支持三种文件类型,即:文本文件、记录文件、无类型文件。 6.1.1文本文件 文本文件类型的变量用如下方法声明:varTextFileVar: Text ; 文本文件是以行为单位进行读、写操作的。由于每一行长度不一定相同,不能计算出给定行在文件中的确切位置,因而只能顺序地读写。而且文本文件只能单独为读或写而打开,在一个打开的文本文件上同时进...
第六章-文件管理(一)(2)

第六章-文件管理(一)(2)

第六章-文件管理(一)(2)2007-05-076.1.4.2 文件定位 Seek :把文件当前位置移到指定部分FilePos : 返回文件的当前位置Eoln : 返回行结束标志EOF : 返回文件结束标志FileSeek : 改变当前文件指针的位置Seek与FileSeek的区别是:1. Seek仅用于记录文件;2. FileSeek的参数是文件句柄、偏移量、起始位置。其中起始位置有文件首、当前位置、文件尾三种选择。Seek的参数是文件变量、偏移量,偏移...
第六章-文件管理(一)(3)

第六章-文件管理(一)(3)

第六章-文件管理(一)(3)2007-05-076.2 记录文件的应用 6.2.1 任务介绍 在这一节,我们开发一个系统安全性综合评估方法管理系统。系统安全性在复杂项目开发中十分重要,但由于牵涉面广因而很难获得客观、全面的评估值。鉴于此我们提出多角度、多侧面评估而后定量集成的思路,并在此基础上提出了多种安全性综合评估方法。每种方法由不同部门进行评估而后把结果汇总、综合。为此我们定义如下的记录类型: typeTNature = (Micro,Macro);{...
第六章-文件管理(二)(2)

第六章-文件管理(二)(2)

第六章-文件管理(二)(2)2007-05-076.2.8 结果综合 对不同方法的评估结果,可按一定的公式进行综合。当用户按下“计算”按钮时,系统进行计算并把综合结果写入HazAttr只读编辑框中。为保证结果显示的正确性,每次增加、修改、删除操作确认后HazAttr编辑框清空。 6.2.9 编辑对话框的输入检查 当用户单击“增加”或“修改”按钮时系统将弹出一个编辑对话框,让用户输入或修...
第六章-文件管理(二)(3)

第六章-文件管理(二)(3)

第六章-文件管理(二)(3)2007-05-076.3.2 文件名浏览查找系统的设计思路 作为文件控件的应用实例,我们开发了一个简单的文件名浏览查找系统。这个系统可用于文件名的显示,把选中的文件写入列表框,并能按文件编辑框中输入的通配符对文件进行查找。表6.5 部件的设计━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━部件 属性 功能─────────────────────────────────────FileCtrForm ...
<< 1 2 3 4 5 6 7 8 9 10 >>