Changeset 6 for trunk/Ean.pas
- Timestamp:
- Apr 13, 2026, 2:01:36 PM (2 weeks ago)
- File:
-
- 1 edited
-
trunk/Ean.pas (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ean.pas
r5 r6 4 4 5 5 uses 6 Classes, SysUtils, Generics.Collections, Generics.Defaults, DateUtils; 6 Classes, SysUtils, Generics.Collections, Generics.Defaults, DateUtils, DOM, 7 XML; 7 8 8 9 type … … 40 41 function GetTotalOut(TimeFrom, TimeTo: TDateTime): Double; 41 42 function GetShared(TimeFrom, TimeTo: TDateTime): Double; 43 procedure LoadFromXmlNode(Node: TDOMNode); 44 procedure SaveToXmlNode(Node: TDOMNode); 42 45 constructor Create; 43 46 destructor Destroy; override; … … 49 52 function SearchByNumber(Number: string): TEan; 50 53 procedure LoadToStrings(Strings: TStrings; AllowNone: Boolean = False); 54 procedure LoadFromXmlNode(Node: TDOMNode); 55 procedure SaveToXmlNode(Node: TDOMNode); 51 56 end; 52 57 … … 55 60 56 61 procedure Translate; 62 63 const 64 EansName = 'Eans'; 65 EanName = 'Ean'; 57 66 58 67 … … 121 130 if TotalIn <> 0 then Result := (1 - GetTotalOut(TimeFrom, TimeTo) / TotalIn) * 100 122 131 else Result := 0; 132 end; 133 134 procedure TEan.LoadFromXmlNode(Node: TDOMNode); 135 begin 136 Number := ReadString(Node, 'Number', Number); 137 Owner := ReadString(Node, 'Owner', Owner); 138 DistributionTariff := ReadString(Node, 'DistributionTariff', DistributionTariff); 139 PriceLow := ReadDouble(Node, 'PriceLow', PriceLow); 140 PriceHigh := ReadDouble(Node, 'PriceHigh', PriceHigh); 141 PriceSpot := ReadDouble(Node, 'PriceSpot', PriceSpot); 142 end; 143 144 procedure TEan.SaveToXmlNode(Node: TDOMNode); 145 begin 146 WriteString(Node, 'Number', Number); 147 WriteString(Node, 'Owner', Owner); 148 WriteString(Node, 'DistributionTariff', DistributionTariff); 149 WriteDouble(Node, 'PriceLow', PriceLow); 150 WriteDouble(Node, 'PriceHigh', PriceHigh); 151 WriteDouble(Node, 'PriceSpot', PriceSpot); 123 152 end; 124 153 … … 165 194 end; 166 195 196 procedure TEans.LoadFromXmlNode(Node: TDOMNode); 197 var 198 Node2: TDOMNode; 199 Ean: TEan; 200 begin 201 Node2 := Node.FirstChild; 202 while Assigned(Node2) and (Node2.NodeName = EanName) do begin 203 Ean := TEan.Create; 204 Ean.LoadFromXmlNode(Node2); 205 Add(Ean); 206 Node2 := Node2.NextSibling; 207 end; 208 end; 209 210 procedure TEans.SaveToXmlNode(Node: TDOMNode); 211 var 212 Node2: TDOMNode; 213 I: Integer; 214 begin 215 for I := 0 to Count - 1 do begin 216 Node2 := Node.OwnerDocument.CreateElement(EanName); 217 Items[I].SaveToXmlNode(Node2); 218 Node.AppendChild(Node2); 219 end; 220 end; 221 167 222 end. 168 223
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/edc-stats/chrome/site/your_project_logo.png)