Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Muuttujan osoittaminen tms

novice [09.03.2009 15:06:51]

#

Hei

Miten tällaisen koodin voisi näppäillä näppärämmin?

'Formilla 6 buttonia ja textboxeja
Public Class Form1
    Structure rakenne1
        Dim arvo1 As Integer
        Dim arvo2 As Integer
        Dim arvo3 As String
        Dim arvo4 As Byte
        Dim arvo5 As Byte
        Dim arvo6 As Boolean
        Dim arvo7 As String
    End Structure
    Dim muuttuja1, muuttuja2, muuttuja3, muuttuja4, muuttuja5, muuttuja6 As rakenne1



    Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _
    Button1.Click, _
    Button2.Click, _
    Button3.Click, _
    Button4.Click, _
    Button5.Click, _
    Button6.Click

        Dim nappi As Button = sender
        Dim NapinNumero As Integer = Strings.Right(nappi.Name, 1)
        ' Console.WriteLine(NapinNumero)
        Select Case NapinNumero
            Case 1
                muuttuja1.arvo1 = TextBox1.Text
                muuttuja1.arvo2 = TextBox2.Text
                muuttuja1.arvo3 = TextBox3.Text
                muuttuja1.arvo4 = TextBox4.Text
                muuttuja1.arvo5 = TextBox5.Text
                muuttuja1.arvo6 = False
                muuttuja1.arvo7 = TextBox7.Text
            Case 2
                muuttuja2.arvo1 = TextBox1.Text
                muuttuja2.arvo2 = TextBox2.Text
                muuttuja2.arvo3 = TextBox3.Text
                muuttuja2.arvo4 = TextBox4.Text
                '
                '
                '
            Case 3
                muuttuja3.arvo1 = TextBox1.Text
                muuttuja3.arvo2 = TextBox2.Text
                '
                '
            Case 4
                muuttuja4.arvo1 = TextBox1.Text
                '
                '
            Case 5
                '
                '
            Case 6
                '
        End Select
    End Sub
End Class

Kyllähän sen noinkin tekee, mutta jos buttoneita enempi tai muuttujien rakenne monimutkaisempi, niin menee näpytellessä aikaa ja koodista tulee tarpeettoman pitkä.

Jokin tällainen ratkaisu olisi huomattavasti näppärämpi

Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _
    Button1.Click, _
    Button2.Click, _
    Button3.Click, _
    Button4.Click, _
    Button5.Click, _
    Button6.Click

        Dim nappi As Button = sender
        Dim NapinNumero As Integer = Strings.Right(nappi.Name, 1)
        ' Console.WriteLine(NapinNumero)
        muuttuja(NapinNumero).arvo1 = TextBox1.Text
        muuttuja(NapinNumero).arvo2 = TextBox2.Text
        muuttuja(NapinNumero).arvo3 = TextBox3.Text
        muuttuja(NapinNumero).arvo4 = TextBox4.Text
        muuttuja(NapinNumero).arvo5 = TextBox5.Text
        muuttuja(NapinNumero).arvo6 = False
        muuttuja(NapinNumero).arvo7 = TextBox7.Text
    End Sub

Tuohan ei tietenkään toimi, mutta löytyykö tuohon jotain "helpotusta"?

Grez [09.03.2009 15:21:54]

#

novice kirjoitti:

Tuohan ei tietenkään toimi, mutta löytyykö tuohon jotain "helpotusta"?

Siis miksi muka ei toimi?

Tietenkin muuttujan määrittely pitää olla

Dim muuttuja(6) As rakenne1

mutta koska se ei ollut osa tuota pätkää, niin sillä perusteella ei voi sanoa että tuossa pätkässä olisi vikaa.

neau33 [09.03.2009 15:28:31]

#

No heippa taas!

Auttaisikohan esim. Valium tai jokin vastaava..?

novice [09.03.2009 16:07:10]

#

Kyllähän se Valium auttaisi...

Vastaus

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

Tietoa sivustosta