Italian calcolare la quantità

fifiddu70

Well-Known Member
Licensed User
Longtime User
Attraverso il codice qui sotto posso stabilire quanti prodotti ho venduto come unità singola
praticamente il risultato è:
Pizza margherita : 1
Pizza napoli : 1

in uno spinner ho memorizzato delle voci ad esempio: Pizza margherita - Euro 6.50
ma se io ad esempio seleziono con un'altro spinner la quantità di 3 pizze margherita
praticamente nel codice sotto non mi scrive 3 pizze margherita ma solamente
Pizza margherita :1

come risolvere il problema?

B4X:
Sub RegistraSelezione(valore As String)
    ' Estrai il nome senza il prezzo
    Dim nomeItem As String = valore.SubString2(0, valore.IndexOf(" -"))
    ' Aggiorna contatore
    If venditeMap.ContainsKey(nomeItem) Then
        venditeMap.Put(nomeItem, venditeMap.Get(nomeItem) +1 )
    Else
        venditeMap.Put(nomeItem,  spquantita.SelectedItem)
    End If
    
    
End Sub

Sub SalvaVenditeSuFile
    Dim sb As StringBuilder
    sb.Initialize
    
    For Each nome As String In venditeMap.Keys
        sb.Append(nome).Append(": ").Append(venditeMap.Get(nome)).Append(CRLF)
    Next
    
    File.WriteString(File.DirInternal, "vendite.txt", sb.ToString)
    ToastMessageShow("File salvato in vendite.txt", False)
End Sub

Private Sub btnprodottivenduti_Click
    Log("Pulsante lettura prodotti venduti premuto")
    Dim path As String = File.DirInternal
    Dim nomeFile As String = "vendite.txt"

    If File.Exists(path, nomeFile) Then
        Log(" il documento di testo vendite.txt è presente")
        txtvisualizzacomande.Text=""
        Dim contenuto As String = File.ReadString(path, nomeFile)
        txtvisualizzacomande.Text = contenuto
        Log(contenuto)
    Else
        txtvisualizzacomande.Text = "Nessun file di vendite trovato."
    End If
End Sub
 

LucaMs

Expert
Licensed User
Longtime User
Usa spesso dei log, per scovare i problemi.

In questo caso, mettine uno dopo:
venditeMap.Put(nomeItem, venditeMap.Get(nomeItem) +1 )
Log("nome: " & nomeItem & Tab & venditeMap.Get(nomeItem))

e dopo:
venditeMap.Put(nomeItem, spquantita.SelectedItem)
log("Quantità selezionata: " & spquantita.SelectedItem)
 

fifiddu70

Well-Known Member
Licensed User
Longtime User
Usa spesso dei log, per scovare i problemi.

In questo caso, mettine uno dopo:

Log("nome: " & nomeItem & Tab & venditeMap.Get(nomeItem))

e dopo:

log("Quantità selezionata: " & spquantita.SelectedItem)
perfetto, grazie, risolto.
 
Top