Relační operátory   otázka

VB.NET

Dobrý den,

snažím se porovnat dvě hodnoty ve vzorci to vypadá takhle (a + b + c + d + e + f) > g ale hodnota g mi dělá problémi jak dělám co dělám tak mi to furt píše Chybu:

Value of type 'WindowsApplication1.Kusy' cannot be converted to 'Double'

Poradí mi někdo co dělám špatně nebo co jsem neudělal vůbec. Dík

PS: podtržená část je tan problem, snad jsem to napsal tak aby jste to všici pochopyli

vstupní hodnoty

'hodnota g
        Dim parametrPocetPalet = {New Kusy(4), _
                                    New Kusy(15), _
                                    New Kusy(17), _
                                    New Kusy(18), _
                                    New Kusy(23), _
                                    New Kusy(23), _
                                    New Kusy(34), _
                                    New Kusy(34)}

        'hodboty a až f
        For i As Integer = 0 To 34
            ComboBoxPocetBaliku.Items.Add(i)
            ComboBoxPocetPalet.Items.Add(i)
            ComboBoxPocetDoublepalet.Items.Add(i)
            ComboBoxPocetPulpalet.Items.Add(i)
            ComboBoxPocetMarkyz.Items.Add(i)
            ComboBoxPocetKrbu.Items.Add(i)
        Next
        ComboBoxPocetBaliku.SelectedIndex = 0
        ComboBoxPocetPalet.SelectedIndex = 0
        ComboBoxPocetDoublepalet.SelectedIndex = 0
        ComboBoxPocetPulpalet.SelectedIndex = 0
        ComboBoxPocetMarkyz.SelectedIndex = 0
        ComboBoxPocetKrbu.SelectedIndex = 0

        ComboBoxParametr.Items.AddRange(parametrPocetPalet)
        ComboBoxParametr.SelectedItem = 0

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim mesto = DirectCast(ComboBoxMesta.SelectedItem, Mesto)
        Dim zasilkaBalik = 58
        Dim zasilkaPaleta = 430
        Dim zasilkaDoublepaleta = 850
        Dim zasilkaPulpaleta = 250
        Dim zasilkaMarkyza = 150
        Dim zasilkaKrb = 250
        Dim pocetKusuBaliku = DirectCast(ComboBoxPocetBaliku.SelectedItem, Integer)
        Dim pocetKusuPalet = DirectCast(ComboBoxPocetPalet.SelectedItem, Integer)
        Dim pocetKusuDoublepalet = DirectCast(ComboBoxPocetDoublepalet.SelectedItem, Integer)
        Dim pocetKusuPulpalet = DirectCast(ComboBoxPocetPulpalet.SelectedItem, Integer)
        Dim pocetKusuMarkyz = DirectCast(ComboBoxPocetMarkyz.SelectedItem, Integer)
        Dim pocetKusuKrbu = DirectCast(ComboBoxPocetKrbu.SelectedItem, Integer)
        Dim cenaZaKilometr = DirectCast(ComboBoxParametr.SelectedItem, Hmotnost)
        Dim kapacitaAuta = DirectCast(ComboBoxParametr.SelectedItem, Kusy)


        TextBox2.Text = (zasilkaBalik * CDbl(pocetKusuBaliku)) + (zasilkaPaleta * CDbl(pocetKusuPalet)) + (zasilkaDoublepaleta * CDbl(pocetKusuDoublepalet)) + (zasilkaPulpaleta * CDbl(pocetKusuPulpalet)) + (zasilkaMarkyza * CDbl(pocetKusuMarkyz)) + (zasilkaKrb * CDbl(pocetKusuKrbu)) & " Kč"
        TextBox1.Text = mesto.Vzdalenost * cenaZaKilometr.Cena_za_km & " Kč"

        If (CDbl(pocetKusuBaliku) + CDbl(pocetKusuDoublepalet) + CDbl(pocetKusuKrbu) + CDbl(pocetKusuMarkyz) + CDbl(pocetKusuPalet) + CDbl(pocetKusuPulpalet)) > CDbl(__kapacitaAuta__) Then
        Else
            MsgBox("Nesouhlasí počet zásilek s parametrem vozidla")
        End If

    End Sub

Public Class Kusy
    Public ks As Double

    Public Sub New(ByVal ks As Double)
        Me.ks = ks
    End Sub

    Public Overrides Function ToString() As String
        Return Me.ks
    End Function

End Class
nahlásit spamnahlásit spam 0 odpovědětodpovědět
If (CDbl(pocetKusuBaliku) + CDbl(pocetKusuDoublepalet) + CDbl(pocetKusuKrbu) + CDbl(pocetKusuMarkyz) + CDbl(pocetKusuPalet) + CDbl(pocetKusuPulpalet)) > CDbl(__kapacitaAuta__) Then

kapacitaAuta je typu kusy, takže ji nelze takto přetypovat, pokud nenapíšete do třídy kod pro přetypování, nebo v podmínce místo CDbl(kapacitaAuta)

kapacitaAuta.ks

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback