Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Comboboxien indeksien käyttäminen taulukossa

Sivun loppuun

Roitteri [03.11.2008 16:39:08]

#

Elikkä koodin minkä kanssa olen työstäny:

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Taulukko(2, 2) As Double
        Taulukko(0, 0) = "0"
        Taulukko(0, 1) = "173"
        Taulukko(0, 2) = "1334"

        Taulukko(1, 0) = "173"
        Taulukko(1, 1) = "0"
        Taulukko(1, 2) = "1213"

        Taulukko(2, 0) = "1334"
        Taulukko(2, 1) = "1213"
        Taulukko(2, 2) = "0"
  '-----------------------------------------------------------------------------------

        Dim etaisyys As Integer
        Dim selectedIndex As Double
        selectedIndex = ComboBox1.SelectedIndex & ComboBox2.SelectedIndex
        Dim selectedItem As Object
        selectedItem = Taulukko

        etaisyys = selectedIndex

        TextBox1.Text = etaisyys '(selectedIndex.ToString())

    End Sub
End Class

Elikkä Comoboxeja on 2kpl molemmissa 3 kaupungin nimeä(samat molemmissa), jos valitsen helsinki-helsinki niin comboboxien indeksit on 00, mutta en tajua miten saan tulosettua Taulukosta tuota indeksiä vastaavan arvon? Pari päivää jo miettiny ja ei onnistu :(

Antti Laaksonen [03.11.2008 20:09:39]

#

Toimisiko tämä koodi?

TextBox1.Text = Taulukko(ComboBox1.SelectedIndex, ComboBox2.SelectedIndex)

neau33 [03.11.2008 20:27:19]

#

Heippa Roitteri!

kokeile vaikka jotnkin näin...

Private Sub Form1_Load( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
  If ComboBox1.Items.Count > 0 Then
    ComboBox1.SelectedIndex = 0
  End If
  If ComboBox1.Items.Count > 0 Then
    ComboBox2.SelectedIndex = 0
  End If
End Sub

Private Sub ComboBox1_SelectedIndexChanged( _
ByVal sender As Object, ByVal e As System.EventArgs) _
Handles ComboBox1.SelectedIndexChanged
  SetDistance
End Sub

Private Sub ComboBox2_SelectedIndexChanged( _
ByVal sender As Object, ByVal e As System.EventArgs) _
Handles ComboBox2.SelectedIndexChanged
  SetDistance
End Sub

Public Sub SetDistance

  If ComboBox1.SelectedIndex > -1 _
  And ComboBox2.SelectedIndex > -1 Then
    Dim Taulukko(2, 2) As String
    Taulukko(0, 0) = "0"
    ' ...
    Taulukko(2, 2) = "0"
    ' jne...

    TextBox1.Text = Taulukko( _
    ComboBox1.SelectedIndex, _
    ComboBox2.SelectedIndex)
    Taulukko = Nothing
  End If

End Sub

-Nea-

Roitteri [03.11.2008 21:33:49]

#

kiitos ja kumarrus, toimii oikein hyvin nyt :)

Roitteri [03.11.2008 23:53:25]

#

Lisäänpä samaan postii uuden ongelman mikä ilmeni:

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim laina As String                'N
        Dim korkokanta As String           'p
        Dim lainaaika As String           'n
        Dim lyhennykset As String          'm

        Dim tulos As Double

        Dim laskutoimitus1 As Double
        Dim laskutoimitus2 As Double
        Dim laskutoimitus3 As Double
        Dim laskutoimitus4 As Double

        If TextBox1.Text.Length = 0 And TextBox2.Text.Length = 0 Or Not IsNumeric(TextBox1.Text) And IsNumeric(TextBox2.Text) Then

        ElseIf RadioButton1.Checked = True Then
            lyhennykset = 12
        ElseIf RadioButton2.Checked = True Then
            lyhennykset = 4
        ElseIf RadioButton3.Checked = True Then
            lyhennykset = 2
        ElseIf RadioButton4.Checked = True Then
            lyhennykset = 1
        Else
            MsgBox("Syötä vain numeroita kenttiin, ei saa olla 0 ja maksukertojen määrä on valittava!!")
        End If

        laina = TextBox1.Text
        korkokanta = TextBox2.Text
        lainaaika = ComboBox1.Text

        lainaaika = lyhennykset * lainaaika
        laskutoimitus1 = (1 + korkokanta / (100 * lyhennykset)) ^ lainaaika
        laskutoimitus2 = korkokanta / (100 * lyhennykset)
        laskutoimitus3 = ((1 + korkokanta / (100 * lyhennykset)) ^ lainaaika - 1)
        laskutoimitus4 = laskutoimitus1 * laskutoimitus2 / laskutoimitus3
        tulos = laskutoimitus4 * laina
        Label5.Text = Format(tulos, "0.00")

    End Sub

Ohjelma toimii muuten mutta, kun ohjelma käynnistetään ja kentät on tyjinä ja clikkaa nappia niin heittää erroria, ja jos kentissä on 0 tai kirjaimia niin se heittää msgbox errorin niinku pitääki mut tilettää heti sen jälkeen. "Conversion from string "" to type 'Double' is not valid." < tuota se tykkää heittää vaikka miten koodia muuttaisi :(

neau33 [04.11.2008 00:58:44]

#

Heippa taas Roitteri!

voisi kannatta lukea myös osiot, joissa kerrotaan datatyypeistä...tässä kuitenkin jotain miettimisen aihetta...

Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click

  Dim A As String = "12345,67890"
  Dim B As Double = CType(A, Double)
  TextBox1.Text = B.ToString
  Dim C As Single  = _
  CType(TextBox1.Text, Single)
  MessageBox.Show(C.ToString())
  A = "54321,09876"
  Dim D As Integer = _
  CType(A, Integer)
  TextBox1.Text = D.ToString
  MessageBox.Show( _
  Format(CLng(TextBox1.Text),"#.0000#"))
  TextBox1.Text = String.Empty

End Sub

Roitteri [04.11.2008 08:24:01]

#

Hmmm... ei tajua :P

Newb [04.11.2008 08:26:17]

#

Roitteri kirjoitti:

Hmmm... ei tajua :P

Mitä kohtaa ei tajua?

Roitteri [04.11.2008 08:55:04]

#

neau33 kirjoitti:

tässä kuitenkin jotain miettimisen aihetta...

mie mietin, mut ei tajua


Sivun alkuun

Vastaus

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

Tietoa sivustosta