Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Split
Forum - Visual Basic 6 - Split

Avatar
Roberto VB (Member)
Expert


Messaggi: 419
Iscritto: 29/01/2007

Segnala al moderatore
Postato alle 21:58
Domenica, 20/01/2008
Questo topic è stato chiuso dal moderatore

Salve, temo di non aver capito bene come si utilizza la funzione split. Se inserisco il codice:

Text1.Text = Split("123:221:334", ":")

Mi dà l'errore: "tipo non corrispondente"
Perchè?

PM
Avatar
Due (Normal User)
Pro


Messaggi: 68
Iscritto: 19/10/2007

Segnala al moderatore
Postato alle 22:24
Domenica, 20/01/2008
Secondo me il problema sta nel fatto che la stringa restituita dalla funzione split() è un'array.
Non ho provato e non so nemmeno se possa funzionare, ma prova trasformare il tuo codice così:
Codice sorgente - presumibilmente VB.NET

  1. Dim n as integer, s as string
  2. s=split("123:221:334",":")
  3. for n=1 to 3
  4.     text1.text = text1.text & s(n) & vbCrLf
  5. next


Ultima modifica effettuata da Due il 20/01/2008 alle 22:25
PM
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 0:56
Lunedì, 21/01/2008
La Split restituisce un array i cui elementi sono ottenuti a partire dalla suddivisione delle parti della stringa. Quindi

Dim a() As String
    
a = Split("123:221:334", ":")

e poi utilizzi gli elementi dell'array ...

PM
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 0:56
Lunedì, 21/01/2008
La Split restituisce un array i cui elementi sono ottenuti a partire dalla suddivisione delle parti della stringa. Quindi

Dim a() As String
    
a = Split("123:221:334", ":")

e poi utilizzi gli elementi dell'array ...

PM
Avatar
Roberto VB (Member)
Expert


Messaggi: 419
Iscritto: 29/01/2007

Segnala al moderatore
Postato alle 14:05
Lunedì, 21/01/2008
Testo quotato

Postato originariamente da Due:

Secondo me il problema sta nel fatto che la stringa restituita dalla funzione split() è un'array.
Non ho provato e non so nemmeno se possa funzionare, ma prova trasformare il tuo codice così:
Codice sorgente - presumibilmente VB.NET

  1. Dim n as integer, s as string
  2. s=split("123:221:334",":")
  3. for n=1 to 3
  4.     text1.text = text1.text & s(n) & vbCrLf
  5. next



Si funziona,andava apportata solo qualche modifica

Codice sorgente - presumibilmente VB.NET

  1. Dim n As Integer, s() As String
  2. s = Split("123:221:334", ":")
  3. For n = 0 To 2
  4.     Text1.Text = Text1.Text & s(n) & vbCrLf
  5. Next



Comunque ora ho risolto, grazie a tutti

Ultima modifica effettuata da Roberto VB il 21/01/2008 alle 14:06
PM
Avatar
kryc (Ex-Member)
Rookie


Messaggi: 36
Iscritto: 11/12/2007

Segnala al moderatore
Postato alle 20:26
Lunedì, 21/01/2008
invece che 0 e 2 metti lbound per l'indice minimo ( cioè 0) e ubound per l'indice massimo, ti risolvi il problema nel ciclo quando lavori su molti elementi :)

PM
Avatar
paoloyes (Normal User)
Rookie


Messaggi: 49
Iscritto: 11/12/2009

Segnala al moderatore
Postato alle 23:19
Martedì, 02/03/2010
come posso fare questa azione tramite un bottone?

PM
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 15:24
Mercoledì, 03/03/2010
la inserisci nella sub click del pulsante... ti consiglio di leggerti un manuale di vb

comunque chiudo dato che la discussione era del 2008 e come da regolamento non si riprendono topic vecchi.

PM