• Viernes 8 de Noviembre de 2024, 10:56

Autor Tema:  alguin me podria colaborar en esta mini aplicasion  (Leído 1281 veces)

fox29

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
alguin me podria colaborar en esta mini aplicasion
« en: Miércoles 10 de Junio de 2009, 19:16 »
0
bueno amigo despues de tanto leer manuales pude hacer mi mini aplicasion
pero me falta depurarlo o sea mejorarlo
el problema es el siguiente: mejor primero les cuento como lo hice para que tengan una idea de que se trata
en el Form1 agrego 7 TextBox con su correspondiente Label y agrego 2 Buttons ,Buttons1 le agrego el nombre Calcular y Buttons2 Salir bueno ahora vamos al codigo
'Declaro la variable Pi
Dim Pi As Double=3.141592

'ahora en el evento Presskey del TextBox1.Text agrego lo siguiente ( para que no me ingresen letras)
If Char.Isletter(e.Keychar)Then
e.Handled=True
MessageBox.Show("No se admiten letras","ATENCION",messageboxbuttons.ok,messageboxicon.Information)
este evento se lo agreso hasta el Textbox4.text que es hasta donde se ingresan datos

aqui les doy un detalles de los nombres y su orden
aclaro (Textbox1:Label1 escribo Diametro,Textbox2.text: Label2 escribo Altura,Textbox3.text:label3 escribo densidad del mineral,
Textbox4.text:Label4 escribo porcentaje de porosida
bueno hecho esta aclaracion continuamos con el codigo
doble click en el button1 cuyo nombre es Calcular y agrego el siguiente codigo
DIm Diam,Alt,Dens,Poro As Double
Diam=(textBox1.text)/2 ' para que me entrege el radio (Diam es diametro)
Alt=TextBox2.text
Dens=TextBox3.text
Poro=(TextBox4.text)/100 ' es para ingreasar un porsentaje de porosidad (Poro es Porcentaje de porosidad que es la diferencia entre el volumen aparente del cilindro que se calculo menos el volumen real del mineral )
textBox5.text=Pi*(Diam)^2*Alt ' me entrega el volumen del ciclindro que seria el volumen aparente del mineral que necesito para introducirlo en esta columna de Lixiviacion
TextBox6.text=Poro*TextBox5.text ' me entrega el volumen real del mineral que necesito para esta columna de lixiviasion
TextBox7.text=Dens*TextBox6.text ' me entrega el peso del mineral que necesito para agregar a esta columna de lixiviacion

bueno lo ejecuto todo bien y preciso hasta Textbox5.text
despues en el TextBox6 el resultado se me corre una coma hacia la derecha
y en el TextBox7 el resultado se me corre 3 comas hacia la derecha
mi pregunta es amigos como soluciono este problema y porque se me corren las comas en los resultado

korsakof

  • Miembro activo
  • **
  • Mensajes: 36
  • Nacionalidad: es
    • Ver Perfil
Re: alguin me podria colaborar en esta mini aplicasion
« Respuesta #1 en: Miércoles 17 de Junio de 2009, 09:38 »
0
Hola aqui tienes un codigo.
                        procedimiento esnumero--> devuelve si es numero.
                                              SI-->Le da formato al numero segun la configuracion regional
                                              NO-->Se le dice al usuario que no es correcto por msgbox

                         procedimiento calcular--> Es el procedimientoque nos realiza los calculos.

Lo hago asi para tenerlo mas ordenado. Ademas si corriges un procedimiento te vale para todos la modificacion.


Código: vb.net
  1. Imports System.Windows.Forms.TextBox
  2.  
  3. Public Class Form1
  4. ' #################################################################################################
  5. '                                             Procedimiento esnumero
  6. '              Comprueba el textbox que desees si es numero o no y pone formato
  7. ' #################################################################################################
  8.     Private Sub esnumero(ByRef ncaja As TextBox)
  9.  
  10.         If ncaja.text = "" Then
  11.             MsgBox("No has escrito nada")
  12.         Else
  13.             If Microsoft.VisualBasic.IsNumeric(ncaja.text) = False Then
  14.                 MsgBox("No es un numero")
  15.                 ncaja.Focus()
  16.             Else
  17.                 ncaja.Text = FormatNumber(Val(ncaja.Text), -1)
  18.             End If
  19.         End If
  20.     End Sub
  21.  
  22. ' #################################################################################################
  23. '                                        Procedimiento Calcular
  24. '                                Aqui realizas los calculos oportunos
  25. ' #################################################################################################
  26.     Private Sub calcular()
  27.          ' Realizar calculos
  28.          ' Esto no lo hice porque no entiendo lo que quieres hacer pero defines variable a las que solo asignas valor y no las    usas posteriormente. Eso no tiene sentido.
  29.          ' Otra cosa, aunque visual te convierta tipo automaticamente es recomendable que uuses la funcion "val" para recoger el numero de la caja de texto.
  30. ' Ej: suma=val(cajadetexto.text)+2
  31.  
  32.     End Sub
  33.  
  34. ' ################################################################################################
  35. '                                   Evento LostFocus de la caja de texto.
  36. ' ################################################################################################
  37.    Private Sub txtdiametro_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtdiametro.LostFocus
  38.          Call esnumero(sender) 'Llamo al procedimiento que me comprueba que es numero y pone formato
  39.     ' Necesitas un evento lost focus para cada caja de texto
  40.     End Sub
  41.  
  42.        
  43.     End Sub
  44.  

fox29

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: alguin me podria colaborar en esta mini aplicasion
« Respuesta #2 en: Miércoles 17 de Junio de 2009, 16:24 »
0
muchas gracias korsakof