<连载>Protel二次开发从入门到精通
--正文篇——第七章第10节
1.类的定义
TNetFormatter = Class
Global Net List Options : TNetListOptions;//网络连线表选项对象。
Generated File Names : TStringList;//存储产生的文件列表。
Design : TDesign;//存放原理图的两个列表。
CurrentSheet : TSheet;//当前原理图。
UseXRef : TBoolean;
UseNodeNames : TBoolean;
PinListStyle : TPinListStyle; //元件的列表类型。
FileName : TString;//文件名称。
CurrentSheetName : TString; //当前原理图名称。
DesignName : TString;
NetFile : Text;
ProcessOrder : TProcessOrder;
ProcessStyle : TProcessStyle; //处理类型,有按组件和按网络两种类型。
AllowSingleNode : TBoolean;//是否允许单节点。
AllowZeroNode : TBoolean;//是否允许零节点。
AppendSheetNoToNets : TBoolean;
UseNetFile : TBoolean; //是否允许使用网络文件。
NetCount : TShortInt;
UnconnectedNetCount : TShortInt;
ShouldRemoveRedundentParts : TBoolean;
ShouldRemoveRedundentNetNames : TBoolean;
ShouldRemoveRedundentSheetSymbols : TBoolean;
GeneratedFilesCount : TShortInt;//产生的文件数量。
MaximumNetNameLength : Word;//最长的网络名称长度。
MaximumPinNumberLength : Word;//最长的引脚号码长度。
MaximumPinNameLength : Word;//最长的引脚名称长度。
MaximumDesignatorLength : Word;//最长的流水号长度。
MaximumPartTypeLength : Word; //最长的元件类型长度。
MaximumFootPrintLength : Word;//最长的封装形式长度。
ParameterList : PChar; //用户在定制服务器的进程时所输入的参数。
Constructor Create;
DestructorDestroy;
Function CurrentPartList : TListOptions;//元件列表
Function CurrentPortList : TListOptions;//端口列表。
Function CurrentSheetSymbolList : TListOptions;//图表符号列表。
Function CurrentNetList : TListOptions; //当前的网络列表。
Function CurrentTextFrameList : TListOptions;//得到当前文本框列表。
Function CurrentBusNameList : TListOptions;//得到当前BUS列表。
Function GetState_NetFileExtension : TString; Virtual ;//得到连线表的扩展名称。
Procedure OpenFile(Var F : Text; S : TString);
//把要产生的文件名称插入到GeneratedFileNames列表中,并在DDB数据库中或硬盘上创建产生的文件。
Procedure OpenNetFile; Virtual ;//打开网络连线表文件。
Procedure CloseNetFile; Virtual ; //关闭网络连线表文件。
Procedure SetState_AllowSingleNode; //设定允许单节点。
Procedure SetState_DontAllowSingleNode;//设定不允许单节点。
Procedure SetState_AllowZeroNode; //设定允许零节点。
Procedure SetState_DontAllowZeroNode;//对一个TNetFormatter类实例对象不允许零节点。
Procedure SetState_UseNetFile;//设置使用网络文件。
Procedure SetState_DontUseNetFile;//设置不使用网络文件。
Procedure SetState_ProcessNetsFirst;//网络先处理。
Procedure SetState_ProcessByNet; //设置按网络处理。
Procedure SetState_ProcessByComponent;//组件先处理。
Procedure SetState_ProcessComponentsFirst;//对TNetFormatter类的实例对象设置处理次序来先处理组件。
Function RunSetupOptions : TBoolean; Virtual ;//运行设置选项。
Procedure WriteComponentListHeader; Virtual ; //写组件列表标题。
Procedure WriteComponentListTrailer; Virtual ;//写组件列表结尾。
Procedure WriteComponent (Part : TPart); Virtual ;//把元件对象的属性写出文件。
Procedure WriteSheetSymbol (SheetSymbol: TSheetSymbol ); Virtual ; //写图表符号。
Procedure WriteNetNames (Net : TNet ); Virtual ;
Procedure WriteNetListHeader;Virtual ; //写网络列表标题,没有具体实现功能,您可以增加功能。
Procedure WriteNetListTrailer; Virtual ; //写网络列表结尾,没有具体实现功能,您可以增加功能。
Procedure WriteFileHeader; Virtual ;//输出文件标题。
Procedure WriteFileTrailer; Virtual ;//输出文件结尾。
Procedure WriteSheetHeader (IndentLevel : TShortInt); Virtual ;//写图表标题。
Procedure WriteSheetTrailer(IndentLevel : TShortInt); Virtual ;//一个图表处理完成后,写结尾。
Procedure WriteAllComponents; Virtual ; //把元件的引脚和图表符号写到文件。
Function GetState_PinArray (Part : TPart) : TListOptions; Virtual;
//得到TNetFormatter类实例对象的引脚数组。
Procedure WriteToStatucBar (S : TString); //写信息到状态条。
Procedure WriteNodesByComponent; Virtual ; //按组件写节点。
Procedure WritePin (Pin : TPin ); Virtual ;//写其它引脚。
Procedure WriteLastPin (Pin : TPin ); Virtual ;//写最后一个引脚。
Procedure WriteStartComponent(Part : TPart); Virtual ;//写组件的开始信息。
Procedure WriteEndComponent (Part : TPart); Virtual ; //写组件的结束信息。
Procedure WriteStartNet (Net : TNet ); Virtual ;
Procedure WriteEndNet (Net : TNet ); Virtual ;
Procedure WriteNet (Net : TNet ); Virtual ;//输出网络到文件。
Procedure WriteAllNets; Virtual ;//写所有的网络到文件。
Function IsHierarchical : TBoolean; Virtual ;
//判断输出是否是Hierarchical格式,此类被子孙类PProtel_H重载。
Procedure RunFlat; Virtual ;//输出Flat格式文件。
Procedure RunHierarchical; Virtual ;//输出Hierarchical格式文件。
Procedure BuildFileNamesArrayToBeGenerated (Parameters : PChar);
//从用户在参数中输入的参数块中检索文件名称,并增加到列表GeneratedFileNames中,形成产生的文件名称列表。
Procedure RebuildParametersFromFileNamesArray(Parameters : PChar); //从文件名称数组重构参数。
Procedure LoadGeneratedFiles (ABinder : TObjectHandle);//加载文件。
Function GetDisplayName (DDBFileName : TString) : TString;//得到显示名称。
Function SetNetListOptionsForSchematic (GlobalNetListOptions : TNetListOptions) : TInitializeDataStructure;
//把网络选项对象即TNetListOptions类的实例对象中的数据设置到记录Flags。
Procedure Run (NetListOptions : TNetListOptions; Parameters : PChar); Virtual; //建立网络列表,服务器的核心过程。
End;
本文为e-works原创投稿文章,未经e-works书面许可,任何人不得复制、转载、摘编等任何方式进行使用。如已是e-works授权合作伙伴,应在授权范围内使用。e-works内容合作伙伴申请热线:editor@e-works.net.cn tel:027-87592219/20/21。
- 上一篇文章:<连载>Protel二次开发从入门到精通
- 下一篇文章:EDA工具最好理念:端到端流程优化
