1 |
unit PakkeshopLabels; |
unit LabelData; |
2 |
|
|
3 |
// Denne klasse bruges til at samle alle de parametre der skal bruges omkring indleveringspakker |
// Denne klasse bruges til at samle alle de parametre der skal bruges omkring indleveringspakker |
4 |
// Constructor'en har selv ansvaret for at pille de relevante data ud af XML dokumentet |
// Constructor'en har selv ansvaret for at pille de relevante data ud af XML dokumentet |
7 |
interface |
interface |
8 |
uses |
uses |
9 |
XMLDoc, |
XMLDoc, |
10 |
Xml.XMLIntf; |
Xml.XMLIntf, |
11 |
|
SysUtils; |
12 |
|
|
13 |
type |
type |
14 |
TPakkeshopLabel = class |
TLabelData = class |
15 |
public |
public |
16 |
|
|
17 |
|
LabelType : string; |
18 |
|
|
19 |
Overskrift : string; |
Overskrift : string; |
20 |
|
|
21 |
Stregkode : string; |
Stregkode : string; |
42 |
|
|
43 |
Koreliste : string; |
Koreliste : string; |
44 |
|
|
45 |
Shop2Direkte : string; |
// Shop2Direkte : string; |
46 |
|
|
47 |
|
SimpelLinie1, SimpelLinie2, SimpelLinie3: String; |
48 |
|
|
49 |
|
ZPL : string; |
50 |
|
|
51 |
constructor Create(xmlDoc : TXMLDocument); |
constructor Create(xmlDoc : TXMLDocument); |
52 |
|
|
53 |
|
function GetValue(ParentNode: Xml.XMLIntf.IXMLNode; NodeName: String) : String; |
54 |
|
function GetOptionalValue(ParentNode: Xml.XMLIntf.IXMLNode; NodeName: String; DefaultValue: String) : String; |
55 |
|
|
56 |
end; |
end; |
57 |
|
|
58 |
|
|
60 |
implementation |
implementation |
61 |
|
|
62 |
|
|
63 |
constructor TPakkeshopLabel.Create(xmlDoc: TXMLDocument); |
constructor TLabelData.Create(xmlDoc: TXMLDocument); |
64 |
var |
var |
65 |
PakkeKontrolNode: Xml.XMLIntf.IXMLNode; |
PakkeKontrolNode: Xml.XMLIntf.IXMLNode; |
66 |
|
TmpNode: Xml.XMLIntf.IXMLNode; |
67 |
begin |
begin |
68 |
|
|
69 |
PakkeKontrolNode := xmlDoc.ChildNodes.FindNode('PakkeKontrol'); // Cache opslaget der finder PakkeKontrol noden |
PakkeKontrolNode := xmlDoc.ChildNodes.FindNode('PakkeKontrol'); // Cache opslaget der finder PakkeKontrol noden |
70 |
|
|
71 |
Overskrift := PakkeKontrolNode.ChildNodes.FindNode('Overskrift').Text; |
LabelType := GetOptionalValue(PakkeKontrolNode, 'LabelType', 'FuldLabel'); |
72 |
|
LabelType := AnsiLowerCase(LabelType); |
73 |
|
|
74 |
|
Overskrift := GetValue( PakkeKontrolNode, 'Overskrift'); |
75 |
|
|
76 |
Stregkode := PakkeKontrolNode.ChildNodes.FindNode('Stregkode').Text; |
Stregkode := PakkeKontrolNode.ChildNodes.FindNode('Stregkode').Text; |
77 |
Tjekkode := PakkeKontrolNode.ChildNodes.FindNode('Tjekkode').Text; |
Tjekkode := PakkeKontrolNode.ChildNodes.FindNode('Tjekkode').Text; |
95 |
|
|
96 |
Koreliste := PakkeKontrolNode.ChildNodes.FindNode('Koreliste').Text; |
Koreliste := PakkeKontrolNode.ChildNodes.FindNode('Koreliste').Text; |
97 |
|
|
|
Shop2Direkte := PakkeKontrolNode.ChildNodes.FindNode('Shop2Direkte').Text; |
|
98 |
|
|
99 |
|
|
100 |
|
|
101 |
|
ZPL := GetOptionalValue(PakkeKontrolNode, 'ZPL', ''); |
102 |
|
|
103 |
|
SimpelLinie1 := GetOptionalValue(PakkeKontrolNode, 'SimpelLinie1', ''); |
104 |
|
SimpelLinie2 := GetOptionalValue(PakkeKontrolNode, 'SimpelLinie2', ''); |
105 |
|
SimpelLinie3 := GetOptionalValue(PakkeKontrolNode, 'SimpelLinie3', ''); |
106 |
|
|
107 |
|
end; |
108 |
|
|
109 |
|
function TLabelData.GetOptionalValue(ParentNode: Xml.XMLIntf.IXMLNode; NodeName: String; DefaultValue: String) : String; |
110 |
|
var |
111 |
|
TmpNode: Xml.XMLIntf.IXMLNode; |
112 |
|
begin |
113 |
|
TmpNode := ParentNode.ChildNodes.FindNode(NodeName); |
114 |
|
if TmpNode <> nil then |
115 |
|
begin |
116 |
|
result := TmpNode.Text; |
117 |
|
end |
118 |
|
else |
119 |
|
begin |
120 |
|
result := DefaultValue; |
121 |
|
end; |
122 |
|
end; |
123 |
|
|
124 |
|
function TLabelData.GetValue(ParentNode: Xml.XMLIntf.IXMLNode; NodeName: String) : String; |
125 |
|
begin |
126 |
|
result := ParentNode.ChildNodes.FindNode(NodeName).Text; |
127 |
end; |
end; |
128 |
|
|
129 |
|
|