Changeset 7 for trunk/UBlockMap.pas
- Timestamp:
- Mar 30, 2016, 11:32:54 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/UBlockMap.pas
r6 r7 6 6 7 7 uses 8 Classes, SysUtils, Graphics, Math, Contnrs, Dialogs; 8 Classes, SysUtils, Graphics, Math, Contnrs, Dialogs, DOM, XMLRead, XMLWrite, 9 UXMLUtils; 9 10 10 11 type … … 43 44 constructor Create; 44 45 destructor Destroy; override; 46 procedure SaveToNode(Node: TDOMNode); 47 procedure LoadFromNode(Node: TDOMNode); 45 48 property BlockSize: TPoint read FBlockSize write SetBlockSize; 46 49 property DrawSize: TPoint read FDrawSize write SetDrawSize; … … 321 324 end; 322 325 326 procedure TBlockMap.SaveToNode(Node: TDOMNode); 327 var 328 NewNode: TDOMNode; 329 NewNode2: TDOMNode; 330 I: Integer; 331 begin 332 WriteInteger(Node, 'SectorCount', SectorCount); 333 334 NewNode := Node.OwnerDocument.CreateElement('Changes'); 335 Node.AppendChild(NewNode); 336 for I := 0 to FChanges.Count - 1 do begin 337 NewNode2 := NewNode.OwnerDocument.CreateElement('Change'); 338 NewNode.AppendChild(NewNode2); 339 WriteInteger(NewNode2, 'Index', TChange(FChanges[I]).Index); 340 WriteInteger(NewNode2, 'Value', Integer(TChange(FChanges[I]).Value)); 341 end; 342 end; 343 344 procedure TBlockMap.LoadFromNode(Node: TDOMNode); 345 var 346 NewNode: TDOMNode; 347 NewNode2: TDOMNode; 348 NewChange: TChange; 349 begin 350 SectorCount := ReadInteger(Node, 'SectorCount', 0); 351 352 NewNode := Node.FindNode('Changes'); 353 if Assigned(NewNode) then begin 354 FChanges.Count := 0; 355 NewNode2 := NewNode.FirstChild; 356 while Assigned(NewNode2) and (NewNode2.NodeName = 'Change') do begin 357 NewChange := TChange.Create; 358 NewChange.Index := ReadInteger(NewNode2, 'Index', 0); 359 NewChange.Value := TSectorState(ReadInteger(NewNode2, 'Value', 0)); 360 FChanges.Add(NewChange); 361 NewNode2 := NewNode2.NextSibling; 362 end; 363 end; 364 end; 323 365 324 366 end.
Note:
See TracChangeset
for help on using the changeset viewer.