Visual Basicben kezdtem el programozni, de még elég kezdő vagyok, és a következő hibaüzenetet írja ki (lent). Mit jelent ez, és mit csinálok rosszul?
An unhandled exception of type 'System.InvalidCastException' occurred in Microsoft.VisualBasic.dll
Additional information: Conversion from string "" to type 'Integer' is not valid.
De lehet, hogy üres stringet akartál neki átadni.
Látnunk kéne a kódod.
Public Class Form4
Dim negyzetoldal As Integer
Private Sub Form4_Load(sender As Object, e As EventArgs) Handles MyBase.Load
negyzetoldal = TextBox1.Text
TextBox2.Text = negyzetoldal * negyzetoldal
End Sub
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button1_Click
End Sub
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
End Sub
Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
End Sub
End Class
Naszóval. itt az lenne a feladat, hogy a textbox1-be beírom a négyzet oldalának a hosszát, majd a textbox2-be kiírja, a területét (a*a).
Nos, ezt a sort nézzük meg:
negyzetoldal = TextBox1.Text
A negyzetoldal egy Integer, valóban, viszont a TextBox1.Text nem az. Az egy String.
Manuálisan kell konvertálnod a String-et Integer-ré.
Nem vagyok VB guru, egy másik topikban láttam, hogy valaki a CInt() függvénnyel konvertált, próbáld meg azzal. :)
Igen, át kell konvertálnod a textboxban lévő stringet. Arra figyelj, hogy illik a kiszámolt értéket "visszafelé" is konvertálni, integerből stringgé. Asszem a Visual Basic nem reklamál miatta, de így szabályos, és jobb ha így szokod meg.
Itt vannak a konvertáló függvények, legtöbbször szerintem a CInt-t és a CStr-t fogod használni, esetleg valamelyik nem-egész konvertálót.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!