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
- goosfancito
- Posts: 1956
- Joined: Fri Oct 07, 2005 7:08 pm
Re: Adel
Sin FOR NEXT
o bien mi preferida sin FOR NEXT:
Code: Select all | Expand
adel(a, 5)
adel(a, 6)
adel(a, 7)
adel(a, 8)
aSize(a, Len(a)- 4)
o bien mi preferida sin FOR NEXT:
Code: Select all | Expand
aDeleteVarios(a, {|x, n| n >= 5 .and. n <= 8})
Code: Select all | Expand
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
- karinha
- Posts: 7948
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 3 times
- Contact:
Re: Adel
https://vivaclipper.wordpress.com/tag/adel/
https://vivaclipper.wordpress.com/2014/01/07/adel/
https://www.itlnet.net/programming/program/reference/c53g01c/ng34b.html
https://vivaclipper.wordpress.com/2013/01/07/array-basics/
http://cch4clipper.blogspot.com/2011/05/harbourxharbour-diff-957.html
Regards, saludos.
https://vivaclipper.wordpress.com/2014/01/07/adel/
https://www.itlnet.net/programming/program/reference/c53g01c/ng34b.html
https://vivaclipper.wordpress.com/2013/01/07/array-basics/
http://cch4clipper.blogspot.com/2011/05/harbourxharbour-diff-957.html
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
- nageswaragunupudi
- Posts: 10729
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Been thanked: 10 times
- Contact:
Re: Adel
For next is the best way
Code: Select all | Expand
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
Regards
G. N. Rao.
Hyderabad, India
G. N. Rao.
Hyderabad, India