procedure TForm1.psNewChangeGroupPostChanges(Sender: TObject);
var
ps: IPlanSwift;
itm,sect,pg: IItem;
I: Integer;
ranX,ranY: Extended;
x: Integer;
y: Integer;
begin
//Create Planswift Interface
ps := coPlanswift.Create;
//Create Change Group
ps.NewChangeGroup('Random Points');
//Begin Planswift Update
ps.BeginUpdate;
//Get The Current Selected Page
pg := ps.SelectedPage;
//Create a new Point Count Item
itm := ps.GetItem('Job\Takeoff');
itm := itm.NewItem('Count','Random Points');
//Create a section for the Random Points
sect := itm.NewSection('Random Point Section');
//Create 20 Random points on the page
for I := 0 to 20 - 1 do begin
x := Random(pg.GetPropertyResultAsInteger('PageWidth',0));
ranX := x;
y := Random(pg.GetPropertyResultAsInteger('PageHeight',0));
ranY := y;
sect.NewPoint(ranX,ranY);
end;
//End Planswift Update
ps.EndUpdate;
//Post all Changes for undo
ps.PostChanges;
//Notifiy user to press ctrl + Z
ShowMessage('Press ctrl + z to undo changes');
//free planswift
ps := nil
end; |