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 :(
Toimisiko tämä koodi?
TextBox1.Text = Taulukko(ComboBox1.SelectedIndex, ComboBox2.SelectedIndex)
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-
kiitos ja kumarrus, toimii oikein hyvin nyt :)
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 :(
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
Hmmm... ei tajua :P
Roitteri kirjoitti:
Hmmm... ei tajua :P
Mitä kohtaa ei tajua?
neau33 kirjoitti:
tässä kuitenkin jotain miettimisen aihetta...
mie mietin, mut ei tajua
Aihe on jo aika vanha, joten et voi enää vastata siihen.