elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Empezando en VB.Net
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Empezando en VB.Net  (Leído 5,781 veces)
MK-Ultra


Desconectado Desconectado

Mensajes: 435


~ Nevermind ~


Ver Perfil WWW
Empezando en VB.Net
« en: 19 Marzo 2009, 21:46 pm »

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  ;D

(Con criticar me refiero solo a criticas constructivas, y hagan el favor de argumentar  :rolleyes:)

Code:

Código
  1. Public Class Form1
  2.    Dim Num1, Num2 As Integer
  3.    Dim Resultado As Single
  4.    Dim numeros(9) As Short
  5.  
  6.    Private Sub btnmas_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnmas.Click
  7.        Dim comp1 As String = txtnum1.Text
  8.        Dim comp2 As String = txtnum2.Text
  9.        If comp1 = "" Or comp2 = "" Then
  10.            MessageBox.Show("Hay que completar los cuadros de texto con los dígitos del 0 al 9 antes de elegir el operador", "Error")
  11.        Else
  12.            Num1 = Convert.ToInt32(txtnum1.Text)
  13.            Num2 = Convert.ToInt32(txtnum2.Text)
  14.            Resultado = Num1 + Num2
  15.            txtresultado.Text = Convert.ToSingle(Resultado)
  16.        End If
  17.    End Sub
  18.  
  19.    Private Sub btnmenos_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnmenos.Click
  20.        Dim comp1 As String = txtnum1.Text
  21.        Dim comp2 As String = txtnum2.Text
  22.        If comp1 = "" Or comp2 = "" Then
  23.            MessageBox.Show("Hay que completar los cuadros de texto con los dígitos del 0 al 9 antes de elegir el operador", "Error")
  24.        Else
  25.            Num1 = Convert.ToInt32(txtnum1.Text)
  26.            Num2 = Convert.ToInt32(txtnum2.Text)
  27.            Resultado = Num1 - Num2
  28.            txtresultado.Text = Convert.ToSingle(Resultado)
  29.        End If
  30.    End Sub
  31.  
  32.    Private Sub btnpor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnpor.Click
  33.        Dim comp1 As String = txtnum1.Text
  34.        Dim comp2 As String = txtnum2.Text
  35.        If comp1 = "" Or comp2 = "" Then
  36.            MessageBox.Show("Hay que completar los cuadros de texto con los dígitos del 0 al 9 antes de elegir el operador", "Error")
  37.        Else
  38.            Num1 = Convert.ToInt32(txtnum1.Text)
  39.            Num2 = Convert.ToInt32(txtnum2.Text)
  40.            Resultado = Num1 * Num2
  41.            txtresultado.Text = Convert.ToSingle(Resultado)
  42.        End If
  43.    End Sub
  44.  
  45.    Private Sub btndiv_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btndiv.Click
  46.        Dim comp1 As String = txtnum1.Text
  47.        Dim comp2 As String = txtnum2.Text
  48.        If comp1 = "" Or comp2 = "" Then
  49.            MessageBox.Show("Hay que completar los cuadros de texto con los dígitos del 0 al 9 antes de elegir el operador", "Error")
  50.        Else
  51.            Num1 = Convert.ToInt32(txtnum1.Text)
  52.            Num2 = Convert.ToInt32(txtnum2.Text)
  53.            Resultado = Num1 / Num2
  54.            txtresultado.Text = Convert.ToSingle(Resultado)
  55.        End If
  56.    End Sub
  57.  
  58.    Private Sub btnclear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnclear.Click
  59.        txtnum1.Clear()
  60.        txtnum2.Clear()
  61.        txtresultado.Clear()
  62.    End Sub
  63.  
  64.    Private Sub txtnum1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtnum1.KeyPress
  65.        If e.KeyChar.IsDigit(e.KeyChar) Then
  66.            e.Handled = False
  67.        ElseIf e.KeyChar.IsControl(e.KeyChar) Then
  68.            e.Handled = False
  69.        Else
  70.            e.Handled = True
  71.            MessageBox.Show("Solo dígitos del 0 al 9 =P", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
  72.        End If
  73.    End Sub
  74.  
  75.    Private Sub txtnum2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtnum2.KeyPress
  76.        If e.KeyChar.IsDigit(e.KeyChar) Then
  77.            e.Handled = False
  78.        ElseIf e.KeyChar.IsControl(e.KeyChar) Then
  79.            e.Handled = False
  80.        Else
  81.            e.Handled = True
  82.            MessageBox.Show("Solo dígitos del 0 al 9 =P", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
  83.        End If
  84.    End Sub
  85. End Class
  86.  

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


Desconectado Desconectado

Mensajes: 3.501



Ver Perfil WWW
Re: Empezando en VB.Net
« Respuesta #1 en: 19 Marzo 2009, 22:15 pm »

¿Cómo hiciste el encuadre en negro del programa?



En línea

MK-Ultra


Desconectado Desconectado

Mensajes: 435


~ Nevermind ~


Ver Perfil WWW
Re: Empezando en VB.Net
« Respuesta #2 en: 19 Marzo 2009, 22:41 pm »

En paint  :xD

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  ;D
En línea

Agradecer no cuesta nada (al menos no mucho)

BTC: 1DHKsWE6wGkUiHbKkwBDaF8DEGwn9n6nxQ
Mr. Crowley


Desconectado Desconectado

Mensajes: 343


Costa Rica


Ver Perfil WWW
Re: Empezando en VB.Net
« Respuesta #3 en: 20 Marzo 2009, 00:03 am »

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:

Código:
    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  ;D
En línea

Mi blog personal: www.calirojas.com
MK-Ultra


Desconectado Desconectado

Mensajes: 435


~ Nevermind ~


Ver Perfil WWW
Re: Empezando en VB.Net
« Respuesta #4 en: 20 Marzo 2009, 01:06 am »

Podrías darme un ejemplo de como se puede "romper" ?

Thx ^^

PD: Argumenten por favor  ;D
En línea

Agradecer no cuesta nada (al menos no mucho)

BTC: 1DHKsWE6wGkUiHbKkwBDaF8DEGwn9n6nxQ
43H4FH44H45H4CH49H56H45H
Wiki

Desconectado Desconectado

Mensajes: 502



Ver Perfil
Re: Empezando en VB.Net
« Respuesta #5 en: 20 Marzo 2009, 03:39 am »

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
Meta


Desconectado Desconectado

Mensajes: 3.501



Ver Perfil WWW
Re: Empezando en VB.Net
« Respuesta #6 en: 20 Marzo 2009, 04:13 am »

Hola:

Se refiere a esto:
http://msdn.microsoft.com/es-es/library/0yd65esw.aspx

Saludo.
En línea

KJD


Desconectado Desconectado

Mensajes: 314



Ver Perfil
Re: Empezando en VB.Net
« Respuesta #7 en: 20 Marzo 2009, 15:44 pm »

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 Desconectado

Mensajes: 36


Ver Perfil
Re: Empezando en VB.Net
« Respuesta #8 en: 20 Marzo 2009, 16:00 pm »

Usa try en las conversiones, nunca esperes que el usuario ingrese lo que tiene
que ingresar.

Código:
           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 Desconectado

Mensajes: 435


~ Nevermind ~


Ver Perfil WWW
Re: Empezando en VB.Net
« Respuesta #9 en: 20 Marzo 2009, 21:36 pm »

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  ;D
En línea

Agradecer no cuesta nada (al menos no mucho)

BTC: 1DHKsWE6wGkUiHbKkwBDaF8DEGwn9n6nxQ
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
empezando de nuevo
.NET (C#, VB.NET, ASP)
Jusko 2 2,050 Último mensaje 12 Octubre 2012, 09:27 am
por Jusko
Empezando con debian
GNU/Linux
lucaslopez0000 6 3,977 Último mensaje 11 Marzo 2013, 15:25 pm
por lucaslopez0000
empezando con wireshark!! ayudaa!!
Windows
chino99 1 2,495 Último mensaje 6 Agosto 2013, 13:22 pm
por chino99
Empezando
Hacking
Kira 0 2,678 Último mensaje 10 Septiembre 2017, 03:22 am
por Kira
Empezando a...
Ingeniería Inversa
B€T€B€ 5 3,295 Último mensaje 14 Enero 2020, 23:32 pm
por B€T€B€
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines