Array multidimensionali

Sezione dedicata al sistema di sviluppo BASCOM-AVR per i micro AVR
At90s, Attiny, Atmega e Xmega

Array multidimensionali

Postby anoir2 » 08 Apr 2013, 18:29

È possibile usare array multidimensionali su bascom? Se si, come? Vi ringrazio per la pazienza :)
anoir2
 
Posts: 7
Joined: 31 Mar 2013, 15:42

Re: Array multidimensionali

Postby Fagos » 08 Apr 2013, 19:10

@anoir2, la funzione non è nativa ma e' possibilissimo, basta implementare 2 funzioni.
- una per settare l'array bidimensionale
- una per prelevare il valore dall'array bidimensionale

ciao
User avatar
Fagos
 
Posts: 100
Joined: 31 Aug 2011, 15:01

Re: Array multidimensionali

Postby filosofo » 09 Apr 2013, 07:41

@Anoir
quante dimensioni ti servono? inoltre, l'array è di tipo byte, word, o altro tipo?
poichè un array di 10*10 elementi byte si magnano 100byte di ram
ma già 10*10 di elementi double occupano 100*8 = 800 byte (non poco per un avr)
filosofo
 
Posts: 74
Joined: 23 Oct 2011, 09:52
Location: Dintorni di Roma

Re: Array multidimensionali

Postby anoir2 » 09 Apr 2013, 07:57

deve essere un array di byte... 2 dimensioni
anoir2
 
Posts: 7
Joined: 31 Mar 2013, 15:42

Re: Array multidimensionali

Postby deluca » 09 Apr 2013, 09:24

@anoir,
il bascom non supporta array a 2 dimensioni.
ma realizzare le funzioni per supportarle è semplicissimo come ha già detto @fagos.

questo un esempio di come dichiarare le funzioni:
Code: Select all
Const arrayd1 = 10                                         ' dimensione 1
Const arrayd2 = 10                                         ' dimensione 2
Const arrayd1d2 = arrayd1 * arrayd2               ' calcolo elementi in 2d-Array (100)

Declare Function Get_array2d(byval D1 As Byte, Byval D2 As Byte) As Byte
Declare Sub Set_array2d(byval D1 As Byte, Byval D2 As Byte, Byval Pvalue As Byte)
Dim Darray2d(arrayd1d2) As Byte                   'riserva n byte in memoria per l'array


Dimmi se sai come continuare...... se nò sono costretto a scrivervi il codice apposta
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: Array multidimensionali

Postby anoir2 » 09 Apr 2013, 11:05

Vabbe, è un array ad una sola dimensione che si utilizza con due for nidificati allora.. come avevo pensato già... Vabbe, vi ringrazio, saluti :D
anoir2
 
Posts: 7
Joined: 31 Mar 2013, 15:42

Re: Array multidimensionali

Postby deluca » 09 Apr 2013, 11:10

@anoir, nessun vabbe!!
Non viene utilizzato nessun ciclo for,
vengono trattate come se fossero dei puntatori, il ciclo for non c'entra nulla. ;)
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)


Return to BASCOM-AVR

Who is online

Users browsing this forum: Baidu [Spider] and 10 guests