Welcome 微信登录

首页 / 软件开发 / Delphi

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

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

第八章-对象链接与嵌入(一)(3)2007-05-078.3.2.2 初始化OLE包容器部件 为了使OLE包容器部件包含OLE对象,必须对部件进行初始化。 初始化主要是定义部件的OLE类。如果定义了OLE文件和OLE项目,初始化完成后,OLE 应用程序部件将包含OLE对象。调用InsertOLEObjetDlg函数可在其参数PInitInfo获得关于OLE对象初始化的信息时,把它传递给OLE包容器部件的PInitInfo属性,OLE包容部件的ObjClas...
第八章-对象链接与嵌入(一)(4)

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

第八章-对象链接与嵌入(一)(4)2007-05-078.3.4.2 在剪贴板中使用OLE对象 要把OLE对象粘贴到OLE应用程序中,必须用Windows的 RegisterClipboardFormat函数为链连对象、嵌入对象注册两种新的剪贴板格式。这些格式将在BOLEFormat记录的fmtIdt域中被用到。本章例程中, 程序在OnCreate事件中注册OLE对象的剪贴板格式,以下代码是主窗体的OnCreate事件: procedure TOLEF...
第八章-对象链接与嵌入(二)(1)

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

第八章-对象链接与嵌入(二)(1)2007-05-078.3.5.2 在应用程序中释放OLE对象 当一个对象释放到一个窗体,该窗体发生OnDragDrop 事件。该对象定义为TDragDropEvent方法中的Source参数,而TDragDropEvent 方法是用来处理OnDragDrop事件”。 如果Source 是一个OLE 对象, 那么它是TOLEDropNotify 对象的派生类型。 TOLEDropNotify对象有一个与OLE包...
第八章-对象链接与嵌入(二)(2)

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

第八章-对象链接与嵌入(二)(2)2007-05-07 8.4 OLE自动化 OLE自动化是Windows应用程序操纵另一个程序的一种机制。OLE 2.0提供了一种方法来集成应用程序,这就是应用程序之间的命令操作。利用OLE 2.0,程序员可以定义一组命令,使它们进入到其它程序中。这些命令可带参数。看起来很象应用程序在调用函数或过程一样。采用上述办法, 可以在人不参与的情况下,就能使得两个应用程序的相互作用。被自动化的程序称作自动化对象或自动化服务器, 操...
第八章-对象链接与嵌入(二)(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);{...
<< 71 72 73 74 75 76 77 78 79 80 >>