Italian Informazioni sulle Map

SSDM71

Active Member
Licensed User
Buongiorno e buona pasqua,

vorrei chiedervi più informazioni sulle Map. Io so:

-Sono dei file di testo
-Sono dei file in cui puoi salvare più informazioni

Le mie domande:

-Sono come delle matrici a due dimensioni?
-Come sono strutturate?

Grazie,
 

LucaMs

Expert
Licensed User
Non sono file di testo, sono molto più simili alle matrici, quindi variabili.

In effetti puoi considerarle un po' come matrici a due dimensioni, ma con molti vantaggi, rispetto a queste.

Il "primo indice" funge da chiave e può essere di qualunque tipo, numero o stringa, ad esempio. Anche il secondo può contenere qualunque tipo, Int, Long, ... ma anche oggetti creati da una tua classe o altre map o list... praticamente di tutto.

Es:
B4X:
Dim mapClassifica As Map
mapClassifica.Initialize

mapClassifica.Put("Juventus", -100) ' hehehe
mapClassifica.Put("Inter", 999)

log(mapClassifica.Get("Inter")) ' restituirà 999
log(mapClassifica.GetDefault("Lazio", 50)) ' dato che non ho caricato il punteggio della Lazio, restituirà 50 come default
log(mapClassifica.GetKeyAt(1)) ' restituirà la chiave del secondo elemento (1) ovvero "Inter"
log(mapClassifica.GetValueAt(1)) ' restituirà il valore del secondo elemento, cioè 999
 

SSDM71

Active Member
Licensed User
Scrivo la map
B4X:
Dim Schier As Map
Schier.Initialize
Schier.Put("Schieramento",matGIOCO)
File.WriteMap(File.DirInternal,"Schieramento"&num&".txt",Schier)
MatGioco è una matrice di tipo stringa

B4X:
Dim Schier As Map
Schier.Initialize
Schier=File.ReadMap(File.DirInternal,"Schieramento"&Position&".txt")
matGIOCO=Schier.Get("Schieramento")
Quando la leggo mi da questo errore (quello in foto)

In cosa sbaglio?

Grazie,
 

Attachments

LucaMs

Expert
Licensed User
Non sbagli nella memorizzazione ma il salvataggio non consente tutto; in questo caso, non consente il salvataggio della matrice.
Puoi solo continuare a gestire la map in quel modo, ma dovrai codificare il salvataggio e la rilettura "a mano", purtroppo.
 
Top