Salve a tutti,
ho un problema nel cancellare una serie di elementi di un array mulidimensionale.
Immaginiamo di avere un array del tipo
aArray:={}
aadd(aArray,{1,"pippo"})
aadd(aArray,{2,"pluto"})
aadd(aArray,{1,"topolino"})
aadd(aArray,{2,"paperino"})
Vorrei cancellare dall'array i nomi che hanno valore 1 nel primo elemento
ho provato con
for i:=1 to len(aArray)
if aArray[i,1]=1
adel(aArray,i)
endif
next
ma credo sia incorretto in quanto mi cambia la struttura dell'array
Qualche idea a riguardo ?
Grazie in anticipo
aDel e Array multidimensionali
Moderator: Enrico Maria Giordano
- Marco Turco
- Posts: 858
- Joined: Fri Oct 07, 2005 12:00 pm
- Location: London
- Contact:
aDel e Array multidimensionali
Best Regards,
Marco Turco
SOFTWARE XP LLP
Marco Turco
SOFTWARE XP LLP
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Re: aDel e Array multidimensionali
Code: Select all
#include "Fivewin.ch"
FUNCTION MAIN()
LOCAL aArray := {}
LOCAL i
AADD( aArray, {1, "pippo"} )
AADD( aArray, {2, "pluto"} )
AADD( aArray, {1, "topolino"} )
AADD( aArray, {2, "paperino"} )
FOR i = 1 TO LEN( aArray )
? aArray[ i, 1 ], aArray[ i, 2 ]
NEXT
FOR i = 1 TO LEN( aArray )
IF aArray[ i, 1 ] = 1
ADEL( aArray, i )
ASIZE( aArray, LEN( aArray ) - 1 )
ENDIF
NEXT
FOR i = 1 TO LEN( aArray )
? aArray[ i, 1 ], aArray[ i, 2 ]
NEXT
RETURN NIL
- Marco Turco
- Posts: 858
- Joined: Fri Oct 07, 2005 12:00 pm
- Location: London
- Contact:
- César E. Lozada
- Posts: 128
- Joined: Wed Oct 26, 2005 12:18 pm
- Location: Los Teques, Miranda, Venezuela
Re: aDel e Array multidimensionali
xHarbour:
ADEL( aArray, i ); ASIZE( aArray, LEN( aArray ) - 1 ) => aDel(aArray,i,.T.) //Third parameter stretchs the array.
aSize(aArray,Len(aArray)+1); aIns(aArray,i); aArray:=xIns => aIns(aArray,i,xIns,.T.) //Four parameter expands the array.
Regards
ADEL( aArray, i ); ASIZE( aArray, LEN( aArray ) - 1 ) => aDel(aArray,i,.T.) //Third parameter stretchs the array.
aSize(aArray,Len(aArray)+1); aIns(aArray,i); aArray:=xIns => aIns(aArray,i,xIns,.T.) //Four parameter expands the array.
Regards