Sub SelChangedHandler
'____________________
Dim lnSelType, lnStopOrder, lnRowID as SmallInt, lcStopNo as String,
llFound as Logical
If gcTable = "RZStop" and glAdding then ' If plotting a
Route's Stops
lnSelType = CommandInfo( CMD_INFO_SELTYPE)
lcStopNo = Str$( Selection.Stop_No)
If lnSelType = 1 then ' added row
Insert into csrStopOrder Values ( lcStopNo, gnStopOrderNo)
gnStopOrderNo = gnStopOrderNo + 1
Else ' must = 2 - removed row
llFound = FALSE
Fetch first from csrStopOrder
Do while not EOT( csrStopOrder)
AND not llFound ' Find row to be deleted in cursor
If RTrim$( csrStopOrder.Stop) <> RTrim$( lcStopNo) then
Fetch next from csrStopOrder
Else
llFound = TRUE
lnStopOrder = csrStopOrder.StopOrder
lnRowID = csrStopOrder.RowID
Delete from csrStopOrder where RowId = lnRowID
Fetch first from csrStopOrder
Do while not EOT( csrStopOrder )' Reshuffle down all stop
orders after deleted one
If csrStopOrder.StopOrder > lnStopOrder then
lnRowID = csrStopOrder.RowID
Update csrStopOrder
set StopOrder = StopOrder - 1 where RowID =
lnRowID
End If
Fetch next from csrStopOrder
Loop
gnStopOrderNo = gnStopOrderNo - 1
End If ' RTrim$() ...
Loop
End If ' lnSelType = 1
Commit Table csrStopOrder
End If
End Sub