{{htmlmetatags>metatag-robots=()
metatag-title=(DIM | ugBASIC User Manual)
metatag-keywords=(ugBASIC,Commodore 64,Commodore PLUS/4,ZX Spectrum)
metatag-description=(Pagina del manuale per DIM)
metatag-media-og:image=(:ugbasic:logo-ugbasic-fb.png)
metatag-og:title=(DIM | ugBASIC User Manual)
metatag-og:description=(Pagina del manuale per DIM)
}}
====== ugBASIC Manuale Utente ======
===== DIM ✓ =====
===== SINTASSI =====
DIM variable [AS datatype] [, variable [AS datatype] [ , variable [AS datatype] ] ]
DIM variable [AS datatype] = constant
DIM id [AS type] ( d1 [, d2 [ , ... ] ] )
DIM id [AS type] ( d1 [, d2 [ , ... ] ] ) = #[hex]
DIM id [AS type] ( d1 [, d2 [ , ... ] ] ) = #{v1, v2, ... }
DIM id [AS type] WITH v ( d1 [, d2 [ , ... ] ] )
==== SCOPO ====
Il comando ''DIM'' permette di definire un vettore o una matrice multidimensionale
di valori, e di inizializzare tale array con i valori che preferiamo.
La sintassi più semplice è quella che definisce un vettore di una singola dimensione:
in tal caso, è sufficiente indicare il numero di elementi tra parentesi.
Con la parola chiave ''AS'' si può indicare il tipo di dato di ogni singolo elemento.
Si può, ovviamente, definire una matrice (cioè un vettore con due o più dimensioni).
In tal caso è sufficiente indicare il numero di elementi per ogni dimensione,
separandoli con una virgola.
Per definizione, l'array sarà inizializzato con un valore pari a zero per ogni elemento.
Si può cambiare tale comportamento indicando una inizializzazione per assegnazione.
L'inizializzazione può essere fatta indicando ogni singolo valore di ogni singolo
elemento, con lo stesso tipo di dato con cui è stata creata la matrice
(con la sintassi ''# { ... }''), oppure descrivendo l'area di memoria che
occuperà la matrice, byte per byte (con la sintassi ''#[...]'').
==== ESEMPIO ====
DIM x(42)
DIM values AS DWORD(20,20)
DIM y AS BYTE(8) = #[ff80ff80ff80ff80]
DIM z AS BYTE(8) = _
#{ 255, 128, 255, 128, 255, 128, 255, 128 }
DIM scores WITH 0 (2)
Si vedano anche i seguenti file di esempio:
* ''[[https://github.com/spotlessmind1975/ugbasic/tree/main/examples/arrays_examples_01.bas|arrays_examples_01.bas]]''
* ''[[https://github.com/spotlessmind1975/ugbasic/tree/main/examples/arrays_examples_02.bas|arrays_examples_02.bas]]''
* ''[[https://github.com/spotlessmind1975/ugbasic/tree/main/examples/arrays_examples_03.bas|arrays_examples_03.bas]]''
* ''[[https://github.com/spotlessmind1975/ugbasic/tree/main/examples/arrays_examples_04.bas|arrays_examples_04.bas]]''
* ''[[https://github.com/spotlessmind1975/ugbasic/tree/main/examples/arrays_examples_05.bas|arrays_examples_05.bas]]''
* ''[[https://github.com/spotlessmind1975/ugbasic/tree/main/examples/contrib_sierpinski.bas|contrib_sierpinski.bas]]''
* ''[[https://github.com/spotlessmind1975/ugbasic/tree/main/examples/contrib_sierpinski2.bas|contrib_sierpinski2.bas]]''
* ''[[https://github.com/spotlessmind1975/ugbasic/tree/main/examples/contrib_sierpinski3.bas|contrib_sierpinski3.bas]]''
==== ABBREVIAZIONE ====
Di
==== DISPONIBILE SU ====
*
* Atari (400/800)
* Atari XL/XE
* Commodore 128 (MOS 8502)
* Commodore 128 (Zilog Z80)
* Commodore 64
* Commodore 64+REU
* TRS-80 Color Computer
* TRS-80 Color Computer 3
* ColecoVision
* Amstrad CPC 664
* Dragon 32
* Dragon 64
* Thomson MO5
* Thomson MO5
* Olivetti Prodest PC128
* Commodore PLUS/4
* SEGA SC-3000
* SEGA SG-1000
*
* VG-5000
* Commodore VIC-20
* ZX Spectrum 48
==== VEDI ANCHE ====
[[VAR]]
==== PROBLEMI? ====
Se si riscontra un problema nell'utilizzare questo comando, se si ritiene che vi sia un bug oppure che la spiegazione sia poco chiara, è possibile [[https://github.com/spotlessmind1975/ugbasic/issues/new?title=SEGNALAZIONE SU DIM|aprire una segnalazione]] per questa parola chiave su GitHub. Grazie!===== POWERED BY =====
[[:it:ugbasic:user:index|{{ :ugbasic:user:logo-ugbasic.png?nolink&600 |}}]]