FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index All products support aDel e Array multidimensionali
Posts: 858
Joined: Fri Oct 07, 2005 12:00 PM
aDel e Array multidimensionali
Posted: Mon Mar 23, 2009 07:58 PM
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
Best Regards,



Marco Turco

SOFTWARE XP LLP
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: aDel e Array multidimensionali
Posted: Mon Mar 23, 2009 09:12 PM
Code (fw): Select all Collapse
#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


EMG
Posts: 858
Joined: Fri Oct 07, 2005 12:00 PM
Re: aDel e Array multidimensionali
Posted: Mon Mar 23, 2009 11:13 PM

Funziona. Grazie.

Best Regards,



Marco Turco

SOFTWARE XP LLP
Posts: 128
Joined: Wed Oct 26, 2005 12:18 PM
Re: aDel e Array multidimensionali
Posted: Thu Apr 23, 2009 10:06 PM
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[i]:=xIns => aIns(aArray,i,xIns,.T.) //Four parameter expands the array.

Regards

Continue the discussion