Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: @ron en 10 Mayo 2009, 23:53 pm



Título: If ... End If problemas
Publicado por: @ron en 10 Mayo 2009, 23:53 pm
Estoy creando un programa para hacer la conversión de milímetros centímetros pero en esta parte no me sale y no se muy bien como es porque ya lo he intentado de varias maneras aversi me pueden ayudar. :huh:


Private Sub command1_Click()
    If Option1 = True Then Text2 = Val(Text1) * 1000
    ElseIf Option2 = True Then Text2 = Val(Text1) * 100
    ElseIf Option3 = True Then Text2 = Val(Text1) * 10
    ElseIf Option4 = True Then Text2 = Val(Text1) / 1000
    End If
End Sub

me sale error en la primera linea "Private Sub command1_Click()" y me dice que Else sin If. Ojala me puedan ayudar.

saludos  ;)


Título: Re: If ... End If problemas
Publicado por: Dessa en 11 Mayo 2009, 00:08 am
Private Sub command1_Click()
    If Option1 = True Then
    Text2 = Val(Text1) * 1000
    ElseIf Option2 = True Then Text2 = Val(Text1) * 100
    ElseIf Option3 = True Then Text2 = Val(Text1) * 10
    ElseIf Option4 = True Then Text2 = Val(Text1) / 1000
    End If
End Sub


Título: Re: If ... End If problemas
Publicado por: @ron en 11 Mayo 2009, 00:12 am
Dessa pues muchas gracias fue tan sencillo la manera en como era la solución que me quede sorprendido. Y una ves mas gracias!!


Título: Re: If ... End If problemas
Publicado por: Dessa en 11 Mayo 2009, 00:27 am
Se puede hacer de muchas maneras, yo en tu caso lo hago así

Private Sub command1_Click()
    If Option1 Then Text2 = Val(Text1) * 1000
    If Option2 Then Text2 = Val(Text1) * 100
    If Option3 Then Text2 = Val(Text1) * 10
    If Option4 Then Text2 = Val(Text1) / 1000
End Sub

PD: tambien podes usar un select, saludos



Título: Re: If ... End If problemas
Publicado por: @ron en 11 Mayo 2009, 00:40 am
gracias Dessa lo acabo de probar y tambien me funciono.

pero tengo otro problema también, estoy creando un programa el cual me da la tabla de multiplicar que yo quiera pero no se da enter despues de terminar por ejemplo:
2x2=4"aqui salen dos cuadritos"2x3=6"vuelven a salir dos cuaditos"2x4=8
y asi se va pero no se da el enter despues de que termina la primera multiplicacion osea quiero que se vea asi:
2x2=4
2x3=6
2x4=8

este es el codigo que tengo:
Private Sub Command1_Click()
    Dim res As Long, retorno
    For n = 1 To 10
    res = Text1 * n
    retorno = Chr(13) & Chr(10)
    Text2 = Text2 & Text1 & "X" & n & "=" & res & retorno
    Next n
End Sub

saludos! ;D


Título: Re: If ... End If problemas
Publicado por: Dessa en 11 Mayo 2009, 00:47 am
Text2 multiline (en diseño) ???


Título: Re: If ... End If problemas
Publicado por: YST en 11 Mayo 2009, 00:48 am
Ponle la propiedad de Multiline al textbox en TRUE y de pasada aprende visual basic :P


Título: Re: If ... End If problemas
Publicado por: Dessa en 11 Mayo 2009, 00:51 am
No seas malo YST, Saludos    ;)


Título: Re: If ... End If problemas
Publicado por: @ron en 11 Mayo 2009, 00:55 am
ps estoy aprendiendo pero lo que pasa esque como la escuela donde me dan clases de esto estara cerrada asta el 18 por causa de la influenza pues esperaba que me ayudaran.

pero si te molesta ayudar mejor ni contestes porque algunas otras personas que si te ayudan sin poner peros como tu.


Título: Re: If ... End If problemas
Publicado por: Dessa en 11 Mayo 2009, 01:07 am
YST, nunca habrá un subforo de ASM si te portas mal  :xD


Título: Re: If ... End If problemas
Publicado por: YST en 11 Mayo 2009, 01:10 am
YST, nunca habrá un subforo de ASM si te portas mal  :xD
Entonces me disculpo :( todo sea por el subforo de ASM :xD

@ron tienes todo el derecho a preguntar pero porfavor busca primero en google porfavor. 


Título: Re: If ... End If problemas
Publicado por: seba123neo en 11 Mayo 2009, 01:49 am
Solución a los Problemas (http://www.google.com.ar/search?hl=es&client=firefox-a&rls=org.mozilla:es-AR:official&hs=C6I&ei=zWcHSpaNJNCrtgegveCaBw&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=manual+de+visual+basic&spell=1)


Título: Re: If ... End If problemas
Publicado por: EddyW en 11 Mayo 2009, 12:38 pm
Usos basicos de IF
If
Código
  1. If Objecto/Variable [Operador] Valor then
  2. ' Code si el valor es verdadero
  3. End if
Con un ejemplo:
Código
  1. If Text1.Text = "Juan" then
  2. Msgbox "Ha eres Juancho"
  3. End if
Aqui dice If que si Text1.text tiene el texto "Juan" entonces muestre un mensaje..
Los operadores son varios puedes usarlos tambien asi:
Código
  1. If Text1.text <> "Juan" then
  2. Msgbox "Tu no eres Juan..!!!, Escribe Juan..!!!"
  3. end if
Estos " <> " Significan si no dice.., es este caso si el Text1 no dice "Juan" entonces muestra el mensaje..

If - And
Otra funcion If esto sirve cuando queremos verificar dos o mas valores al mismo tiempo.., por ejemplo un Login..
Code:
Código
  1. If Objeto/Variable [Operador] Valor And Objeto/Variable = Valor then
  2. ' Code si los valores son verdaderos
  3. End if
Como ejemplo:
Código
  1. If Text1.Text = "Admin" And Text2.Text = "1234" then
  2. MsgBox "Eres el Admin."
  3. end if
Aqui decimos que si Text1 dice Admin y el Text2 dice "1234" entonces muestre el mensaje..
tambien podemos añadir mas And si queremos comprobar muchos mas valores..

If - Or
Una funcion mas IF, sirve para hacer dos o mas comparaciones con valor verdadero.., mejor lo explico con un ejemplo..
Code:
Código
  1. If Objeto/Var [Operador] "Valor1" or Objeto/Var = "Valor2" then
  2.       ' Code si es Valor1 o es Valor2
  3. End if
Con un ejemplo:
Código:
If Text1.text = "Admin" or Text1.text = "User" then
Msgbox "Bienvenido " & Text1.text
end if
Aqui compara el code si text1.text dice "Admin" si no dice "Admin" entonces compara el segundo valor.., si text1.text es "User" entonces muestra el mensaje..

Eso Fue lo basico, ahora else es facil..

Else
Else..., ahi viene el code si el valor que ponemos en If es negativo.., esto es sencillo solo poner else en medio del code:
Código
  1. If Objeto/Var [Operador] "Valor" then
  2. ' Code si es Verdadero
  3. Else
  4. ' Code si es falso
  5. end if
Con un ejemplo:
Código
  1. If Text1.text = "Juan" then
  2. MsgBox "Bienvenido Juan.."
  3. Else
  4. MsgBox "Usuario Incorrecto..!!!"
  5. end if
Asi aqui dice el code si text1.text es igual a "Juan" entonces me imprima el mensaje "Bienvenido Juan", y si text1.text no dice "Juan"..
entonces muestra el mensaje "Usuario Incorrecto..!!!"
Eso fue todo lo basico...
SaluDOS!!!


Título: Re: If ... End If problemas
Publicado por: Angeldj27 en 11 Mayo 2009, 15:52 pm

If - And
Otra funcion If esto sirve cuando queremos verificar dos o mas valores al mismo tiempo.., por ejemplo un Login..
Code:
Código
  1. If Objeto/Variable [Operador] Valor And Objeto/Variable = Valor then
  2. ' Code si los valores son verdaderos
  3. End if
Como ejemplo:
Código
  1. If Text1.Text = "Admin" And Text2.Text = "1234" then
  2. MsgBox "Eres el Admin."
  3. end if
Aqui decimos que si Text1 dice Admin y el Text2 dice "1234" entonces muestre el mensaje..
tambien podemos añadir mas And si queremos comprobar muchos mas valores..

If - Or
Una funcion mas IF, sirve para hacer dos o mas comparaciones con valor verdadero.., mejor lo explico con un ejemplo..
Code:
Código
  1. If Objeto/Var [Operador] "Valor1" or Objeto/Var = "Valor2" then
  2.       ' Code si es Valor1 o es Valor2
  3. End if
Con un ejemplo:
Código:
If Text1.text = "Admin" or Text1.text = "User" then
Msgbox "Bienvenido " & Text1.text
end if
Aqui compara el code si text1.text dice "Admin" si no dice "Admin" entonces compara el segundo valor.., si text1.text es "User" entonces muestra el mensaje..


Cabe destacar un pekeño error de exprecion en el caso del And y el Or se esta haciendo uso de algo que creiamos cuando estabamos en la secundaria que nunca lo ibamos a usar la tabla de verdad si esa misma   :-X osea V And V = V ; V And F = F ; V Or V = V ; V or F = V osea el la exprecion que este con el And deben cumplirse las dos condiciones y la que estan con Or solo se debe cumplir una de las dos para que sea verdadera... :silbar:

Saludos....



Título: Re: If ... End If problemas
Publicado por: BlackZeroX en 12 Mayo 2009, 01:16 am

este es otro formato de if then con retorno directo a una variable


Variable=iif(SentenciaACumplir,SiEsVerdadero,SiesFalso)

Ejemplo:


En un Modulo pega este quita el Form y pon como proceso inicial a "Sub Main()".

Código
  1. Sub Main()
  2.    Dim años As Integer, r As String
  3.    años = Val(InputBox("Edad", "Edad", "18"))
  4.    r = CStr(InputBox("Raza", "Raza", "Albino"))
  5.    retorno = IIf(años < 18, "Menor de 18" & IIf(r <> "", ", y es " & r, ""), "Mayor de 18" & IIf(r <> "", ", y es " & r, ""))
  6.    MsgBox retorno, vbOKOnly + vbInformation, "Retorno No. 1"
  7.    Call Main2(Val(años), CStr(r))
  8. End Sub
  9.  
  10. Sub Main2(ByVal Edad As Integer, Raza As String)
  11.    Dim años As Integer, r As String
  12.    años = Edad
  13.    r = Raza
  14.    retorno = IIf(r <> "", ", y es " & r, "")
  15.    retorno = IIf(años < 18, "Menor de 18" & retorno, "Mayor de 18" & retorno)
  16.    MsgBox retorno, vbOKOnly + vbInformation, "Retorno No. 2"
  17. End Sub
  18.  


Título: Re: If ... End If problemas
Publicado por: Castg! en 18 Septiembre 2009, 01:16 am
proba con poner tantos endif cono else tenes, digo, no soy un experto, asi yotambien aprendo. suerte! tomi!