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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Ayuda con formulario de cobro.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con formulario de cobro.  (Leído 1,943 veces)
Jane Rose

Desconectado Desconectado

Mensajes: 2



Ver Perfil
Ayuda con formulario de cobro.
« en: 23 Mayo 2013, 00:24 am »

Hola estoy haciendo un formulario de Cobros, y necesito ayuda con la programación de dicho formulario. El programa pide lo siguiente:


Se seleccionara un producto del ComboBox y se tecleara una cantidad. Al presionar el boton Agregar se agregara en la ListBox el nombre producto deseado. Una vez seleccionados todos los productos a comprar se tecleara el boton de Total el cual imprimira el total a pagar por todos los productos seleccionados, incluyendo el impuesto(en caso que el usuario marque la opcion). Todos los controles deberan desplegar una ToolTip con el nombre del control(si se coloca el cursor encima de la CombobOX, el ToolTip deberá desplegar el mensaje ComboBox).

Los productos(y sus precios unitarios) que deben ir en la ComboBox son:

a-Pasta Dental   20.5
b-Jabón             10.5
c-Tomates           3.0
d-Cebolla            5.0




******


Estoy trabajando con Visual Basic 2008, ya tengo los Items y todo cuando le doy clic en el boton agregar me lo pasa al otro listado, pero lo que no se es como hago  para decirle al programa que si me elige elige la pasta dental me multiple la cantidad por 20.5, y si es jabon cantidad por 10.5 y asi sucesivamente y crear una variable que me valla conteniendo esas multiplaciones para cuando le de clic en total me imprima la lista de productos con los totales, y el total de compra, y si elige impuesto me lo agregue ahi, y si pues no(obviamente). Me gustaria que me ayudaran con esto :/ ignoren la TextBox que creé arriba del boton "Total" porque no debe ir el programa no me lo pide simplemente me salta de un solo a imprimir.[/b]


En línea

XresH


Desconectado Desconectado

Mensajes: 384



Ver Perfil WWW
Re: Ayuda con formulario de cobro.
« Respuesta #1 en: 23 Mayo 2013, 00:41 am »

Está mal posteado, espero que no me digan nada por contestar porque va en .NET (lo dudo)

Por lo que entiendo, te digo:
Te recomiendo crear una función que requiera como único parámetro el nombre del producto, antes de "llamar" a la funcion declares una variable que te permita almacenar los valores;


Código:
Public Class Form1
    Dim Valores(0 To 3) As Integer
    Dim TotalValores As Long
    Dim ValorTemp As Integer 'tiene los valores que iras sumando
    Dim Cantidad As Integer 'manipula cantidad de productos
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        DetectaValor(Trim(TextBox1.Text))
        'ya se obtuvo el valor en el procedimiento
        'DetectaValor por lo que no es necesario especificarlo
    End Sub
    Private Sub DetectaValor(ByVal Producto As String)
        Dim Multi As Integer 'Multiplicador
        Dim ValorT As Integer 'para realizar la cuenta y obtener resultado
        Select Case Producto
            Case Is = "Jabon"
                Multi = Valores(0)
                ValorT = Cantidad * Multi
                ValorTemp = ValorTemp + ValorT
            Case Is = "Pasta"
                Multi = Valores(1)
                ValorT = Cantidad * Multi
                ValorTemp = ValorTemp + ValorT
            Case Is = "Otros"
                Multi = Valores(2)
                ValorT = Cantidad * Multi
                ValorTemp = ValorTemp + ValorT
            Case Is = "Perfume"
                Multi = Valores(3)
                ValorT = Cantidad * Multi
                ValorTemp = ValorTemp + ValorT
        End Select
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Valores(0) = 3 'pasta
        Valores(1) = 5 'jabon
        Valores(2) = 10 'etc
        Valores(3) = 7 'etc
    End Sub
End Class


A ver si entendí lo que necesitas y estamos bien encaminados.

Saludos.



En línea

[ - Si eres programador y quieres que tus proyectos esten en mi blog(con o sin source), consúltame! - ]
Entra A Mi Blog De Programación | | Dudas en este post :| | >>Clic para ir al Post<<
Jane Rose

Desconectado Desconectado

Mensajes: 2



Ver Perfil
Re: Ayuda con formulario de cobro.
« Respuesta #2 en: 24 Mayo 2013, 01:20 am »

Muchas gracias por responderme :D

1-Si trabajo en .NET :D pero a veces me entienden cuando digo 2008(?)
2-Adapte tu programación al formulario y pues no me tira error pero tampoco me da respuesta.
3-Mi duda principal es como le digo al programa que si en el usuario elige el primer Item ("Pasta Dental 20.5") de la ComboBox(CmbProducto) me multiple la cantidad de productos que lleva (TxtCan) por 20.5, y si es el segundo Item("Jabon  10.5") sea cantidad por 10.5, en tu programacion se que haces eso pero esta perfecto y todo es más trabajas con Case(algo que no había intentado solo 'If,Else, End If') pero...no estoy segura si el programa sabe a que Item me estoy refiriendo:

Código:
 Select Case [b]Producto[/b]
            Case Is = [b]"Jabon"[/b]
                Multi = Valores(0)
                ValorT = Cantidad * Multi
                ValorTemp = ValorTemp + ValorT

me imagino que en vez de "Producto" debo poner el nombre del control (CmbProducto) Y que todo este código este en el botón Total.

Pero resulta que cuando lo cambio(Producto) por CmbProducto, me sale el resto del código como error, no todo solo los textos que esta entre comillas("Jabón").
« Última modificación: 24 Mayo 2013, 01:26 am por Jane Rose » En línea

XresH


Desconectado Desconectado

Mensajes: 384



Ver Perfil WWW
Re: Ayuda con formulario de cobro.
« Respuesta #3 en: 24 Mayo 2013, 02:06 am »

1- Sé que trabajas en .NET, digo que está mal posteado, ya que esto es Visual Basic 6.
2- es un modo de ejemplo, no es una decisión final, por eso no funciona
3- Ahora vamos entendiendonos mejor, imagine que select case es mejor porque hay veces que muchos If marea, aunque se puede "comprimir" usando un ElseIf creí que sería mas productivo de esta forma.


Agrega esto a tu Form_Load;
Código:
        ComboBox1.Items.Add("Pasta Dental")
        ComboBox1.Items.Add("JAbon")
        ComboBox1.Items.Add("Otro")
        ComboBox1.Items.Add("otro mas xD")

Sencillamente es para agregar datos al combo por si quieres probarlo en un nuevo proyecto, sino ignoralo.

Hice algunos arreglos observa;


Código:
   Dim TotalValores As Long 'variable para controlar el Valor TOTAL
    Dim ValorTemp As Integer 'tiene los valores que iras sumando
    Dim Porcentaje As Integer 'el porcentaje a multiplicar, 20.5 - 10.5 etc.
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If Trim(txtCan.Text) = "" Then MsgBox("ingrese cantidad de productos")
        DetectaValor(Val(ComboBox1.SelectedIndex))
    End Sub

Intentamos que el txtCan no este vacio es una manera vaga de trabajarlo pero eso es secundario y no es algo que tenga que ver ahora, la función para detectar valor se le "llama" de manera distinta, ya que vamos a trabajar sobre el Index del combo el cual es un valor entero.
El Index nos indica qué posición el usuario tiene seleccionado en un determinado objeto, en un combo sería de esta manera para saberlo;


Código:
Variable=ComboBox1.SelectedIndex

La Variable debería ser Integer ya que ese tipo de dato nos devuelve la instrucción.

Estos arreglos hice en la función;


Código:
    Private Sub DetectaValor(ByVal Producto As Integer) 'modificamos el valor de la variable
        Dim Multi As Integer 'cantidad de productos
        Dim ValorT As Integer 'para realizar la cuenta y obtener resultado
        Multi = Val(txtCan.Text) '
        Select Case Producto 'pasa a ser el index del Combo
            Case Is = 0
                'sabemos que selecciono el primero en la lista
                'por lo que es jabon y haremos la multiplicacion
                'en base a la siguiente sintáxis
                ' cantidad * 20.5
                ValorT = Multi * 20.5
                ValorTemp = ValorTemp + ValorT
            Case Is = 1
                'si selecciona jabon (el segundo item del combo)
                'recuerda que el combo comienza siempre con index 0
                ValorT = Multi * 10.5
                ValorTemp = ValorTemp + ValorT
            Case Is = 2
                ValorT = Multi * 15.5 'este ultimo es el que debes cambiar para modificar el porcentaje a multiplicar
                ValorTemp = ValorTemp + ValorT
            Case Is = 3
                ValorT = Multi * 6.7
                ValorTemp = ValorTemp + ValorT
        End Select
    End Sub

Creo que el código lo deja claro pero espero lo implementes a tu código.

Entiende que el valor del TxtCan, no es lo MISMO que el valor del Producto, ya que Producto se refiere hacia el index del combo, el cual tenemos seleccionado, y el valor de Txtcan es la cantidad de productos.

Cualquier duda nos comentas.
En línea

[ - Si eres programador y quieres que tus proyectos esten en mi blog(con o sin source), consúltame! - ]
Entra A Mi Blog De Programación | | Dudas en este post :| | >>Clic para ir al Post<<
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Cobro Programa Gestion [vb.net EX][sql server EX]
.NET (C#, VB.NET, ASP)
Ari Slash 6 6,879 Último mensaje 25 Octubre 2009, 14:53 pm
por Ari Slash
Cómo reclamar el cobro indebido del 'canon digital'
Noticias
wolfbcn 0 1,675 Último mensaje 10 Marzo 2011, 02:18 am
por wolfbcn
Cuanto cobro.. Debate « 1 2 »
Foro Libre
Senior++ 17 6,680 Último mensaje 9 Julio 2012, 01:02 am
por reagea
Multan a la SGAE por el cobro abusivo en bodas
Foro Libre
crazykenny 1 2,228 Último mensaje 15 Agosto 2012, 21:05 pm
por bettu
Solución a empresa de cobro que llama por facturas de ONO pagadas
Foro Libre
ccrunch 1 2,222 Último mensaje 31 Julio 2014, 00:09 am
por #!drvy
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines