allora devi andare nel modulo
e inserire una funzione che ci servirà
La funzione prende come input un valore stringa e deve tornare sia un array con i numeri contenuti nella stringa sia la quantita di numeri.
la stringa in input ovviamente avrà i numeri separati da un carattere separatore , la particolarità è che questa tua funzione dovra funzionare anche non sapendo quale sia questo carattere separatore.
ora ti ricordi che negliscript per lavorare sulle stringhe abbiamo left , mid , right , in vb net dato che le variabili sono oggetti dispongono di metodi
per esempio una vaiabile di tipo stringa dispone del metodo substring (index, lunghezza) che consente di estrarre una sottostringa passando la posizione che parte da 0 e la lunghezza del dato da estrarre
per esempio
dim a as string = "ciao"
msgbox s.substring(0,1) da come risultato la "c"
per sapere se un carattere è numerico si usa la funzione isNumeric allaquale si passa la stringa del carattere ,torna true se appunto il carattere è compreso tra 0 e 9
in vbnet a differenza di vbscript c'è la tipizzazione dei dati quindi le variabili come hai visto si dichiarano specificandone il tipo , as string , as integere eccetera
veniamo a noi ecco il prototipo della funzione , non far come lottotom che mi ci metti qualche estroso parametro in piu
devi leggere carattere per carattere la stringa , se è un numero la accodi in uan var temporanea appena non lo è nella var temporanea avrai un valore che sarà il numero a qule punto lo devi inserire nell'array , quello sarà l'array che torna indietro al chiamante , i lrisultato della funzione deve essere la quantita di elementi dell'array
cioeè se io passo la stringa : 1;5,15 26;30 la funzione mi devve tornare i 5 numeri 1,5,15,26,30 nell'array e 5 come risultato
Codice:
public function StringaNumToArrayNum (sNumeri as string , byref aRetN() as integer ) as integer
end function
fatta questa ne fai una tale e quale che si chiama allo stesso modo ma che torna un array di boolean
in dot net possono coesistere funzioni con lo stesso nome se hanno parametri differenti , poi è il compilatore che capisce quale usare
Codice:
public function StringaNumToArrayNum (sNumeri as string , byref aRetN() as boolean) as integer
end function
[code