Changeset 10 for trunk/UBlockMap.pas
- Timestamp:
- Apr 2, 2016, 12:02:59 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/UBlockMap.pas
r7 r10 182 182 TChange(FChanges[ChangeIndex + 1]).Index := Index + 1; 183 183 TChange(FChanges[ChangeIndex + 1]).Value := Change.Value; 184 if ChangeIndex = 0 then 184 if ChangeIndex = 0 then begin 185 TChange(FChanges[ChangeIndex]).Index := Index; 185 186 TChange(FChanges[ChangeIndex]).Value := AValue; 187 FChanges.Insert(ChangeIndex, TChange.Create); 188 TChange(FChanges[ChangeIndex]).Index := 0; 189 TChange(FChanges[ChangeIndex]).Value := bsNone; 190 end; 186 191 end else raise Exception.Create(SUnexpectedCombination); 187 192 end else raise Exception.Create(Format(SIndexOutOfRange, [Index])); … … 202 207 // Cut changes outside of max sector count 203 208 I := FChanges.Count - 1; 204 while TChange(FChanges[I]).Index >= FSectorCountdo Dec(I);205 if TChange(FChanges[I]).Index >= FSectorCountthen FChanges.Count := I;209 while (I >= 0) and (TChange(FChanges[I]).Index >= FSectorCount) do Dec(I); 210 if (I >= 0) and (TChange(FChanges[I]).Index >= FSectorCount) then FChanges.Count := I; 206 211 207 212 UpdateBlockSize; … … 330 335 I: Integer; 331 336 begin 332 WriteInteger(Node, 'SectorCount', SectorCount);333 334 337 NewNode := Node.OwnerDocument.CreateElement('Changes'); 335 338 Node.AppendChild(NewNode); … … 348 351 NewChange: TChange; 349 352 begin 350 SectorCount := ReadInteger(Node, 'SectorCount', 0);351 352 353 NewNode := Node.FindNode('Changes'); 353 354 if Assigned(NewNode) then begin
Note:
See TracChangeset
for help on using the changeset viewer.