Hola.
Tengo un array y necesito eliminar de la posicion 5 a la 8 (por ejemplo) todos los item.
hay alguna manera de no hacerlo mediante un for... next convinado con un adel?
gracias.
adel(a, 5)
adel(a, 6)
adel(a, 7)
adel(a, 8)
aSize(a, Len(a)- 4)
aDeleteVarios(a, {|x, n| n >= 5 .and. n <= 8})
FUNCTION aDeleteVarios(a, bCondicionBorrado)
Local nI
Local nBorrados
Local nFinal
Local nItem // Nº item real
*
nFinal:= Len(a)
nBorrados:= 0
nI:= 1
nItem:= 1
DO WHILE nI <= nFinal
IF Eval(bCondicionBorrado, a[nI], nItem)
aDel(a, nI)
nBorrados++
nFinal--
ELSE
nI++
ENDIF
nItem++
ENDDO
aSize(a, Len(a)- nBorrados)
RETURN a
for n := 8 to 5 step -1
ADel( aArray, n, .t. )
next
// OR
for n := 5 to 8
ADel( aArray, 5, .t. ) // use 5 not 'n'
next
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: No registered users and 46 guests