Newsgroup: it.comp.lang.visual-basic
Titolo: prelevare dati da una stringa

Scusate forse la richiesta banale ma sono un principiante.
Data una stringa es:  12.7.45.36.75 come faccio a memorizzare in una
variabile solo i valori numerici?
Un grazie anticipato.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 variabile solo i valori numerici?
Se usi 
VB.NET
:
   Dim s As String = "12.7.45.36.75"
   Dim i As Integer
   i = CInt(s.Split(CChar("."))(0))
In i ti trovi 12, il primo numero. Per prelevare i successivi devi 
cambiare l'indice. Metterai 1, 2 ecc.
Se usi VB6 non so.
-- 
news:it-alt.comp.software.openoffice : Il newsgroup dedicato a
OpenOffice.org, la suite open source di applicazioni per ufficio.
Scarica "OpenOffice.org 3: Soluzioni a raccolta", molto più di semplici 
FAQ! 
http://it.openoffice.org/doc/manuali/

 Se usi VB6 non so.
Stessa cosa fondamentalmente:
Dim ss As String, i As Integer
Dim ele() As String
ss = "12.7.45.36.75"
ele = Split(ss, ".")
For i = 0 To UBound(ele)
    Debug.Print CInt(ele(i))
Next

 i = CInt(
Ma non sono "deprecati" in vb.NET?
Io di solito uso Convert.ToIntXX e simile per le variabili, e
DirectCast/CType per gli oggetti.

 Un grazie anticipato.
Per tutti,una mia dimenticanza uso VB6


 Io di solito uso Convert.ToIntXX
Credo che sia CInt() che Convert.ToInt32() alla fine richiamano 
Int32.Parse(), anche se non sono sicuro (bisognerebbe guardare con 
Reflector). Quindi direi che se proprio bisogna fare i puristi si 
dovrebbe usare Int32.Parse() o Int32.TryParse(), che sono metodi diretti 
dell'oggetto.


 una mia dimenticanza uso VB6
Visto che dici di essere un principiante, c'è un motivo particolare per 
cui usi VB6?


 cui usi VB6?
Sono un principiante nel senso che ho sviluppato qualche piccolo programma
da hobbista con vb6 diversi anni fa.Quindi le mie modeste conoscenze si
limitano a questo linguaggio.Tutto qui.


 limitano a questo linguaggio.Tutto qui.
Te lo chiedo perché se non hai un motivo particolare per usare VB6, 
tipicamente se non devi manutene vecchie applicazioni in VB6 o non ti è 
richiesto specificamente VB6 per un qualche motivo didattico o 
professionale, allora non ha senso che usi VB6.
Un hobbista principiante è nella situazione migliore per buttare VB6 nel 
cesso, scaricarsi VB 2010 Express che è anche gratis, e iniziare a 
lavorare con quello che è l'espressione delle attuali tecnologie di 
sviluppo MS.


 sviluppo MS.
Ti ringrazio dei consigli,ma con Vb 2010 Express è legale anche
distribuire  programmi in modalità shareware?


 distribuire  programmi in modalità shareware?
Sì, le versioni Express non hanno alcuna limitazione sulla licenza di 
distribuzione dei programmi prodotti con esse.


 ha scritto nel messaggio 
news:i6qart$917$1...@news.newsland.it...

Considerato che stai usando VB6
prova questo esempio:
Private Sub Command1_Click()
'metti su una form i seguenti oggetti
'command1
'List1
'Text1
Dim stringa As String
Dim Ni As Integer
stringa = Me.Text1.Text
Ni = 1
Me.List1.Clear
For t = 1 To Len(stringa) 'numero caratteri della stringa
If Mid(stringa, t, 1) = "." Then ' se il carattere è un punto
   Me.List1.AddItem Mid(stringa, Ni, t - Ni): Ni = t + 1 ' aggiungi nella 
lista
End If
Next t
Me.List1.AddItem Mid(stringa, Ni, Len(stringa) - Ni + 1): Ni = t + 1 ' 
ultimo numero della stringa
End Sub
ciao fammi sapere come va
Saluti
JS 

 JS
Si,grazie mi va benissimo.
In questa maniera posso anche operare su una stringa con caratteri
separatori di diverso tipo aggiungendo l'operatore or.
