Autor
|
Tema: Empezando en VB.Net (Leído 5,781 veces)
|
MK-Ultra
Desconectado
Mensajes: 435
~ Nevermind ~
|
Recién hoy estoy empezando con .NET en el colegio, y la profesora nos pidió de hacer una calculadora, aca les dejo la que hice yo, les pido POR FAVOR que la critiquen (Con criticar me refiero solo a criticas constructivas, y hagan el favor de argumentar ) Code: Public Class Form1 Dim Num1, Num2 As Integer Dim Resultado As Single Dim numeros(9) As Short Private Sub btnmas_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnmas.Click Dim comp1 As String = txtnum1.Text Dim comp2 As String = txtnum2.Text If comp1 = "" Or comp2 = "" Then MessageBox.Show("Hay que completar los cuadros de texto con los dígitos del 0 al 9 antes de elegir el operador", "Error") Else Num1 = Convert.ToInt32(txtnum1.Text) Num2 = Convert.ToInt32(txtnum2.Text) Resultado = Num1 + Num2 txtresultado.Text = Convert.ToSingle(Resultado) End If End Sub Private Sub btnmenos_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnmenos.Click Dim comp1 As String = txtnum1.Text Dim comp2 As String = txtnum2.Text If comp1 = "" Or comp2 = "" Then MessageBox.Show("Hay que completar los cuadros de texto con los dígitos del 0 al 9 antes de elegir el operador", "Error") Else Num1 = Convert.ToInt32(txtnum1.Text) Num2 = Convert.ToInt32(txtnum2.Text) Resultado = Num1 - Num2 txtresultado.Text = Convert.ToSingle(Resultado) End If End Sub Private Sub btnpor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnpor.Click Dim comp1 As String = txtnum1.Text Dim comp2 As String = txtnum2.Text If comp1 = "" Or comp2 = "" Then MessageBox.Show("Hay que completar los cuadros de texto con los dígitos del 0 al 9 antes de elegir el operador", "Error") Else Num1 = Convert.ToInt32(txtnum1.Text) Num2 = Convert.ToInt32(txtnum2.Text) Resultado = Num1 * Num2 txtresultado.Text = Convert.ToSingle(Resultado) End If End Sub Private Sub btndiv_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btndiv.Click Dim comp1 As String = txtnum1.Text Dim comp2 As String = txtnum2.Text If comp1 = "" Or comp2 = "" Then MessageBox.Show("Hay que completar los cuadros de texto con los dígitos del 0 al 9 antes de elegir el operador", "Error") Else Num1 = Convert.ToInt32(txtnum1.Text) Num2 = Convert.ToInt32(txtnum2.Text) Resultado = Num1 / Num2 txtresultado.Text = Convert.ToSingle(Resultado) End If End Sub Private Sub btnclear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnclear.Click txtnum1.Clear() txtnum2.Clear() txtresultado.Clear() End Sub Private Sub txtnum1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtnum1.KeyPress If e.KeyChar.IsDigit(e.KeyChar) Then e.Handled = False ElseIf e.KeyChar.IsControl(e.KeyChar) Then e.Handled = False Else e.Handled = True MessageBox.Show("Solo dígitos del 0 al 9 =P", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) End If End Sub Private Sub txtnum2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtnum2.KeyPress If e.KeyChar.IsDigit(e.KeyChar) Then e.Handled = False ElseIf e.KeyChar.IsControl(e.KeyChar) Then e.Handled = False Else e.Handled = True MessageBox.Show("Solo dígitos del 0 al 9 =P", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) End If End Sub End Class
Imagen: Ah, una cosa más, la profesora nos dijo que iba a intentar "romperla", hay otra medida de seguridad aparte de validar los textboxs que se pueda implementar? Saludos!
|
|
|
En línea
|
Agradecer no cuesta nada (al menos no mucho)
BTC: 1DHKsWE6wGkUiHbKkwBDaF8DEGwn9n6nxQ
|
|
|
Meta
|
¿Cómo hiciste el encuadre en negro del programa?
|
|
|
En línea
|
|
|
|
MK-Ultra
Desconectado
Mensajes: 435
~ Nevermind ~
|
En paint Para, vos te referis al del Form o al de la imagen? Si es del Form, es que tengo ese style del xp, por lo que los programas se ven así en mi PC
|
|
|
En línea
|
Agradecer no cuesta nada (al menos no mucho)
BTC: 1DHKsWE6wGkUiHbKkwBDaF8DEGwn9n6nxQ
|
|
|
Mr. Crowley
Desconectado
Mensajes: 343
Costa Rica
|
Hola ^Arkangel^. A mi parecer la calculadora esta muy facil de "romper"... Verifique si los valores ingresados son numericos, puede hacerlo como lo muestro en este ejemplo: Private Sub btnBoton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBoton.Click If IsNumeric(Me.txtNumero.Text) Then MsgBox("El valor es numerico :)", MsgBoxStyle.Information) Else MsgBox("Introduzca un valor valido :(", MsgBoxStyle.Critical) End If End Sub
Saludos
|
|
|
En línea
|
|
|
|
MK-Ultra
Desconectado
Mensajes: 435
~ Nevermind ~
|
Podrías darme un ejemplo de como se puede "romper" ? Thx ^^ PD: Argumenten por favor
|
|
|
En línea
|
Agradecer no cuesta nada (al menos no mucho)
BTC: 1DHKsWE6wGkUiHbKkwBDaF8DEGwn9n6nxQ
|
|
|
43H4FH44H45H4CH49H56H45H
Wiki
Desconectado
Mensajes: 502
|
Seria bueno implementar try - catch para el manejo de errores.
|
|
|
En línea
|
-R IP :0100 -A 100 2826:0100 MOV AH,09 2826:0102 MOV DX,109 2826:0105 INT 21 2826:0105 MOV AH,08 2826:0105 INT 21 2826:0107 INT 20 2826:0109 DB 'MI NICK ES CODELIVE.$' 2826:0127 -R BX :0000 -R CX :20 -N CODELIVE.COM -W
|
|
|
|
KJD
Desconectado
Mensajes: 314
|
Mis observaciones, linda interfaz, aunque la haria mas chica, usa solo un textbox que por defecto tenga el valor 0, como dicen los companieros del foro valida si solo acepta numeros, y por las dudas pon un try catch en las funciones de suma resta etc y no se como pero valida si se usa mas de un punto decimal como 2.2.3 por ejemplo que esta mal.
Saludos
|
|
|
En línea
|
"Solo hay 10 tipos personas que saben leer binario, los que si y los que no"
"Keyboard not Found, press F1 To Continue" WTF???
|
|
|
BrokenWindow
Desconectado
Mensajes: 36
|
Usa try en las conversiones, nunca esperes que el usuario ingrese lo que tiene que ingresar. Try Num1 = Convert.ToInt32(txtnum1.Text) Num2 = Convert.ToInt32(txtnum2.Text) Resultado = Num1 + Num2 txtresultado.Text = Convert.ToSingle(Resultado) Catch ex As Exception messagebox.show("Error!") End Try
Aunque ya cubres ese error en KeyPress es mejor prevenir.
|
|
|
En línea
|
|
|
|
MK-Ultra
Desconectado
Mensajes: 435
~ Nevermind ~
|
Gracias por las aclaraciones, ya se lo mostré a la prof. y me dió un par de cosas en las que trabajar, ahora cuando recupere el pendrive les muestro como quedó el code
|
|
|
En línea
|
Agradecer no cuesta nada (al menos no mucho)
BTC: 1DHKsWE6wGkUiHbKkwBDaF8DEGwn9n6nxQ
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
empezando de nuevo
.NET (C#, VB.NET, ASP)
|
Jusko
|
2
|
2,050
|
12 Octubre 2012, 09:27 am
por Jusko
|
|
|
Empezando con debian
GNU/Linux
|
lucaslopez0000
|
6
|
3,977
|
11 Marzo 2013, 15:25 pm
por lucaslopez0000
|
|
|
empezando con wireshark!! ayudaa!!
Windows
|
chino99
|
1
|
2,495
|
6 Agosto 2013, 13:22 pm
por chino99
|
|
|
Empezando
Hacking
|
Kira
|
0
|
2,678
|
10 Septiembre 2017, 03:22 am
por Kira
|
|
|
Empezando a...
Ingeniería Inversa
|
B€T€B€
|
5
|
3,295
|
14 Enero 2020, 23:32 pm
por B€T€B€
|
|