Primo metodo
Sub AggiunteList_ItemLongClick (Position As Int, Value As Object)
PizV14=PizV14.replace(AltreTxt.Text,"").replace(" "," ").Trim
End Sub
secondo:
Sub AggiunteList_ItemLongClick (Position As Int, Value As Object)
If PizV14.EndsWith(AltreTxt.Text) Then
PizV14=PizV14.replace(" " & AltreTxt.Text,"")
Else
PizV14=PizV14.replace(AltreTxt.Text & " ","")
End If
End Sub
oppure: (secondo alternativo)
Sub AggiunteList_ItemLongClick (Position As Int, Value As Object)
If PizV14.StartsWith(AltreTxt.Text) Then
PizV14=PizV14.replace(AltreTxt.Text & " ","")
Else
PizV14=PizV14.replace(" " & AltreTxt.Text,"")
End If
End Sub
terzo
Sub AggiunteList_ItemLongClick (Position As Int, Value As Object)
PizV14=""
For Each SingolaVoce As String In ListaVarSpin
If SingolaVoce<>AltreTxt.Text Then PizV14=PizV14 & SingolaVoce & " "
Next
PizV14=PizV14.Trim ' oppure PizV14=PizV14.Substring2(0,PizV14.Length-1)
End Sub
Quarto:
Sub AggiunteList_ItemLongClick (Position As Int, Value As Object)
PizV14=""
AggiunteList.RemoveAt(Position)
For I=0 To AggiunteList.Size
PizV14=PizV14 & " " & AggiunteList.GetItem(I)
Next
PizV14=PizV14.Trim ' oppure PizV14=PizV14.Substring(1)
End Sub
il quinto modo te lo ha già suggerito
@Filippo:
Sub AggiunteList_ItemLongClick (Position As Int, Value As Object)
If PizV14.IndexOf(AltreTxt.Text & " ") >= 0 Then
PizV14.Replace(AltreTxt.Text & " ", "")
Else If PizV14.IndexOf(AltreTxt.Text) >= 0 Then
PizV14.Replace(AltreTxt.Text, "").Trim
End If
' -- Alternativa --
' If PizV14.IndexOf(" " & AltreTxt.Text) >= 0 Then
' PizV14.Replace(" " & AltreTxt.Text, "")
' Else If PizV14.IndexOf(AltreTxt.Text) >= 0 Then
' PizV14.Replace(AltreTxt.Text, "").Trim
' End If
End Sub
Come avrai notato, quando si toglie l'ultimo elemento (ma va bene anche per gli elementi intermedi), tolgo anche lo spazio che precede, così il penultimo (ora diventato ultimo) non ha spazi che lo seguono. Non va applicato solo se togli il primo elemento che non ha spazi che lo precedono.
Viceversa se togli il primo elemento va tolto anche lo spazio successivo (e va bene anche per gli elementi intermedi), ma ovviamente non per l'ultimo elemento.
Cmq il primo metodo è il più semplice
PS: non capisco a che serva
AltreTxt.Text se la stringa selezionata viene restituita in
Value e in
AggiunteList.GetItem(position). Non puoi usare
Value?