Compare commits
3 Commits
b7a7b983b3
...
16452c8362
| Author | SHA1 | Date |
|---|---|---|
|
|
16452c8362 | |
|
|
9062457251 | |
|
|
7a65e50157 |
79
README.md
79
README.md
|
|
@ -146,6 +146,85 @@ ppr1.Jc.Val; // 得到"left"
|
|||
ppr1.WordWrap.Val; // ppr1不存在wordWrap,但是ppr2存在wordWrap,所以回落到ppr2的wordWrap获取到"1"
|
||||
```
|
||||
|
||||
### Copy
|
||||
|
||||
`copy`方法支持将其他的类属性和子节点的属性复制过来,注意:复数的类无法进行复制,因为不确定怎么进行复制
|
||||
|
||||
```xml
|
||||
// pPr1
|
||||
<w:pPr>
|
||||
<w:jc w:val="left" />
|
||||
<w:spacing w:after="160" />
|
||||
</w:pPr>
|
||||
|
||||
// pPr2
|
||||
<w:pPr>
|
||||
<w:jc w:val="right" />
|
||||
<w:wordWrap w:val="1" />
|
||||
</w:pPr>
|
||||
```
|
||||
|
||||
```go
|
||||
// 假设要将ppr2的属性复制到ppr1
|
||||
ppr1.Copy(ppr2);
|
||||
```
|
||||
|
||||
```xml
|
||||
// 复制完毕后ppr1 xml如下
|
||||
// 因为ppr2没有w:spacing,所以保留ppr1的w:spacing
|
||||
<w:pPr>
|
||||
<w:jc w:val="right" />
|
||||
<w:wordWrap w:val="1" />
|
||||
<w:spacing w:after="160" />
|
||||
</w:pPr>
|
||||
```
|
||||
|
||||
```xml
|
||||
// 这样是不能复制的,w:r是复数
|
||||
<w:p>
|
||||
<w:r w:rsidR="00CC4888">
|
||||
<w:t>test</w:t>
|
||||
</w:r>
|
||||
<w:r w:rsidR="00CD1015">
|
||||
<w:rPr>
|
||||
<w:rFonts w:hint="eastAsia"/>
|
||||
</w:rPr>
|
||||
<w:t>第</w:t>
|
||||
</w:r>
|
||||
</w:p>
|
||||
|
||||
获取r并不是p.r进行获取,而是p.Rs();
|
||||
```
|
||||
|
||||
### Clone
|
||||
|
||||
`Clone`方法是克隆出一个一样的对象出来,但是`Parent`是`nil`
|
||||
|
||||
```xml
|
||||
<w:p>
|
||||
<w:pPr>
|
||||
<w:jc w:val="right" />
|
||||
<w:wordWrap w:val="1" />
|
||||
<w:spacing w:after="160" />
|
||||
</w:pPr>
|
||||
<w:r w:rsidR="00CC4888">
|
||||
<w:t>test</w:t>
|
||||
</w:r>
|
||||
<w:r w:rsidR="00CD1015">
|
||||
<w:rPr>
|
||||
<w:rFonts w:hint="eastAsia"/>
|
||||
</w:rPr>
|
||||
<w:t>第</w:t>
|
||||
</w:r>
|
||||
</w:p>
|
||||
```
|
||||
|
||||
```go
|
||||
new_p := p.Clone(); // 与p的xml一致
|
||||
echo new_p.Parent; // nil
|
||||
document.InsertAfter(new_p, p); // 插入一样的段落在p之后,此时会自动设置new_p.Parent := document
|
||||
```
|
||||
|
||||
## Unit 单元
|
||||
|
||||
- `DocxML`包含 `docx`文件独有的 xml 节点对象,一般 xml 的命名空间是 `w`,如 `w:p`
|
||||
|
|
|
|||
9699
autounit/DocxML.tsf
9699
autounit/DocxML.tsf
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
10127
autounit/DrawingML.tsf
10127
autounit/DrawingML.tsf
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -8,23 +8,25 @@ public
|
|||
function Create(_parent: tslobj; _prefix: string; _local_name: string);overload;
|
||||
function Init();override;
|
||||
function Copy(_obj: SldLayoutId);override;
|
||||
function ConvertToPoint();override;
|
||||
|
||||
public
|
||||
// attributes property
|
||||
property Id read ReadXmlAttrId write WriteXmlAttrId;
|
||||
property Id read ReadXmlAttrId write WriteXmlAttrId;
|
||||
property Id read ReadXmlAttrId write WriteXmlAttrId;
|
||||
function ReadXmlAttrId();
|
||||
function WriteXmlAttrId(_value);
|
||||
function ReadXmlAttrId();
|
||||
function WriteXmlAttrId(_value);
|
||||
function ReadXmlAttrId();
|
||||
function WriteXmlAttrId(_value);
|
||||
property IdN read ReadXmlAttrIdN write WriteXmlAttrIdN;
|
||||
property RId read ReadXmlAttrRId write WriteXmlAttrRId;
|
||||
function ReadXmlAttrId(_ns: string);
|
||||
function WriteXmlAttrId(_p1: any; _p2: any);
|
||||
function ReadXmlAttrIdN();
|
||||
function WriteXmlAttrIdN(_value: any);
|
||||
function ReadXmlAttrRId();
|
||||
function WriteXmlAttrRId(_value: any);
|
||||
|
||||
public
|
||||
// Attributes
|
||||
XmlAttrId: OpenXmlAttribute;
|
||||
XmlAttrId: OpenXmlAttribute;
|
||||
XmlAttrId: OpenXmlAttribute;
|
||||
XmlAttrIdN: OpenXmlAttribute;
|
||||
XmlAttrRId: OpenXmlAttribute;
|
||||
|
||||
end;
|
||||
|
||||
|
|
@ -37,13 +39,13 @@ end;
|
|||
|
||||
function SldLayoutId.Create(_node: XmlNode);overload;
|
||||
begin
|
||||
class(OpenXmlCompositeElement).Create(_node: XmlNode);
|
||||
inherited Create(_node);
|
||||
end;
|
||||
|
||||
function SldLayoutId.Create(_parent: tslobj; _prefix: string; _local_name: string);overload;
|
||||
begin
|
||||
setsysparam(pn_calcctrlword(), getsysparam(pn_calcctrlword()) .| 0x200);
|
||||
class(OpenXmlCompositeElement).Create(_parent, _prefix, _local_name);
|
||||
inherited Create(_parent, _prefix, _local_name);
|
||||
end;
|
||||
|
||||
function SldLayoutId.Init();override;
|
||||
|
|
@ -52,8 +54,8 @@ begin
|
|||
attributes_ := array();
|
||||
attributes_pf_ := array(
|
||||
pre + "id": makeweakref(thisFunction(WriteXmlAttrId)),
|
||||
"id": makeweakref(thisFunction(WriteXmlAttrId)),
|
||||
"r:id": makeweakref(thisFunction(WriteXmlAttrId)),
|
||||
"id": makeweakref(thisFunction(WriteXmlAttrIdN)),
|
||||
"r:id": makeweakref(thisFunction(WriteXmlAttrRId)),
|
||||
);
|
||||
sorted_child_ := array(
|
||||
);
|
||||
|
|
@ -67,56 +69,72 @@ begin
|
|||
class(OpenXmlCompositeElement).Copy(_obj);
|
||||
if not ifnil(_obj.Id) then
|
||||
{self.}Id := _obj.Id;
|
||||
if not ifnil(_obj.Id) then
|
||||
{self.}Id := _obj.Id;
|
||||
if not ifnil(_obj.Id) then
|
||||
{self.}Id := _obj.Id;
|
||||
if not ifnil(_obj.IdN) then
|
||||
{self.}IdN := _obj.IdN;
|
||||
if not ifnil(_obj.RId) then
|
||||
{self.}RId := _obj.RId;
|
||||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function SldLayoutId.ReadXmlAttrId();
|
||||
function SldLayoutId.ConvertToPoint();override;
|
||||
begin
|
||||
return {self.}XmlAttrId.Value;
|
||||
|
||||
end;
|
||||
|
||||
function SldLayoutId.WriteXmlAttrId(_value);
|
||||
function SldLayoutId.ReadXmlAttrId(_ns: string);
|
||||
begin
|
||||
if _ns = "" then
|
||||
return {self.}ReadXmlAttrIdN();
|
||||
if _ns = "r" then
|
||||
return {self.}ReadXmlAttrRId();
|
||||
return ifnil({self.}XmlAttrId.Value) ? fallback_.XmlAttrId.Value : {self.}XmlAttrId.Value;
|
||||
end;
|
||||
|
||||
function SldLayoutId.WriteXmlAttrId(_p1: any; _p2: any);
|
||||
begin
|
||||
if realparamcount = 2 then
|
||||
begin
|
||||
if _p1 = "" then
|
||||
return {self.}WriteXmlAttrIdN(_p2);
|
||||
if _p1 = "r" then
|
||||
return {self.}WriteXmlAttrRId(_p2);
|
||||
end
|
||||
if ifnil({self.}XmlAttrId) then
|
||||
begin
|
||||
{self.}XmlAttrId := new OpenXmlAttribute({self.}Prefix, "id", nil);
|
||||
attributes_[length(attributes_)] := {self.}XmlAttrId;
|
||||
attributes_[{self.}Prefix ? {self.}Prefix + ":" + "id" : "id"] := {self.}XmlAttrId;
|
||||
end
|
||||
{self.}XmlAttrId.Value := _value;
|
||||
{self.}XmlAttrId.Value := realparamcount = 1 ? _p1 : _p2;
|
||||
end;
|
||||
|
||||
function SldLayoutId.ReadXmlAttrId();
|
||||
function SldLayoutId.ReadXmlAttrIdN();
|
||||
begin
|
||||
return {self.}XmlAttrId.Value;
|
||||
return ifnil({self.}XmlAttrIdN.Value) ? fallback_.XmlAttrIdN.Value : {self.}XmlAttrIdN.Value;
|
||||
end;
|
||||
|
||||
function SldLayoutId.WriteXmlAttrId(_value);
|
||||
function SldLayoutId.WriteXmlAttrIdN(_value: any);
|
||||
begin
|
||||
if ifnil({self.}XmlAttrId) then
|
||||
if ifnil({self.}XmlAttrIdN) then
|
||||
begin
|
||||
{self.}XmlAttrId := new OpenXmlAttribute("", "id", nil);
|
||||
attributes_[length(attributes_)] := {self.}XmlAttrId;
|
||||
{self.}XmlAttrIdN := new OpenXmlAttribute("", "id", nil);
|
||||
attributes_["id"] := {self.}XmlAttrIdN;
|
||||
end
|
||||
{self.}XmlAttrId.Value := _value;
|
||||
{self.}XmlAttrIdN.Value := _value;
|
||||
end;
|
||||
|
||||
function SldLayoutId.ReadXmlAttrId();
|
||||
function SldLayoutId.ReadXmlAttrRId();
|
||||
begin
|
||||
return {self.}XmlAttrId.Value;
|
||||
return ifnil({self.}XmlAttrRId.Value) ? fallback_.XmlAttrRId.Value : {self.}XmlAttrRId.Value;
|
||||
end;
|
||||
|
||||
function SldLayoutId.WriteXmlAttrId(_value);
|
||||
function SldLayoutId.WriteXmlAttrRId(_value: any);
|
||||
begin
|
||||
if ifnil({self.}XmlAttrId) then
|
||||
if ifnil({self.}XmlAttrRId) then
|
||||
begin
|
||||
{self.}XmlAttrId := new OpenXmlAttribute("r", "id", nil);
|
||||
attributes_[length(attributes_)] := {self.}XmlAttrId;
|
||||
{self.}XmlAttrRId := new OpenXmlAttribute("r", "id", nil);
|
||||
attributes_["r:id"] := {self.}XmlAttrRId;
|
||||
end
|
||||
{self.}XmlAttrId.Value := _value;
|
||||
{self.}XmlAttrRId.Value := _value;
|
||||
end;
|
||||
|
||||
end.
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -4,7 +4,7 @@ uses SharedML, TSSafeUnitConverter;
|
|||
|
||||
type MathPrUnitDecorator = class(MathPr)
|
||||
public
|
||||
function Create(_obj: MathPr);
|
||||
function create(_obj: MathPr);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -13,7 +13,7 @@ end;
|
|||
|
||||
type OMathParaUnitDecorator = class(OMathPara)
|
||||
public
|
||||
function Create(_obj: OMathPara);
|
||||
function create(_obj: OMathPara);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -22,7 +22,7 @@ end;
|
|||
|
||||
type OMathParaPrUnitDecorator = class(OMathParaPr)
|
||||
public
|
||||
function Create(_obj: OMathParaPr);
|
||||
function create(_obj: OMathParaPr);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -31,7 +31,7 @@ end;
|
|||
|
||||
type PureMValUnitDecorator = class(PureMVal)
|
||||
public
|
||||
function Create(_obj: PureMVal);
|
||||
function create(_obj: PureMVal);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -40,7 +40,7 @@ end;
|
|||
|
||||
type OMathUnitDecorator = class(OMath)
|
||||
public
|
||||
function Create(_obj: OMath);
|
||||
function create(_obj: OMath);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -49,7 +49,7 @@ end;
|
|||
|
||||
type RUnitDecorator = class(R)
|
||||
public
|
||||
function Create(_obj: R);
|
||||
function create(_obj: R);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -58,7 +58,7 @@ end;
|
|||
|
||||
type RPrUnitDecorator = class(RPr)
|
||||
public
|
||||
function Create(_obj: RPr);
|
||||
function create(_obj: RPr);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -67,7 +67,7 @@ end;
|
|||
|
||||
type TUnitDecorator = class(T)
|
||||
public
|
||||
function Create(_obj: T);
|
||||
function create(_obj: T);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -76,7 +76,7 @@ end;
|
|||
|
||||
type DUnitDecorator = class(D)
|
||||
public
|
||||
function Create(_obj: D);
|
||||
function create(_obj: D);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -85,7 +85,7 @@ end;
|
|||
|
||||
type DPrUnitDecorator = class(DPr)
|
||||
public
|
||||
function Create(_obj: DPr);
|
||||
function create(_obj: DPr);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -94,7 +94,7 @@ end;
|
|||
|
||||
type CtrlPrUnitDecorator = class(CtrlPr)
|
||||
public
|
||||
function Create(_obj: CtrlPr);
|
||||
function create(_obj: CtrlPr);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -103,7 +103,7 @@ end;
|
|||
|
||||
type SSupUnitDecorator = class(SSup)
|
||||
public
|
||||
function Create(_obj: SSup);
|
||||
function create(_obj: SSup);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -112,7 +112,7 @@ end;
|
|||
|
||||
type SSupPrUnitDecorator = class(SSupPr)
|
||||
public
|
||||
function Create(_obj: SSupPr);
|
||||
function create(_obj: SSupPr);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -121,7 +121,7 @@ end;
|
|||
|
||||
type FUnitDecorator = class(F)
|
||||
public
|
||||
function Create(_obj: F);
|
||||
function create(_obj: F);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -130,7 +130,7 @@ end;
|
|||
|
||||
type FPrUnitDecorator = class(FPr)
|
||||
public
|
||||
function Create(_obj: FPr);
|
||||
function create(_obj: FPr);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -139,7 +139,7 @@ end;
|
|||
|
||||
type RadUnitDecorator = class(Rad)
|
||||
public
|
||||
function Create(_obj: Rad);
|
||||
function create(_obj: Rad);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -148,7 +148,7 @@ end;
|
|||
|
||||
type RadPrUnitDecorator = class(RadPr)
|
||||
public
|
||||
function Create(_obj: RadPr);
|
||||
function create(_obj: RadPr);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -157,7 +157,7 @@ end;
|
|||
|
||||
type SSubUnitDecorator = class(SSub)
|
||||
public
|
||||
function Create(_obj: SSub);
|
||||
function create(_obj: SSub);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -166,7 +166,7 @@ end;
|
|||
|
||||
type SSubPrUnitDecorator = class(SSubPr)
|
||||
public
|
||||
function Create(_obj: SSubPr);
|
||||
function create(_obj: SSubPr);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -175,7 +175,7 @@ end;
|
|||
|
||||
type NaryUnitDecorator = class(Nary)
|
||||
public
|
||||
function Create(_obj: Nary);
|
||||
function create(_obj: Nary);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -184,7 +184,7 @@ end;
|
|||
|
||||
type NaryPrUnitDecorator = class(NaryPr)
|
||||
public
|
||||
function Create(_obj: NaryPr);
|
||||
function create(_obj: NaryPr);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -193,7 +193,7 @@ end;
|
|||
|
||||
type FuncUnitDecorator = class(Func)
|
||||
public
|
||||
function Create(_obj: Func);
|
||||
function create(_obj: Func);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -202,7 +202,7 @@ end;
|
|||
|
||||
type FNameUnitDecorator = class(FName)
|
||||
public
|
||||
function Create(_obj: FName);
|
||||
function create(_obj: FName);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -211,7 +211,7 @@ end;
|
|||
|
||||
type FuncPrUnitDecorator = class(FuncPr)
|
||||
public
|
||||
function Create(_obj: FuncPr);
|
||||
function create(_obj: FuncPr);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -220,7 +220,7 @@ end;
|
|||
|
||||
type CorePropertiesUnitDecorator = class(CoreProperties)
|
||||
public
|
||||
function Create(_obj: CoreProperties);
|
||||
function create(_obj: CoreProperties);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -229,7 +229,7 @@ end;
|
|||
|
||||
type CreatedUnitDecorator = class(Created)
|
||||
public
|
||||
function Create(_obj: Created);
|
||||
function create(_obj: Created);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -238,7 +238,7 @@ end;
|
|||
|
||||
type ModifiedUnitDecorator = class(Modified)
|
||||
public
|
||||
function Create(_obj: Modified);
|
||||
function create(_obj: Modified);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -247,7 +247,7 @@ end;
|
|||
|
||||
type RelationshipsUnitDecorator = class(Relationships)
|
||||
public
|
||||
function Create(_obj: Relationships);
|
||||
function create(_obj: Relationships);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -256,7 +256,7 @@ end;
|
|||
|
||||
type RelationshipUnitDecorator = class(Relationship)
|
||||
public
|
||||
function Create(_obj: Relationship);
|
||||
function create(_obj: Relationship);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -265,7 +265,7 @@ end;
|
|||
|
||||
type TypesUnitDecorator = class(Types)
|
||||
public
|
||||
function Create(_obj: Types);
|
||||
function create(_obj: Types);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -274,7 +274,7 @@ end;
|
|||
|
||||
type DefaultUnitDecorator = class(Default)
|
||||
public
|
||||
function Create(_obj: Default);
|
||||
function create(_obj: Default);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -283,7 +283,7 @@ end;
|
|||
|
||||
type _OverrideUnitDecorator = class(_Override)
|
||||
public
|
||||
function Create(_obj: _Override);
|
||||
function create(_obj: _Override);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -292,7 +292,7 @@ end;
|
|||
|
||||
type NumUnitDecorator = class(Num)
|
||||
public
|
||||
function Create(_obj: Num);
|
||||
function create(_obj: Num);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -301,7 +301,7 @@ end;
|
|||
|
||||
type DegUnitDecorator = class(Deg)
|
||||
public
|
||||
function Create(_obj: Deg);
|
||||
function create(_obj: Deg);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -310,7 +310,7 @@ end;
|
|||
|
||||
type EUnitDecorator = class(E)
|
||||
public
|
||||
function Create(_obj: E);
|
||||
function create(_obj: E);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -319,7 +319,7 @@ end;
|
|||
|
||||
type SupUnitDecorator = class(Sup)
|
||||
public
|
||||
function Create(_obj: Sup);
|
||||
function create(_obj: Sup);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -328,7 +328,7 @@ end;
|
|||
|
||||
type DenUnitDecorator = class(Den)
|
||||
public
|
||||
function Create(_obj: Den);
|
||||
function create(_obj: Den);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -337,7 +337,7 @@ end;
|
|||
|
||||
type SubUnitDecorator = class(Sub)
|
||||
public
|
||||
function Create(_obj: Sub);
|
||||
function create(_obj: Sub);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -346,9 +346,9 @@ end;
|
|||
|
||||
implementation
|
||||
|
||||
function MathPrUnitDecorator.Create(_obj: MathPr);
|
||||
function MathPrUnitDecorator.create(_obj: MathPr);
|
||||
begin
|
||||
class(MathPr).Create();
|
||||
class(MathPr).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -387,9 +387,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function OMathParaUnitDecorator.Create(_obj: OMathPara);
|
||||
function OMathParaUnitDecorator.create(_obj: OMathPara);
|
||||
begin
|
||||
class(OMathPara).Create();
|
||||
class(OMathPara).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -410,9 +410,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function OMathParaPrUnitDecorator.Create(_obj: OMathParaPr);
|
||||
function OMathParaPrUnitDecorator.create(_obj: OMathParaPr);
|
||||
begin
|
||||
class(OMathParaPr).Create();
|
||||
class(OMathParaPr).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -431,9 +431,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function PureMValUnitDecorator.Create(_obj: PureMVal);
|
||||
function PureMValUnitDecorator.create(_obj: PureMVal);
|
||||
begin
|
||||
class(PureMVal).Create();
|
||||
class(PureMVal).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -452,9 +452,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function OMathUnitDecorator.Create(_obj: OMath);
|
||||
function OMathUnitDecorator.create(_obj: OMath);
|
||||
begin
|
||||
class(OMath).Create();
|
||||
class(OMath).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -495,9 +495,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function RUnitDecorator.Create(_obj: R);
|
||||
function RUnitDecorator.create(_obj: R);
|
||||
begin
|
||||
class(R).Create();
|
||||
class(R).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -522,9 +522,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function RPrUnitDecorator.Create(_obj: RPr);
|
||||
function RPrUnitDecorator.create(_obj: RPr);
|
||||
begin
|
||||
class(RPr).Create();
|
||||
class(RPr).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -543,9 +543,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function TUnitDecorator.Create(_obj: T);
|
||||
function TUnitDecorator.create(_obj: T);
|
||||
begin
|
||||
class(T).Create();
|
||||
class(T).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -564,9 +564,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function DUnitDecorator.Create(_obj: D);
|
||||
function DUnitDecorator.create(_obj: D);
|
||||
begin
|
||||
class(D).Create();
|
||||
class(D).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -587,9 +587,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function DPrUnitDecorator.Create(_obj: DPr);
|
||||
function DPrUnitDecorator.create(_obj: DPr);
|
||||
begin
|
||||
class(DPr).Create();
|
||||
class(DPr).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -620,9 +620,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function CtrlPrUnitDecorator.Create(_obj: CtrlPr);
|
||||
function CtrlPrUnitDecorator.create(_obj: CtrlPr);
|
||||
begin
|
||||
class(CtrlPr).Create();
|
||||
class(CtrlPr).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -643,9 +643,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function SSupUnitDecorator.Create(_obj: SSup);
|
||||
function SSupUnitDecorator.create(_obj: SSup);
|
||||
begin
|
||||
class(SSup).Create();
|
||||
class(SSup).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -668,9 +668,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function SSupPrUnitDecorator.Create(_obj: SSupPr);
|
||||
function SSupPrUnitDecorator.create(_obj: SSupPr);
|
||||
begin
|
||||
class(SSupPr).Create();
|
||||
class(SSupPr).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -689,9 +689,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function FUnitDecorator.Create(_obj: F);
|
||||
function FUnitDecorator.create(_obj: F);
|
||||
begin
|
||||
class(F).Create();
|
||||
class(F).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -714,9 +714,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function FPrUnitDecorator.Create(_obj: FPr);
|
||||
function FPrUnitDecorator.create(_obj: FPr);
|
||||
begin
|
||||
class(FPr).Create();
|
||||
class(FPr).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -737,9 +737,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function RadUnitDecorator.Create(_obj: Rad);
|
||||
function RadUnitDecorator.create(_obj: Rad);
|
||||
begin
|
||||
class(Rad).Create();
|
||||
class(Rad).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -762,9 +762,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function RadPrUnitDecorator.Create(_obj: RadPr);
|
||||
function RadPrUnitDecorator.create(_obj: RadPr);
|
||||
begin
|
||||
class(RadPr).Create();
|
||||
class(RadPr).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -785,9 +785,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function SSubUnitDecorator.Create(_obj: SSub);
|
||||
function SSubUnitDecorator.create(_obj: SSub);
|
||||
begin
|
||||
class(SSub).Create();
|
||||
class(SSub).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -810,9 +810,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function SSubPrUnitDecorator.Create(_obj: SSubPr);
|
||||
function SSubPrUnitDecorator.create(_obj: SSubPr);
|
||||
begin
|
||||
class(SSubPr).Create();
|
||||
class(SSubPr).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -831,9 +831,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function NaryUnitDecorator.Create(_obj: Nary);
|
||||
function NaryUnitDecorator.create(_obj: Nary);
|
||||
begin
|
||||
class(Nary).Create();
|
||||
class(Nary).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -858,9 +858,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function NaryPrUnitDecorator.Create(_obj: NaryPr);
|
||||
function NaryPrUnitDecorator.create(_obj: NaryPr);
|
||||
begin
|
||||
class(NaryPr).Create();
|
||||
class(NaryPr).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -889,9 +889,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function FuncUnitDecorator.Create(_obj: Func);
|
||||
function FuncUnitDecorator.create(_obj: Func);
|
||||
begin
|
||||
class(Func).Create();
|
||||
class(Func).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -914,9 +914,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function FNameUnitDecorator.Create(_obj: FName);
|
||||
function FNameUnitDecorator.create(_obj: FName);
|
||||
begin
|
||||
class(FName).Create();
|
||||
class(FName).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -936,9 +936,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function FuncPrUnitDecorator.Create(_obj: FuncPr);
|
||||
function FuncPrUnitDecorator.create(_obj: FuncPr);
|
||||
begin
|
||||
class(FuncPr).Create();
|
||||
class(FuncPr).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -957,9 +957,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function CorePropertiesUnitDecorator.Create(_obj: CoreProperties);
|
||||
function CorePropertiesUnitDecorator.create(_obj: CoreProperties);
|
||||
begin
|
||||
class(CoreProperties).Create();
|
||||
class(CoreProperties).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -988,9 +988,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function CreatedUnitDecorator.Create(_obj: Created);
|
||||
function CreatedUnitDecorator.create(_obj: Created);
|
||||
begin
|
||||
class(Created).Create();
|
||||
class(Created).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -1009,9 +1009,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function ModifiedUnitDecorator.Create(_obj: Modified);
|
||||
function ModifiedUnitDecorator.create(_obj: Modified);
|
||||
begin
|
||||
class(Modified).Create();
|
||||
class(Modified).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -1030,9 +1030,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function RelationshipsUnitDecorator.Create(_obj: Relationships);
|
||||
function RelationshipsUnitDecorator.create(_obj: Relationships);
|
||||
begin
|
||||
class(Relationships).Create();
|
||||
class(Relationships).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -1052,9 +1052,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function RelationshipUnitDecorator.Create(_obj: Relationship);
|
||||
function RelationshipUnitDecorator.create(_obj: Relationship);
|
||||
begin
|
||||
class(Relationship).Create();
|
||||
class(Relationship).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -1077,9 +1077,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function TypesUnitDecorator.Create(_obj: Types);
|
||||
function TypesUnitDecorator.create(_obj: Types);
|
||||
begin
|
||||
class(Types).Create();
|
||||
class(Types).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -1102,9 +1102,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function DefaultUnitDecorator.Create(_obj: Default);
|
||||
function DefaultUnitDecorator.create(_obj: Default);
|
||||
begin
|
||||
class(Default).Create();
|
||||
class(Default).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -1125,9 +1125,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function _OverrideUnitDecorator.Create(_obj: _Override);
|
||||
function _OverrideUnitDecorator.create(_obj: _Override);
|
||||
begin
|
||||
class(_Override).Create();
|
||||
class(_Override).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -1148,9 +1148,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function NumUnitDecorator.Create(_obj: Num);
|
||||
function NumUnitDecorator.create(_obj: Num);
|
||||
begin
|
||||
class(Num).Create();
|
||||
class(Num).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -1193,9 +1193,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function DegUnitDecorator.Create(_obj: Deg);
|
||||
function DegUnitDecorator.create(_obj: Deg);
|
||||
begin
|
||||
class(Deg).Create();
|
||||
class(Deg).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -1238,9 +1238,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function EUnitDecorator.Create(_obj: E);
|
||||
function EUnitDecorator.create(_obj: E);
|
||||
begin
|
||||
class(E).Create();
|
||||
class(E).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -1283,9 +1283,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function SupUnitDecorator.Create(_obj: Sup);
|
||||
function SupUnitDecorator.create(_obj: Sup);
|
||||
begin
|
||||
class(Sup).Create();
|
||||
class(Sup).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -1328,9 +1328,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function DenUnitDecorator.Create(_obj: Den);
|
||||
function DenUnitDecorator.create(_obj: Den);
|
||||
begin
|
||||
class(Den).Create();
|
||||
class(Den).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -1373,9 +1373,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function SubUnitDecorator.Create(_obj: Sub);
|
||||
function SubUnitDecorator.create(_obj: Sub);
|
||||
begin
|
||||
class(Sub).Create();
|
||||
class(Sub).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
|
|||
1385
autounit/VML.tsf
1385
autounit/VML.tsf
File diff suppressed because it is too large
Load Diff
|
|
@ -4,7 +4,7 @@ uses VML, TSSafeUnitConverter;
|
|||
|
||||
type ShapetypeUnitDecorator = class(Shapetype)
|
||||
public
|
||||
function Create(_obj: Shapetype);
|
||||
function create(_obj: Shapetype);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -13,7 +13,7 @@ end;
|
|||
|
||||
type FormulasUnitDecorator = class(Formulas)
|
||||
public
|
||||
function Create(_obj: Formulas);
|
||||
function create(_obj: Formulas);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -22,7 +22,7 @@ end;
|
|||
|
||||
type LockUnitDecorator = class(Lock)
|
||||
public
|
||||
function Create(_obj: Lock);
|
||||
function create(_obj: Lock);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -31,7 +31,7 @@ end;
|
|||
|
||||
type FUnitDecorator = class(F)
|
||||
public
|
||||
function Create(_obj: F);
|
||||
function create(_obj: F);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -40,7 +40,7 @@ end;
|
|||
|
||||
type StrokeUnitDecorator = class(Stroke)
|
||||
public
|
||||
function Create(_obj: Stroke);
|
||||
function create(_obj: Stroke);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -49,7 +49,7 @@ end;
|
|||
|
||||
type PathUnitDecorator = class(Path)
|
||||
public
|
||||
function Create(_obj: Path);
|
||||
function create(_obj: Path);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -58,7 +58,7 @@ end;
|
|||
|
||||
type TextpathUnitDecorator = class(Textpath)
|
||||
public
|
||||
function Create(_obj: Textpath);
|
||||
function create(_obj: Textpath);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -67,7 +67,7 @@ end;
|
|||
|
||||
type HandlesUnitDecorator = class(Handles)
|
||||
public
|
||||
function Create(_obj: Handles);
|
||||
function create(_obj: Handles);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -76,7 +76,7 @@ end;
|
|||
|
||||
type HUnitDecorator = class(H)
|
||||
public
|
||||
function Create(_obj: H);
|
||||
function create(_obj: H);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -85,7 +85,7 @@ end;
|
|||
|
||||
type ShapeUnitDecorator = class(Shape)
|
||||
public
|
||||
function Create(_obj: Shape);
|
||||
function create(_obj: Shape);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -94,7 +94,7 @@ end;
|
|||
|
||||
type WrapUnitDecorator = class(Wrap)
|
||||
public
|
||||
function Create(_obj: Wrap);
|
||||
function create(_obj: Wrap);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -103,7 +103,7 @@ end;
|
|||
|
||||
type FillUnitDecorator = class(Fill)
|
||||
public
|
||||
function Create(_obj: Fill);
|
||||
function create(_obj: Fill);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -112,7 +112,7 @@ end;
|
|||
|
||||
type ImagedataUnitDecorator = class(Imagedata)
|
||||
public
|
||||
function Create(_obj: Imagedata);
|
||||
function create(_obj: Imagedata);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -121,7 +121,7 @@ end;
|
|||
|
||||
type TextboxUnitDecorator = class(Textbox)
|
||||
public
|
||||
function Create(_obj: Textbox);
|
||||
function create(_obj: Textbox);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -130,7 +130,7 @@ end;
|
|||
|
||||
type OLEObjectUnitDecorator = class(OLEObject)
|
||||
public
|
||||
function Create(_obj: OLEObject);
|
||||
function create(_obj: OLEObject);
|
||||
function GetObject();
|
||||
function Convert();
|
||||
private
|
||||
|
|
@ -139,9 +139,9 @@ end;
|
|||
|
||||
implementation
|
||||
|
||||
function ShapetypeUnitDecorator.Create(_obj: Shapetype);
|
||||
function ShapetypeUnitDecorator.create(_obj: Shapetype);
|
||||
begin
|
||||
class(Shapetype).Create();
|
||||
class(Shapetype).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -167,8 +167,8 @@ begin
|
|||
{self.}Adj := object_.XmlAttrAdj.Value;
|
||||
if not ifnil(object_.XmlAttrPreferrelative) then
|
||||
{self.}Preferrelative := object_.XmlAttrPreferrelative.Value;
|
||||
if not ifnil(object_.XmlAttrPath) then
|
||||
{self.}Path := object_.XmlAttrPath.Value;
|
||||
if not ifnil(object_.XmlAttrAttrPath) then
|
||||
{self.}AttrPath := object_.XmlAttrAttrPath.Value;
|
||||
if not ifnil(object_.XmlAttrFilled) then
|
||||
{self.}Filled := object_.XmlAttrFilled.Value;
|
||||
if not ifnil(object_.XmlAttrStroked) then
|
||||
|
|
@ -188,9 +188,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function FormulasUnitDecorator.Create(_obj: Formulas);
|
||||
function FormulasUnitDecorator.create(_obj: Formulas);
|
||||
begin
|
||||
class(Formulas).Create();
|
||||
class(Formulas).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -206,13 +206,13 @@ begin
|
|||
tslassigning := 1;
|
||||
elems := object_.Fs();
|
||||
for _,elem in elems do
|
||||
{self.}AppendChild(new ShapetypeUnitDecorator(elem));
|
||||
{self.}AppendChild(new FUnitDecorator(elem));
|
||||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function LockUnitDecorator.Create(_obj: Lock);
|
||||
function LockUnitDecorator.create(_obj: Lock);
|
||||
begin
|
||||
class(Lock).Create();
|
||||
class(Lock).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -230,12 +230,16 @@ begin
|
|||
{self.}Ext := object_.XmlAttrExt.Value;
|
||||
if not ifnil(object_.XmlAttrAspectration) then
|
||||
{self.}Aspectration := object_.XmlAttrAspectration.Value;
|
||||
if not ifnil(object_.XmlAttrText) then
|
||||
{self.}Text := object_.XmlAttrText.Value;
|
||||
if not ifnil(object_.XmlAttrShapetype) then
|
||||
{self.}Shapetype := object_.XmlAttrShapetype.Value;
|
||||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function FUnitDecorator.Create(_obj: F);
|
||||
function FUnitDecorator.create(_obj: F);
|
||||
begin
|
||||
class(F).Create();
|
||||
class(F).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -254,9 +258,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function StrokeUnitDecorator.Create(_obj: Stroke);
|
||||
function StrokeUnitDecorator.create(_obj: Stroke);
|
||||
begin
|
||||
class(Stroke).Create();
|
||||
class(Stroke).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -275,9 +279,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function PathUnitDecorator.Create(_obj: Path);
|
||||
function PathUnitDecorator.create(_obj: Path);
|
||||
begin
|
||||
class(Path).Create();
|
||||
class(Path).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -306,9 +310,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function TextpathUnitDecorator.Create(_obj: Textpath);
|
||||
function TextpathUnitDecorator.create(_obj: Textpath);
|
||||
begin
|
||||
class(Textpath).Create();
|
||||
class(Textpath).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -333,9 +337,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function HandlesUnitDecorator.Create(_obj: Handles);
|
||||
function HandlesUnitDecorator.create(_obj: Handles);
|
||||
begin
|
||||
class(Handles).Create();
|
||||
class(Handles).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -354,9 +358,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function HUnitDecorator.Create(_obj: H);
|
||||
function HUnitDecorator.create(_obj: H);
|
||||
begin
|
||||
class(H).Create();
|
||||
class(H).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -370,16 +374,16 @@ function HUnitDecorator.Convert();
|
|||
begin
|
||||
tslassigning_backup := tslassigning;
|
||||
tslassigning := 1;
|
||||
if not ifnil(object_.XmlAttrXrange) then
|
||||
{self.}Xrange := object_.XmlAttrXrange.Value;
|
||||
if not ifnil(object_.XmlAttrPosition) then
|
||||
{self.}Position := object_.XmlAttrPosition.Value;
|
||||
if not ifnil(object_.XmlAttrXrange) then
|
||||
{self.}Xrange := object_.XmlAttrXrange.Value;
|
||||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function ShapeUnitDecorator.Create(_obj: Shape);
|
||||
function ShapeUnitDecorator.create(_obj: Shape);
|
||||
begin
|
||||
class(Shape).Create();
|
||||
class(Shape).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -426,9 +430,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function WrapUnitDecorator.Create(_obj: Wrap);
|
||||
function WrapUnitDecorator.create(_obj: Wrap);
|
||||
begin
|
||||
class(Wrap).Create();
|
||||
class(Wrap).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -449,9 +453,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function FillUnitDecorator.Create(_obj: Fill);
|
||||
function FillUnitDecorator.create(_obj: Fill);
|
||||
begin
|
||||
class(Fill).Create();
|
||||
class(Fill).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -470,9 +474,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function ImagedataUnitDecorator.Create(_obj: Imagedata);
|
||||
function ImagedataUnitDecorator.create(_obj: Imagedata);
|
||||
begin
|
||||
class(Imagedata).Create();
|
||||
class(Imagedata).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -493,9 +497,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function TextboxUnitDecorator.Create(_obj: Textbox);
|
||||
function TextboxUnitDecorator.create(_obj: Textbox);
|
||||
begin
|
||||
class(Textbox).Create();
|
||||
class(Textbox).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
@ -514,9 +518,9 @@ begin
|
|||
tslassigning := tslassigning_backup;
|
||||
end;
|
||||
|
||||
function OLEObjectUnitDecorator.Create(_obj: OLEObject);
|
||||
function OLEObjectUnitDecorator.create(_obj: OLEObject);
|
||||
begin
|
||||
class(OLEObject).Create();
|
||||
class(OLEObject).create();
|
||||
object_ := _obj;
|
||||
{self.}Convert();
|
||||
end;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ public
|
|||
function AppendChild(_element: OpenXmlElement);
|
||||
function InsertAfter(_element: OpenXmlElement; _pos_element: OpenXmlElement);
|
||||
function RemoveChild(_element: OpenXmlElement);
|
||||
// function InsertBefore(_pos_obj: tslobj; _obj: tslobj);
|
||||
function InsertBefore(_element: OpenXmlElement; _pos_element: OpenXmlElement);
|
||||
// function PrependChild(_obj: tslobj);
|
||||
// function SetAttribute(_obj: OpenXmlAttribute);
|
||||
|
||||
|
|
@ -37,11 +37,12 @@ begin
|
|||
node := node.NextElement();
|
||||
end
|
||||
tslassigning := tslassigning_backup;
|
||||
deserialized_ := false;
|
||||
end;
|
||||
|
||||
function OpenXmlCompositeElement.Deserialize();override;
|
||||
begin
|
||||
if not ifObj({self.}XmlNode) then return;
|
||||
if deserialized_ or not ifObj({self.}XmlNode) then return;
|
||||
attrs := {self.}XmlNode.Attributes();
|
||||
for k, v in attrs do
|
||||
begin
|
||||
|
|
@ -58,23 +59,27 @@ begin
|
|||
child_elements := container_.GetElements();
|
||||
for k, v in child_elements do
|
||||
v.Deserialize();
|
||||
deserialized_ := true;
|
||||
end;
|
||||
|
||||
function OpenXmlCompositeElement.Serialize();override;
|
||||
begin
|
||||
if {self.}DeleteSelf() then return;
|
||||
{self.}GetNode();
|
||||
if {self.}Enable then {self.}GetNode();
|
||||
|
||||
// xmlns
|
||||
for k, v in xmlns_ do
|
||||
{self.}XmlNode.SetAttribute(v.ElementName, v.Value);
|
||||
if not ifnil(v.Value) then
|
||||
{self.}GetNode().SetAttribute(v.ElementName, v.Value);
|
||||
else if {self.}XmlNode then
|
||||
{self.}GetNode().DeleteAttribute(v.ElementName);
|
||||
|
||||
// Attributes
|
||||
for k, v in attributes_ do
|
||||
if not ifnil(v.Value) then
|
||||
{self.}XmlNode.SetAttribute(v.ElementName, v.Value);
|
||||
{self.}GetNode().SetAttribute(v.ElementName, v.Value);
|
||||
else if {self.}XmlNode then
|
||||
{self.}XmlNode.DeleteAttribute(v.ElementName);
|
||||
{self.}GetNode().DeleteAttribute(v.ElementName);
|
||||
|
||||
// Children
|
||||
child_elements := container_.GetElements();
|
||||
|
|
@ -89,7 +94,7 @@ begin
|
|||
for k, v in child_elements do
|
||||
begin
|
||||
arr := array("type": "element", "name": v.ElementName, "attributes": array());
|
||||
if v is Class(OpenXmlTextElement) or v is Class(OpenXmlCompositeElement) then
|
||||
if v is class(OpenXmlTextElement) or v is class(OpenXmlCompositeElement) then
|
||||
begin
|
||||
marshal := v.Marshal();
|
||||
if length(marshal["children"]) = 0 and length(marshal["attributes"]) = 0 then continue;
|
||||
|
|
@ -97,7 +102,7 @@ begin
|
|||
arr["attributes"] union= marshal["attributes"];
|
||||
child_arr[length(child_arr)] := arr;
|
||||
end
|
||||
else if v is Class(OpenXmlSimpleType) then
|
||||
else if v is class(OpenXmlSimpleType) then
|
||||
begin
|
||||
marshal := v.Marshal();
|
||||
if length(marshal) > 0 then child_arr[length(child_arr)] := arr;
|
||||
|
|
@ -138,11 +143,13 @@ end;
|
|||
|
||||
function OpenXmlCompositeElement.AppendChild(_element: OpenXmlElement);
|
||||
begin
|
||||
_element.Parent := self;
|
||||
container_.Append(_element);
|
||||
end;
|
||||
|
||||
function OpenXmlCompositeElement.InsertAfter(_element: OpenXmlElement; _pos_element: OpenXmlElement);
|
||||
begin
|
||||
_element.Parent := self;
|
||||
container_.InsertAfter(_element, _pos_element);
|
||||
end;
|
||||
|
||||
|
|
@ -151,3 +158,8 @@ begin
|
|||
_element.Removed := true;
|
||||
end;
|
||||
|
||||
function OpenXmlCompositeElement.InsertBefore(_element: OpenXmlElement; _pos_element: OpenXmlElement);
|
||||
begin
|
||||
_element.Parent := self;
|
||||
container_.InsertBefore(_element, _pos_element);
|
||||
end;
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ public
|
|||
function Init();virtual;
|
||||
function InitNode(_node: XmlNode);virtual;
|
||||
function Copy(_obj: tslobj);virtual;
|
||||
function Clone(): OpenXmlElement;virtual;
|
||||
function Deserialize();virtual;
|
||||
function Serialize();virtual;
|
||||
function Marshal(): tableArray;virtual;
|
||||
|
|
@ -31,6 +32,8 @@ public
|
|||
ElementName: string;
|
||||
Removed: boolean; // 节点删除标记,最后Serialize时候统一删除
|
||||
|
||||
Enable: boolean; // 是否启用 <b /> 没有属性
|
||||
|
||||
protected
|
||||
attributes_: array of OpenXmlAttribute; // 属性
|
||||
attributes_pf_: tableArray;
|
||||
|
|
@ -38,6 +41,7 @@ protected
|
|||
sorted_child_: tableArray;
|
||||
container_: TSOfficeContainer;
|
||||
fallback_: OpenXmlElement; // 代理对象
|
||||
deserialized_: boolean; // 是否已反序列化
|
||||
end;
|
||||
|
||||
function OpenXmlElement.Create(_node: XmlNode);overload;
|
||||
|
|
@ -57,9 +61,11 @@ begin
|
|||
{self.}XmlNode := nil;
|
||||
{self.}ElementName := ifString({self.}Prefix) and {self.}Prefix <> "" ? format("%s:%s", {self.}Prefix, {self.}LocalName) : {self.}LocalName;
|
||||
{self.}Removed := false;
|
||||
{self.}Enable := false;
|
||||
{self.}Init();
|
||||
xmlns_ := array();
|
||||
fallback_ := nil;
|
||||
deserialized_ := false;
|
||||
end;
|
||||
|
||||
function OpenXmlElement.SetFallback(_fallback: OpenXmlElement);
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ public
|
|||
function Init();override;
|
||||
function InitNode(_node: XmlNode);override;
|
||||
function Copy(_obj: tslobj);override;
|
||||
function Clone(): OpenXmlSimpleType;override;
|
||||
function Deserialize();override;
|
||||
function Serialize();override;
|
||||
function Marshal(): tableArray;override;
|
||||
|
|
@ -18,27 +19,33 @@ public
|
|||
// IsApplied: boolean; // 是否已经应用,和val值有关
|
||||
property IsApplied read ReadIsApplied;
|
||||
function ReadIsApplied();
|
||||
|
||||
public
|
||||
Enable: boolean; // 是否启用 <b /> 没有属性,需要通过val写属性
|
||||
end;
|
||||
|
||||
function OpenXmlSimpleType.Init();override;
|
||||
begin
|
||||
{self.}Enable := false;
|
||||
// {self.}Enable := false;
|
||||
end;
|
||||
|
||||
function OpenXmlSimpleType.InitNode(_node: XmlNode);override;
|
||||
begin
|
||||
{self.}XmlNode := ifObj(_node) ? _node : nil;
|
||||
deserialized_ := false;
|
||||
end;
|
||||
|
||||
function OpenXmlSimpleType.Copy(_obj: tslobj);override;
|
||||
begin
|
||||
if not ifnil(_obj.Enable) then {self.}Enable := _obj.Enable;
|
||||
{self.}Enable := _obj.Enable;
|
||||
if not ifnil(_obj.XmlAttrVal.Value) then {self.}Val := _obj.XmlAttrVal.Value;
|
||||
end;
|
||||
|
||||
function OpenXmlSimpleType.Clone(): OpenXmlSimpleType;override;
|
||||
begin
|
||||
obj := new OpenXmlSimpleType(nil, {self.}Prefix, {self.}LocalName);
|
||||
obj.Enable := {self.}Enable;
|
||||
if not ifnil({self.}XmlAttrVal.Value) then obj.Val := {self.}XmlAttrVal.Value;
|
||||
return obj;
|
||||
end;
|
||||
|
||||
function OpenXmlSimpleType.Marshal(): tableArray;override;
|
||||
begin
|
||||
if not {self.}Enable then return array();
|
||||
|
|
@ -50,6 +57,7 @@ end;
|
|||
|
||||
function OpenXmlSimpleType.Deserialize();override;
|
||||
begin
|
||||
if deserialized_ then return;
|
||||
if ifObj({self.}XmlNode) then
|
||||
begin
|
||||
attrs := {self.}XmlNode.Attributes();
|
||||
|
|
@ -67,13 +75,14 @@ begin
|
|||
{self.}Enable := false;
|
||||
{self.}XmlAttrVal := nil;
|
||||
end
|
||||
deserialized_ := true;
|
||||
end;
|
||||
|
||||
function OpenXmlSimpleType.Serialize();override;
|
||||
begin
|
||||
if not ifObj({self.}XmlNode) then
|
||||
begin
|
||||
{self.}GetNode();
|
||||
if {self.}Enable then {self.}GetNode();
|
||||
if not ifnil({self.}XmlAttrVal.Value) then {self.}XmlNode.SetAttribute({self.}XmlAttrVal.ElementName, {self.}XmlAttrVal.Value);
|
||||
end
|
||||
else begin
|
||||
|
|
@ -102,6 +111,6 @@ end;
|
|||
function OpenXmlSimpleType.ReadIsApplied();
|
||||
begin
|
||||
if {self.}Enable then
|
||||
return {self.}XmlAttrVal.Value = "0" or {self.}XmlAttrVal.Value = "false" ? false : true;
|
||||
return {self.}XmlAttrVal.Value = "0" or {self.}XmlAttrVal.Value = "false" or {self.}XmlAttrVal.Value = "off" ? false : true;
|
||||
return false;
|
||||
end;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ type OpenXmlTextElement = class(OpenXmlElement)
|
|||
public
|
||||
function InitNode(_node: XmlNode);override;
|
||||
function Copy(_obj: tslobj);virtual;
|
||||
function Clone(): OpenXmlTextElement;virtual;
|
||||
function Deserialize();override;
|
||||
function Serialize();override;
|
||||
function Marshal(): tableArray;override;
|
||||
|
|
@ -13,6 +14,7 @@ end;
|
|||
function OpenXmlTextElement.InitNode(_node: XmlNode);override;
|
||||
begin
|
||||
{self.}XmlNode := ifObj(_node) ? _node : nil;
|
||||
deserialized_ := false;
|
||||
end;
|
||||
|
||||
function OpenXmlTextElement.Copy(_obj: tslobj);virtual;
|
||||
|
|
@ -20,6 +22,13 @@ begin
|
|||
if not ifnil(_obj.Text) then {self.}Text := _obj.Text;
|
||||
end;
|
||||
|
||||
function OpenXmlTextElement.Clone(): OpenXmlTextElement;virtual;
|
||||
begin
|
||||
obj := new OpenXmlTextElement(nil, {self.}Prefix, {self.}LocalName);
|
||||
if not ifnil({self.}Text) then obj.Text := {self.}Text;
|
||||
return obj;
|
||||
end
|
||||
|
||||
function OpenXmlTextElement.Marshal(): tableArray;override;
|
||||
begin
|
||||
arr := array("type": "element", "name": name_, "attributes": array(), "children": array());
|
||||
|
|
@ -31,7 +40,7 @@ end;
|
|||
|
||||
function OpenXmlTextElement.Deserialize();override;
|
||||
begin
|
||||
if not ifObj({self.}XmlNode) then return;
|
||||
if deserialized_ or not ifObj({self.}XmlNode) then return;
|
||||
{self.}Text := {self.}XmlNode.GetText();
|
||||
attrs := {self.}XmlNode.Attributes();
|
||||
for k, v in attrs do
|
||||
|
|
@ -46,6 +55,7 @@ begin
|
|||
if ifnil(pf) then continue;
|
||||
pf.Do(v);
|
||||
end
|
||||
deserialized_ := true;
|
||||
end;
|
||||
|
||||
function OpenXmlTextElement.Serialize();override;
|
||||
|
|
|
|||
|
|
@ -1,70 +1,144 @@
|
|||
unit TSSafeUnitConverter;
|
||||
interface
|
||||
function PointsToTwips(value): real;
|
||||
function TwipsToPoints(value): real;
|
||||
function CentimetersToPoints(value): real;
|
||||
function EmusToPoints(value): real;
|
||||
function HalfPointToPoints(value): real;
|
||||
function InchesToPoints(value): real;
|
||||
function LinesToPoints(value): real;
|
||||
function MillimetersToPoints(value): real;
|
||||
function PicasToPoints(value): real;
|
||||
function PixelsToPoints(value): real; // TODO 不实现,与DPI有关
|
||||
function TwipsToPoints(value): real;
|
||||
|
||||
// points -> other
|
||||
function PointsToCentimeters(value): real;
|
||||
function PointsToEmus(value): real;
|
||||
function PointsToInches(value): real;
|
||||
function PointsToLines(value): real;
|
||||
function PointsToMillimeters(value);
|
||||
function PointsToPicas(value);
|
||||
function PointsToPixels(value); // TODO
|
||||
function PointsToTwips(value): real;
|
||||
|
||||
// other
|
||||
function HalfPointsToPoints(value): real;
|
||||
function PointsToHalfPoints(value): real;
|
||||
function EighthPointsToPoints(value): real;
|
||||
function PercentToNumber(value): real;
|
||||
function NumberToPercent(value): real;
|
||||
function ToInt(value): integer;
|
||||
function EighthPointToPoints(value): real;
|
||||
|
||||
implementation
|
||||
uses TSUnitConverter;
|
||||
|
||||
function PointsToTwips(value): real;
|
||||
function SafeConvert(value, convert_func): real;
|
||||
begin
|
||||
if ifNil(value) then return 0;
|
||||
new_value := ifString(value) ? strToFloat(value) : value;
|
||||
return TSUnitConverter.PointsToTwips(new_value);
|
||||
new_value := ifString(value) ? strToFloatDef(value, 0) : value;
|
||||
return ##convert_func(new_value);
|
||||
end;
|
||||
|
||||
function TwipsToPoints(value): real;
|
||||
function CentimetersToPoints(value): real;
|
||||
begin
|
||||
if ifNil(value) then return 0;
|
||||
new_value := ifString(value) ? strToFloat(value) : value;
|
||||
return TSUnitConverter.TwipsToPoints(new_value);
|
||||
end;
|
||||
|
||||
function HalfPointToPoints(value): real;
|
||||
begin
|
||||
if ifNil(value) then return 0;
|
||||
new_value := ifString(value) ? strToFloat(value) : value;
|
||||
return TSUnitConverter.HalfPointToPoints(new_value);
|
||||
return SafeConvert(value, thisFunction(TSUnitConverter.CentimetersToPoints));
|
||||
end;
|
||||
|
||||
function EmusToPoints(value): real;
|
||||
begin
|
||||
if ifNil(value) then return 0;
|
||||
new_value := ifString(value) ? strToFloat(value) : value;
|
||||
return TSUnitConverter.EmusToPoints(new_value);
|
||||
return SafeConvert(value, thisFunction(TSUnitConverter.EmusToPoints));
|
||||
end;
|
||||
|
||||
function InchesToPoints(value): real;
|
||||
begin
|
||||
return SafeConvert(value, thisFunction(TSUnitConverter.InchesToPoints));
|
||||
end;
|
||||
|
||||
function LinesToPoints(value): real;
|
||||
begin
|
||||
return SafeConvert(value, thisFunction(TSUnitConverter.LinesToPoints));
|
||||
end;
|
||||
|
||||
function MillimetersToPoints(value): real;
|
||||
begin
|
||||
return SafeConvert(value, thisFunction(TSUnitConverter.MillimetersToPoints));
|
||||
end;
|
||||
|
||||
function PicasToPoints(value): real;
|
||||
begin
|
||||
return SafeConvert(value, thisFunction(TSUnitConverter.PicasToPoints));
|
||||
end;
|
||||
|
||||
function TwipsToPoints(value): real;
|
||||
begin
|
||||
return SafeConvert(value, thisFunction(TSUnitConverter.TwipsToPoints));
|
||||
end;
|
||||
|
||||
// points -> other
|
||||
function PointsToCentimeters(value): real;
|
||||
begin
|
||||
return SafeConvert(value, thisFunction(TSUnitConverter.PointsToCentimeters));
|
||||
end;
|
||||
|
||||
function PointsToEmus(value): real;
|
||||
begin
|
||||
return SafeConvert(value, thisFunction(TSUnitConverter.PointsToEmus));
|
||||
end;
|
||||
|
||||
function PointsToInches(value): real;
|
||||
begin
|
||||
return SafeConvert(value, thisFunction(TSUnitConverter.PointsToInches));
|
||||
end;
|
||||
|
||||
function PointsToLines(value): real;
|
||||
begin
|
||||
return SafeConvert(value, thisFunction(TSUnitConverter.PointsToLines));
|
||||
end;
|
||||
|
||||
function PointsToMillimeters(value);
|
||||
begin
|
||||
return SafeConvert(value, thisFunction(TSUnitConverter.PointsToMillimeters));
|
||||
end;
|
||||
|
||||
function PointsToPicas(value);
|
||||
begin
|
||||
return SafeConvert(value, thisFunction(TSUnitConverter.PointsToPicas));
|
||||
end;
|
||||
|
||||
function PointsToTwips(value): real;
|
||||
begin
|
||||
return SafeConvert(value, thisFunction(TSUnitConverter.PointsToTwips));
|
||||
end;
|
||||
|
||||
// other
|
||||
function HalfPointsToPoints(value): real;
|
||||
begin
|
||||
return SafeConvert(value, thisFunction(TSUnitConverter.HalfPointsToPoints));
|
||||
end;
|
||||
|
||||
function PointsToHalfPoints(value): real;
|
||||
begin
|
||||
return SafeConvert(value, thisFunction(TSUnitConverter.PointsToHalfPoints));
|
||||
end;
|
||||
|
||||
function EighthPointsToPoints(value): real;
|
||||
begin
|
||||
return SafeConvert(value, thisFunction(TSUnitConverter.EighthPointsToPoints));
|
||||
end;
|
||||
|
||||
function PercentToNumber(value): real;
|
||||
begin
|
||||
if ifNil(value) then return 0;
|
||||
new_value := ifString(value) ? strToFloat(value) : value;
|
||||
return TSUnitConverter.PercentToNumber(new_value);
|
||||
return SafeConvert(value, thisFunction(TSUnitConverter.PercentToNumber));
|
||||
end;
|
||||
|
||||
function NumberToPercent(value): real;
|
||||
begin
|
||||
if ifNil(value) then return 0;
|
||||
new_value := ifString(value) ? strToFloat(value) : value;
|
||||
return TSUnitConverter.NumberToPercent(new_value);
|
||||
return SafeConvert(value, thisFunction(TSUnitConverter.NumberToPercent));
|
||||
end;
|
||||
|
||||
function ToInt(value): integer;
|
||||
function ToInt(value): real;
|
||||
begin
|
||||
if ifNil(value) then return 0;
|
||||
return strtoIntDef(value, 0);
|
||||
end;
|
||||
|
||||
function EighthPointToPoints(value): real;
|
||||
begin
|
||||
if ifNil(value) then return 0;
|
||||
new_value := ifString(value) ? strToFloat(value) : value;
|
||||
return TSUnitConverter.EighthPointToPoints(new_value);
|
||||
if ifnumber(value) then return integer(value);
|
||||
if ifstring(value) then return strToIntDef(value, 0);
|
||||
return 0;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
|
|
|||
|
|
@ -1,48 +1,130 @@
|
|||
unit TSUnitConverter;
|
||||
interface
|
||||
function PointsToTwips(value): real;
|
||||
function TwipsToPoints(value: real): real;
|
||||
function EmusToPoints(value: real): real;
|
||||
function HalfPointToPoints(value: real): real;
|
||||
function EighthPointToPoints(value: real): real;
|
||||
function PercentToNumber(value: real): real;
|
||||
function NumberToPercent(value: real): real;
|
||||
// other -> points
|
||||
function CentimetersToPoints(centimeters: real): real;
|
||||
function EmusToPoints(emus: real): real;
|
||||
function InchesToPoints(inches: real): real;
|
||||
function LinesToPoints(lines: real): real;
|
||||
function MillimetersToPoints(millimeters: real): real;
|
||||
function PicasToPoints(picas: real): real;
|
||||
function PixelsToPoints(pixels: real; f_vertical: boolean = false): real; // TODO 不实现,与DPI有关
|
||||
function TwipsToPoints(twips: real): real;
|
||||
|
||||
// points -> other
|
||||
function PointsToCentimeters(points: real): real;
|
||||
function PointsToEmus(points: real): real;
|
||||
function PointsToInches(points: real): real;
|
||||
function PointsToLines(points: real): real;
|
||||
function PointsToMillimeters(points: real);
|
||||
function PointsToPicas(points: real);
|
||||
function PointsToPixels(points: real); // TODO
|
||||
function PointsToTwips(points): real;
|
||||
|
||||
// other
|
||||
function HalfPointsToPoints(half_points: real): real;
|
||||
function PointsToHalfPoints(points: real): real;
|
||||
function EighthPointsToPoints(eighth_points: real): real;
|
||||
function PercentToNumber(percent: real): real;
|
||||
function NumberToPercent(number: real): real;
|
||||
|
||||
implementation
|
||||
|
||||
function PointsToTwips(value): real;
|
||||
function CentimetersToPoints(centimeters: real): real;
|
||||
begin
|
||||
return value * 20;
|
||||
return centimeters * 28.346456692913385826771653543307;
|
||||
end;
|
||||
|
||||
function TwipsToPoints(value: real): real;
|
||||
function EmusToPoints(emus: real): real;
|
||||
begin
|
||||
return value / 20;
|
||||
return emus / 12700;
|
||||
end;
|
||||
|
||||
function EmusToPoints(value: real): real;
|
||||
function InchesToPoints(inches: real): real;
|
||||
begin
|
||||
return value / 12700;
|
||||
return inches * 72;
|
||||
end;
|
||||
|
||||
function HalfPointToPoints(value: real): real;
|
||||
function LinesToPoints(lines: real): real;
|
||||
begin
|
||||
return value / 2;
|
||||
return lines * 12; // Assuming 1 line = 12 points
|
||||
end;
|
||||
|
||||
function PercentToNumber(value: real): real;
|
||||
function MillimetersToPoints(millimeters: real): real;
|
||||
begin
|
||||
return value / 100;
|
||||
return millimeters * 2.8346456692913385826771653543307;
|
||||
end;
|
||||
|
||||
function NumberToPercent(value: real): real;
|
||||
function PicasToPoints(picas: real): real;
|
||||
begin
|
||||
return value * 100;
|
||||
return picas * 12;
|
||||
end;
|
||||
|
||||
function EighthPointToPoints(value: real): real;
|
||||
function TwipsToPoints(twips: real): real;
|
||||
begin
|
||||
return value / 8;
|
||||
return twips / 20;
|
||||
end;
|
||||
|
||||
|
||||
// Points -> others
|
||||
function PointsToCentimeters(points: real): real;
|
||||
begin
|
||||
return points / 28.346456692913385826771653543307;
|
||||
end;
|
||||
|
||||
function PointsToEmus(points: real): real;
|
||||
begin
|
||||
return points * 12700;
|
||||
end;
|
||||
|
||||
function PointsToInches(points: real): real;
|
||||
begin
|
||||
return points / 72;
|
||||
end;
|
||||
|
||||
function PointsToLines(points: real): real;
|
||||
begin
|
||||
return points / 12;
|
||||
end;
|
||||
|
||||
function PointsToMillimeters(points: real);
|
||||
begin
|
||||
return points / 2.8346456692913385826771653543307;
|
||||
end;
|
||||
|
||||
function PointsToTwips(points): real;
|
||||
begin
|
||||
return points * 20;
|
||||
end;
|
||||
|
||||
function PointsToPicas(points: real);
|
||||
begin
|
||||
return points / 12;
|
||||
end;
|
||||
|
||||
// other
|
||||
function HalfPointsToPoints(half_points: real): real;
|
||||
begin
|
||||
return half_points / 2;
|
||||
end;
|
||||
|
||||
function PointsToHalfPoints(points: real): real;
|
||||
begin
|
||||
return points * 2;
|
||||
end;
|
||||
|
||||
function EighthPointsToPoints(eighth_points: real): real;
|
||||
begin
|
||||
return eighth_points / 8;
|
||||
end;
|
||||
|
||||
function PercentToNumber(percent: real): real;
|
||||
begin
|
||||
return percent / 100;
|
||||
end;
|
||||
|
||||
function NumberToPercent(number: real): real;
|
||||
begin
|
||||
return number * 100;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
|
|
|||
Loading…
Reference in New Issue