(defun c:xdtb_tbldelrows (/ tbl xdir p1 p2 rows row1 row2 start nums)
(xdrx-begin)
(xdrx-sysvar-push '("osmode" 0))
(if (and (setq tbl (car (xdrx-entsel
(xdrx-string-multilanguage
"\n选择表格<退出>:"
"Select Table<Exit>:"
)
'((0 . "*table"))
)
)
)
(setq xdir (xdrx-getpropertyvalue tbl "xdirection"))
(setq p1 (getpoint "\nPick the starting line to delete<Exit>:"))
(setq p2 (xd::doc:getcorner
p1
"\nPick the Ending line to delete<Exit>:"
8
xdir
)
)
(setq p2 (cadr p2))
(setq
row1 (xdrx-table-hittest
tbl
(trans (car p2) 1 0)
'(0 0 1)
1.0
1.0
)
)
(setq row2 (xdrx-table-hittest
tbl
(trans (nth 3 p2) 1 0)
'(0 0 1)
1.0
1.0
)
)
)
(progn
(setq rows (vl-sort (list (car row1) (car row2)) '<)
start (car rows)
nums (1+ (- (cadr rows) (car rows)))
)
(xdrx-table-deleterows tbl start nums)
(xdrx-prompt
(xdrx-string-formatex
(xdrx-string-multilanguage
"\n表格删除了 %d 行."
"\nTable deleted %d rows."
)
nums
)
)
)
)
(xdrx-sysvar-pop)
(xdrx-end)
(princ)
)