信息化 频道

<连载>Protel二次开发从入门到精通

第五章Spread服务器API
  1. 前言

Spread服务器是一个电子设计自动化(EDA)服务器,此服务器把EXCEL电子表格软件功能拿到了设计资源管理器99环境中,Spread能被使用来准备一个项目预算,来编辑印制板网络列表或来创建一个物料清单(BOM),任何用户请求的电子表格处理软件任务都能被在Spread中执行。

Spread能被作为一个单独的电子表格处理编辑器来使用,兼容EXCEL 5.0,有读写EXCEL 5.0文件的能力,然而Spread也允许用户在不离开设计资源管理器环境下打开一个工作图表,因而,此工作与原理图和印制板设计可以是并行的。

当使用在通常的方式下时,数据能被记录在标准的列表表格中,格式、字体、公式、颜色和边框能被应用,单元能被存储,并且工作图表能被打印,然而,工作图表数据也能被通过使用一个宏或用户的动态连接库(DLL)来记录,这样,可平滑并无缝地在多种多样的EDA服务器之间传送数据,DLL能提取原理图元件信息,信息包括元件和库字段,可格式化数据并按任何预先设定的风格加载到一个Spread工作图表中。

Spread包括许多唯一的特征:

·在工作图表中最多有四个不同的视图。

·从一个视图移动或复制数据到其它视图。

·不受限制的格式选项,字体、排列、边框、格调。

·最快的数据放置和公式计算。

·支持元文件图片对象。

·用户定义的行和列抬头。

·用户为参考单元定义的名称。

·10%-400%显示和打印范围。

·数据的图形显示。

Spread API函数请求一个文档的句柄,文档在设计资源管理器99中被打开,这样在此文档上,能执行某些操作。

使用Spread API有关注意事项。

当您想要使用一个特定常量或一个类时,您需要增加相应的单元到您的服务器工程代码的Uses子句中,例如,使用SetupApiCalls过程,您需要来增加SpAPI单元到Uses子句中,否则编译器将提示说找不到单元。

  2. Spread服务器初始化函数
  2.1 SetupApiCalls过程

声明(来自SpAPI单元):

Procedure SetupApiCalls;

描述:

当一个服务器调用SetupApiCalls过程时,此过程设置一个Spread API调用,接下来,此服务器Spread的功能就可以使用了。

  2.2 SpreadAPI_GetCurrentSpreadHandle函数

声明(来自SpAPI单元):

Function SpreadAPI_GetCurrentSpreadHandle : TSPHandle;

描述:

SpreadAPI_GetCurrentSpreadHandle函数返回一个当前在设计资源管理器99中打开的spread文档的句柄。

  2.3 SpreadAPI_GetSpreadHandleFromFileName函数

声明(来自SpAPI单元):

Function SpreadAPI_GetSpreadHandleFromFileName(FileName : String) : TSPHandle;

描述:

SpreadAPI_GetSpreadHandleFromFileName函数返回一个通过Filename参数表示的spread文档的句柄。

  3. Spread 编辑器函数
  3.1 SpreadAPI_AddPageBreak过程

声明(来自SpAPI单元):

Procedure SpreadAPI_AddPageBreak(Spread : TSPHandle; R,C : Integer);

描述:

SpreadAPI_AddPageBreak过程增加垂直和水平页中断接近到当前活动单元,行和列参数设置到活动单元。

3.2 SpreadAPI_AddSelection过程

声明(来自SpAPI单元):

Procedure SpreadAPI_AddSelection(Spread : TSPHandle; R1,C1,R2,C2 : Integer );

描述:

SpreadAPI_AddSelection过程增加一个新的选择到当前选择列表,Spread文档的句柄被随着定义的行/列矩阵的R1、C1、R2、C2 参数一起传递。

  3.3 SpreadAPI_CancelEditMode过程

声明(来自SpAPI单元):

Procedure SpreadAPI_CancelEditMode(Spread : TSPHandle);

描述:

SpreadAPI_CancelEditMode过程中止单元编辑并且退出编辑模式,不修改活动单元的内容。

参见其它:

SpreadAPI_StartEditMode函数

SpreadAPI_EndEditMode函数

  3.4 SpreadAPI_Clear过程

声明(来自SpAPI单元):

Procedure SpreadAPI_Clear(Spread : TSPHandle; R1,C1,R2,C2 : Integer; ClearType : Integer );

描述:

如果参数R1、C1、R2、C2值为-1,SpreadAPI_Clear过程清除在spread文档中所有选择单元的内容,否则一个指定范围被清除。“ClearType”参数显示指定清除的范围是什么,如果“ClearType”值是1,那么所有数据类型(“Values”, “Formats”和“Objects”)被清除,如果值是2,那么仅“Formats”类型被清除,如果值是3,那么仅“Values”类型(包括公式formulas)被清除,如果“ClearType”参数没有被指定,那么清除对话框将被显示出来。

  3.5 SpreadAPI_ClearClipboardContents过程

声明(来自SpAPI单元):

Procedure SpreadAPI_ClearClipboardContents(Spread : TSPHandle);

描述:

SpreadAPI_ClearClipboardContents过程清除剪贴板的内容。

  3.6 SpreadAPI_Copy过程

声明(来自SpAPI单元):

Procedure SpreadAPI_Copy(Spread : TSPHandle);

描述:

SpreadAPI_Copy过程复制一个spread文档中所有选择的单元内容到剪贴板。

参见其它:

SpreadAPI_CopyDown过程

SpreadAPI_CopyRight过程

 
0
相关文章