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 ClassElikkä 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 SubOhjelma 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.