Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - XresH

#361
Despues de tantos años de ofrecer formas similares me parece lógico que la gnte quiera seguir usando lo que sabe y conoce.

Salvo excepciones que no es mi caso ya que no me voy a acostumbrar a algo porque ellos quieran :P

Para mi indirectamente obligan a las personas a los cambios que ellos creen convenientes sin consultar a nadie.

No le parece?

Saludos.
#362
Cita de: SyntaxError404 en 24 Mayo 2013, 18:02 PM
Veo que el codigo es muy diferente, cabe mencionar que uso VB.NET 2008

Al ver tu codigo, vi cosas que no habia visto antes  :-\

quede algo confundido, pues por lo que XresH me explico de otra manera.... siendo el mismo proceso pero con codigo diferente

pero se agradece tu intencion por ayudarme.. el codigo ahora si funciona, justo ahora mire tu ejemplo y a segun lo que entendi decidi crear uno nuevo y si funciono

No vamos a explicarte el código de la misma forma, tenemos maneras distintas de programar, cosa que es normal.

Lograr mismos resultados con diferentes métodos es algo común y corriente.

Por lo que no vamos a explicartelo de la misma forma, jamas, porque tanto electro como yo tenemos nuestra forma de hacer las cosas, lo importante es que entiendas las ideas que te explicamos y los coódigos expuestos, para que lo apliques junto con tu conocimiento actual.

Pudiste resolver tus dudas al final? reitero lo importante es que comprendas lo que te planteamos!

Saludos.
#363
Que yo sepa la idea del usuario no es estar delante ni detrás de nadie,ni de ningún programador,por lo que discrepo con tu comentario electro.


Cita de: Joun en 24 Mayo 2013, 06:33 AM
buenas ;-), mi duda es simple, deseo aprender a programar, por hobbie por Necesidad, por saber algo, por muchas cosas y lo que e podido buscar y encontrar, es que el mejor para empezar es Visual Basic 6, actualmente tenemos el 2008 y 2010...
También que mejor es comenzar con el Visual .Net(moderno y mas campo de acción) y claro el Java que puedo usarlo para web, moviles y mas!

haber lo especialistas que recomiendan, gracias de antemano y para añadir, lleve un pequeño muy pequeño curso de java script, obviamente no es lo mismo, pero me imagino que la forma de trabajo es igual! ;D

Visual basic está defasado, estamos de acuerdo, eso no quita que se aprenda rápido, fácil, más que en .NET
De todas formas se puede aprender cualquier lenguaje de entrada, si vamos al caso, todos tendríamos razón.
Yo entiendo al pedido del usuario un lenguaje rápido, sncillo, por hobby, otros lenguajes fuertes cuestan mas y no hay resultados con tanta rapidez.

Saludos.
#364
Mas que variables con los mismos RadioButon podes hacerlo;

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If RadioButton1.Checked = False And RadioButton2.Checked = False Then
            MsgBox("Seleccione un option para seguir")
        ElseIf RadioButton1.Checked = True Then
            'codigo para reproducir sonido
        ElseIf RadioButton2.Checked = True Then
            'codigo para ejecutar programa
        End If
    End Sub


Sino entendes algo en el code me decis pero estoy seguro que lo comprendés.


Saludos.
#365
Hola, en lo personal te diría Visual Basic 6.

No soy especialista ojo.

Si es por hobby para que no te lleve tanto tiempo es ideal para comenzar, después migrar a otros mas potentes te resultaría mas sencillo.

Las sintáxis en programación son similares cuando entiendes un lenguaje te facilita entender cualquier otro, al menos así me sucedió a mi.

Por lo que tu curso de Java tal vez si comienzas con visual no te será muy útil al principio pero luego entenderás por qué si te sirve.

Cada lenguaje tiene su manera, su forma, ni mejor ni peor, solo diferente.

Yo hace años manejo visual 6 y cuando migré hacia .NET me costo al principio porque cambia en varias cosas pero de todas maneras con algo de práctica ya le agarre el gustito  :xD

También tener en cuenta que me encanta programar y si a vos también te gusta, estás del otro lado jaja


Espero te sirva de algo mi experiencia personal.

Saludos.
#366
Gracias Electro, como siempre un lujo tus aportes.... ya lo descargue y funciona.. cualquier cosa te aviso.

Saludos.
#367
Sé que es spam pero ya veo este tipo de mensajes como 456 veces xD

Los bot están pasados los moderadores por favor eliminen estos mensajes... ? Aviso x las dudas!!!

Nos invaden estos jalapeños.


#368
Bueno hola, primero que nada quiero decirte que tenes mal declaradas las variables en Form Load, ya que si las dejas ahi solo son válidas dentro de ese evento.

Debes declararlas en la parte superior luego de Option Explicit (instruccion que te recomiendo que tengas siempre activa, ya que obliga a la declaración de variables)

Tienes muchos botones con Matriz de controles, habría que pulir un poco el código en ese sentido para tenerlo mas claro ya que hay código innecesario que perfectamente podés saltear sin que desacomode tu aplicación.

Podrías agregar una función que compruebe el divisor y si es igual a 0 salirte o desplegar un mensaje que es imposible dividr por cero.

Por el momento podés ir acomodando eso.


Saludos.



EDITO: a ver que te parece esto, todo a base de matrices las cuales tienes creadas (al parecer) pero no las tienes aplicadas, observa;


Option Explicit
Dim Operacion As String
Dim xlong As Long
Dim Resultado As Long



encima del todo en el IDE.

Luego, en el botón de Igual;


'----------------------------------------
Private Sub cmdigual_Click()
If Operacion = "+" Then
  Resultado = xlong + Val(display.Text)
  display.Text = Resultado
End If
If Operacion = "-" Then
  Resultado = xlong - Val(display.Text)
  display.Text = Resultado
End If
If Operacion = "*" Then
  Resultado = xlong * Val(display.Text)
  display.Text = Resultado
End If
If Operacion = "/" Then
  If CompruebaDiv(Val(display.Text)) = False Then
     MsgBox "No se puede dividir entre 0", vbOKOnly + vbCritical, "Atencion:Error"
     Exit Sub
  End If
  Resultado = xlong / Val(display.Text)
  display.Text = Resultado
End If
End Sub


La división tiene una comprobación por el cual si el dividendo es 0 devuelve el mensaje y no permite continuar (sale de la función)

Como es una calculadora solo trabajas con números por lo que estás obligado a manipular la instrucción Val en todos los casos, porque según veo no usas Label sino TextBox.

Operación es una variable que se maneja a través de una matriz la cual contiene las cuatro operaciones que usas;


Private Sub cmdOperacion_Click(Index As Integer)
Select Case Index
       Case Is = 0
           Operacion = "*"
           xlong = Val(display.Text)
           display.Text = ""
       Case Is = 1
           Operacion = "-"
           xlong = Val(display.Text)
           display.Text = ""
       Case Is = 2
           Operacion = "/"
           xlong = Val(display.Text)
           display.Text = ""
       Case Is = 3
           Operacion = "+"
           xlong = Val(display.Text)
           display.Text = ""
End Select
End Sub


"Limpia" el display para el nuevo número a insertar.

Para los botones basta con este code (con una matriz, claro está);


Private Sub cmdN_Click(Index As Integer)
display.Text = display.Text & Index
End Sub


Botones de 0 a 9.

Función que comprueba dividendo;


Public Function CompruebaDiv(Valor As Integer) As Boolean
If Valor = 0 Then
  CompruebaDiv = False
Else
  CompruebaDiv = True
End If
End Function



Faltaría pulir algunos detalles como por ejemplo el de vaciar variables y display para realizar una nueva cuenta, pero con esto ya te alcanza de base para seguir.

También he notado que no trabajas bien con los tipos de datos, no puedes Asignarle a una variable tipo Long un texto porque lógicamente dará error.

Saludos
#369
Sin lugar a dudas y sin pensarlo Kaspersky.

De forma personal hace años lo uso y jamas he tenido problemas de gravedad, el unico inconveniente(pero no es culpa del AV) es que cuando tenia pc lenta no lo corría ni loco... come recursos pero mi voto no es por tema de recursos sino por efectividad que de eso trata el post.. verdad??

Saludos.
#370
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;
        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;


   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;


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;


    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.