Changeset 10 for trunk/UBlockMap.pas


Ignore:
Timestamp:
Apr 2, 2016, 12:02:59 AM (8 years ago)
Author:
chronos
Message:
  • Added support for continue previous stopped scan.
  • Modified: Allow to scan only part of drive by specifiing start and end sector.
  • Added: Table showing list of operations in project.
  • Added: Allow to create new project and close project.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/UBlockMap.pas

    r7 r10  
    182182      TChange(FChanges[ChangeIndex + 1]).Index := Index + 1;
    183183      TChange(FChanges[ChangeIndex + 1]).Value := Change.Value;
    184       if ChangeIndex = 0 then
     184      if ChangeIndex = 0 then begin
     185        TChange(FChanges[ChangeIndex]).Index := Index;
    185186        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;
    186191    end else raise Exception.Create(SUnexpectedCombination);
    187192  end else raise Exception.Create(Format(SIndexOutOfRange, [Index]));
     
    202207  // Cut changes outside of max sector count
    203208  I := FChanges.Count - 1;
    204   while TChange(FChanges[I]).Index >= FSectorCount do Dec(I);
    205   if TChange(FChanges[I]).Index >= FSectorCount then 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;
    206211
    207212  UpdateBlockSize;
     
    330335  I: Integer;
    331336begin
    332   WriteInteger(Node, 'SectorCount', SectorCount);
    333 
    334337  NewNode := Node.OwnerDocument.CreateElement('Changes');
    335338  Node.AppendChild(NewNode);
     
    348351  NewChange: TChange;
    349352begin
    350   SectorCount := ReadInteger(Node, 'SectorCount', 0);
    351 
    352353  NewNode := Node.FindNode('Changes');
    353354  if Assigned(NewNode) then begin
Note: See TracChangeset for help on using the changeset viewer.