Witam! Chciałbym się poradzić, czy istnieje możliwość zapisania zawartości pola tekstowego do tablicy? Chodzi o wpisane w textbox liczby oddzielone od siebie spacjami, by każda z nich była elementem przypuśćmy, że tablicy tab(n)?
- Rejestracja:około 15 lat
- Ostatnio:około 4 lata
Chodzi o użycie vb.net. Mogę prosić o pomoc w rozwiązaniu tego przykładu?
txtLiczby.Text = "5 10 15 20 25"
Dim Liczby As String = Split(txtLiczby.Text) '??????
Dim tab(5) As Double
'Co z ConvertAll???
For Dim i As Integer = 0 To 5
tab(i) = '.....????
Next
- Rejestracja:około 15 lat
- Ostatnio:około 4 lata
Nie udało mi się wykorzystać wszystkich wspomnianych przez Ciebie funkcji...
Dim wyrazya As String = txtLos.Text
Dim tablicaa() As String = wyrazya.Split(" ")
gdzie:
txtLos.Text = "5 10 15 20"
Te elementy są dobrze tablicowane w tablicaa, jednak aby móc użyć każdego z nich, muszą być typu Double. I tu rodzi się mój problem konwersji... Gdybym na przykład zechciał użyć drugiego elementu do obliczeń:
Dim a As Double = tablicaa(2)
WartFunk = WartoscCiagu(m, wznx, a)
Funkcja WartoscCiagu jest typu double:
Function WartoscCiaguTabela(ByVal ilosc As Integer, ByVal X As Double, ByVal a As Double) As Double
Dim s As Double
....
return s
End Function

- Rejestracja:ponad 16 lat
- Ostatnio:około 9 lat
http://msdn.microsoft.com/en-us/library/exc45z53.aspx#Y0
Za jej pomocą możesz cało tablicę, jej wszystkie elementy przekonwertować z jednego typu na inny.
- Rejestracja:około 15 lat
- Ostatnio:około 4 lata
Rev napisał(a)
No i do tego możesz użyć
Array.ConvertAll
.
Dim tablicaDoubli() As Double = Array.ConvertAll(napis.Split(" "), Function(str As String) Double.Parse(str))
Input string was not in a correct format.
Wartość pola tekstowego nie jest pusta, zawiera liczby oddzielone spacjami; w czym więc może tkwić problem?
Pole tekstowe zostaje wypełnione przy wywołaniu funkcji w Subie obsługi przycisku, tablica zaś jest konwertowana we wspomnianym subie.
Mój kod dla powyższych moich linijek wygląda następująco:
Dim wyrazya As String = txtLos.Text
Dim tablicaDoubli() As Double = Array.ConvertAll(wyrazya.Split(" "), Function(str As String) Double.Parse(str))
- Rejestracja:około 18 lat
- Ostatnio:około rok
ew. możesz to przeładowanie metody Split zamienić na napis.Split(New Char() {" "}, StringSplitOptions.RemoveEmptyEntries)
, będzie bardziej "wyrozumiałe".
- Rejestracja:prawie 14 lat
- Ostatnio:około 10 lat
- Postów:106
Polecam double.tryparse :) nie rzuca nic, a początkującemu życie ułatwia
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.