Salve, avrei bisogno di leggere i valori passati attraverso una querystring, ovvero
?nome=antonio&cognome=Prisco........
Non ho trovato nessuna funzione che mi faccia il parsing della stringa.
Avete una soluzione?
Grazie
Potresti utilizzare Regex.
Con un pattern come (\w*=\w*) ottieni dei gruppi del tipo: nome=antonio, cognome=Prisco etc
Se invece provi con (=\w*) ottieni i soli valori preceduti dal segno uguale (es. =antonio)
Possibile che non esista un modo che faccia il parsing di una querystring ed ottenere i valori semplicemente con una funzione del tipo:
get_value("nome") ?
Dove vuoi leggere il querystring? Se vuoi farlo su .NET puoi usare il Params Collection di
Request oggetto. Vedi questo codice in VB.NET:
B4X:
Dim sParams() As String = Request.Params.AllKeys
Dim sQ As String = "-"
For ii As Integer = 0 To sParams.GetUpperBound(0)
sQ &= sParams(ii) & "=" & Request.Params(sParams(ii)) & "-"
Next
Su B4A puoi usare il codice seguente in un modulo di codice (p.e. CommonFunctions):
B4X:
Sub Split(Text As String, Delimiter As String) As String()
Return Regex.Split(Delimiter, Text)
End Sub
Poi puoi chiamarlo dal tuo codice così:
B4X:
Dim sQrs() as String
sQrs = CommonFunctions.Split(Querystring,"&")
Dim m as Map
m.Initialize
For i = 0 to sQrs.size - 1
Dim sM() as String
sM = CommonFunctions.Split(sQrs(i),"=")
m.Put(sM(0),sM(1))
Next
Questi due snippets di codice ti daranno una Map con i paia nome-valore.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.