Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: Textboxien arvot taulukoksi (VB.Net)

Xet [21.07.2004 17:30:03]

#

Hei, yritän tehdä tilastointiohjelmaa, jossa käyttäjä syöttää textboxeihin arvoja. Yhdelle riville esim viisi eri arvoa, ja rivejä on vaikka 25.
Olen nimennyt Textbox:t seuraavasti: rivi1s1, rivi1s2, rivi1s3...Rivi2s1,Rivi2s2...Rivi25s5.
Miten saisin arvot helposti luettua (25, 5) taulukoon, vaikka kaksinkertaisella for-loopilla. Vai onko noi textboxit jotenkin jo taulukoitu, että niiden arvoihin pääsee suoraan kiinni? Yksitellen noiden arvojen lukeminen, kun tuntuu jotenkin turhan työläältä, viissiin syntaksi on mulle se joka tökkii. Siis jotenkin seuraavasti:

Dim taulukko(24, 4)
Dim i, j As Integer
for i = 0 to 24
   for j = 0 to 4
      taulukko(i, j) = Rivi(i+1)s(j+1).text ' siis miten täsä rivi1s1.text ... rivi25s25
   next
next

Vai onko siis olemassa jotain parempaa tapaa -kiitos!

Blaze [21.07.2004 18:46:51]

#

https://www.ohjelmointiputka.net/koodivinkit/24169-vb-net-for-each-luuppi

Sovella tuota.

Xet [22.07.2004 18:09:25]

#

Ok, sovelsin, mutta siinä on pieni ogelma, jos teen asian seuraavasti:

Public Sub RivitTaulukkoon()
    Dim st As String
    Dim i, j As Integer
    i = 0
    j = 0
    For Each MyObject As Object In Me.Controls
        st = CStr(MyObject.name)
        If st.IndexOf("Rivi" + CStr(i) + "s" + CStr(j)) Then
            'virheenkäsittely tähän, esim jos null
            laskentaTaulu(i, j) = CInt(MyObject.text)
            End If
    Next
End Sub

Mistä muuten puuttuu i:n ja j:n kasvattaminen kokonaan, ja jos pistän niille molemmille for loopit ympärille, niin se käy läpi koko me.controls taulukon joka kerta uudelleen!

Tämän voi varmaan korjata, mutta ihan vaan koska haluaisin tietää, ja koska varsinkin arvoja asettaessa se olisi hurjasti kätevämpää - takaisin alkuperäiseen ongelmaan ytimeen. Miten voin liittää for loopissa juoksevan indexin i muuttujan nimeen, jotta muutan oikean texboxin arvoa?


Toivottavasti jaksatte vielä vastata aloittelijalle, ja kiitos edellisetä, se auttoi minua ymmärtämään paljon.

hunajavohveli [22.07.2004 20:11:42]

#

Toivottavasti nyt ymmärsin ongelmasi oikein:
Pistä noiden i:n ja j:n kasvatus tuon loopin sisään.

Ja tuo toinen ongelma:
Yrität siis liittää numeerisen muuttujan i:n merkkijonoon?
Str-funktiolla (toivottavasti löytyy .netistäkin) voit muuntaa numeerisen muuttujan merkkijonoksi.

nimi = nimi + Str(i)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta