Italian Riordinare le MAP

LordZenzo

Well-Known Member
Licensed User
Longtime User
salve a tutta la comunity

ho un altro problemino
la mia applicazione usa delle MAP per tenere memoria
e salva le MAP per poterle caricare alla successiva apertura dell'app
ora se io vado a riordinare le varie coppie KEY/VALUE per poterle vedere nell'ordine da me scelto all'interno di una lista, finche il programma è in funzione la MAP è ordinata, ma quando vado a salvarla e poi ricaricarla l'ordine si perde, tornando l'ordine di creazione originario delle KEY/VALUE
a nulla serve creare una MAP di appoggio e reinizializare la MAP stessa
perche? dove sbaglio?
la routine che uso per spostare una determinata coppia KEY/VALUE (migliorabile lo so)
B4X:
    If Lpos>0 Then
          K1=orari.GetKeyAt(Lpos)
        K2=orari.GetkeyAt(Lpos-1)
        V1=orari.GetvalueAt(Lpos)
        V2=orari.GetvalueAt(Lpos-1)
        appogio.Clear
        Dim ii As Int
        ii=0
        Do Until (ii=(orari.Size))
            If ii=(Lpos-1) Then
                appogio.Put(K1,V1)
              Else
                If ii=Lpos Then
                    appogio.Put(K2,V2)
                Else
                    appogio.Put(orari.GetKeyAt(ii),orari.GetValueAt(ii))
                End If
              End If
            ii=ii+1
        Loop
        ii=0
        orari.Clear
        orari.Initialize
        Do Until (ii=(appogio.Size))
            orari.Put(appogio.GetKeyAt(ii),appogio.GetValueAt(ii))
            ii=ii+1
        Loop       
    End If
 

djveleno

Active Member
Licensed User
Longtime User
Se il file Map lo scrivi, poi rimarrà sempre invariato, nella libreria Core, il metodo .streams.File prevede una proprietà Write.Map, quindi con File.WriteMap potrai, dopo aver riordinato la Map salvarla, per poi richiamarla con File.ReadMap
 

LordZenzo

Well-Known Member
Licensed User
Longtime User
Se il file Map lo scrivi, poi rimarrà sempre invariato, nella libreria Core, il metodo .streams.File prevede una proprietà Write.Map, quindi con File.WriteMap potrai, dopo aver riordinato la Map salvarla, per poi richiamarla con File.ReadMap


il comando file.readmap è il primo comando che eseguo ed il file.writemap l'ultimo, eppure la mappa sebbene durante il funzionamento del programma risulta riordinata, sebbene io cancello il file su "disco" prima di riscriverlo, la map rimane invariata!!!
questo è il problema!!
 
Top