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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Mi primer programa en VB
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Mi primer programa en VB  (Leído 5,669 veces)
Pedro_madrid

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Mi primer programa en VB
« en: 30 Mayo 2008, 17:38 pm »

Hola a todos, bueno acabo de empezar a programar, y me recomendaron VB.
Estuve leyendo sobre cómo usarlo y creo que estoy preparado para hacer este primer programa (muy cutre, pero por algo se empieza...)
Todas las dudas que me surgan las ire formulando en este hilo.

El programa es muy sencillo, quiero, con una TextBox y un Label, hacer que cuando yo ponga una calificacion (1,2,3,....10) me salga su correspondiente en notable, bien, sobresaliente... no se si me explico.
Y nada mas pensarlo se me plantea una duda:
¿Cómo hago para que el suspenso sea desde 0 a 5 sin que entre el 5? ¿Simplemente poniendo 4,9? ¿Poniendo 4,9 no se quedaria fuera el 4,95 por ejemplo?
Otra duda:
¿Cómo hago para que se visualice en el Label "Suspenso"?

Saludos y gracias de antemano, segun vaya haciendo el programa se me iran planteando mas dudas asique no cierren el hilo cuando ésta sea respondida por favor.


« Última modificación: 30 Mayo 2008, 17:44 pm por Pedro_madrid » En línea

byebye


Desconectado Desconectado

Mensajes: 5.093



Ver Perfil
Re: Mi primer programa en VB
« Respuesta #1 en: 30 Mayo 2008, 17:54 pm »

Citar
creo que estoy preparado para hacer este primer programa

yo creo que no. dices que estas preparado y te tenemos que decir como hacerlo......


En línea

Pedro_madrid

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Mi primer programa en VB
« Respuesta #2 en: 30 Mayo 2008, 17:56 pm »

Solo necesito saber esas 2 cosas de momento.... es para practicar, un ejercicio que me he propuesto yo mismo para aprender a trabajar con el If, Else y Then...
Es más que nada una práctica.
Por cierto, con la primera duda creo que ya tengo la respuesta... poner <5 ¿no?
« Última modificación: 30 Mayo 2008, 17:59 pm por Pedro_madrid » En línea

pisagatos


Desconectado Desconectado

Mensajes: 1.771



Ver Perfil WWW
Re: Mi primer programa en VB
« Respuesta #3 en: 30 Mayo 2008, 18:09 pm »

Function saberMiNota(numero as intenger) as string

If numero < 0 or numero =< 5 then
saberMiNota = "Suspenso"
If Not numero =< 6 then
saberMiNota = "Bien"
If Not numero =< 8 then
saberMiNota = "Notable"
If Not numero =<10 then
saberMiNota = "Sobresaliente"

End If
pruebalo q lo acabo de hacer a jopo aqui en dos minutos... y no se si está bien
En línea

Spider-Net


Desconectado Desconectado

Mensajes: 1.165


Un gran poder conlleva una gran responsabilidad


Ver Perfil WWW
Re: Mi primer programa en VB
« Respuesta #4 en: 30 Mayo 2008, 20:12 pm »

La sintaxis no es correcta, ese programa no compila... Creo que lo que querías era hacer un ElseIf porque sino no entiendo por qué no cierras cada uno de los Ifs. Bueno Yo haría algo así:

Introduce en el Form un CommandButton y un TextBox, en el textbox escribes la nota de la cual quieras obtener la calificación y luego pulsas en el botón para hallar la nota. El CommandButton lo único que hace es llamar a una función pasándole como parámetro el número que pones en el textbox y según el número introducido devolverá un mensaje con la calificación correspondiente. También podrías poner un Label y en el CommandButton escribir: Label1.Caption=saberminota(Text1.Text)

Aquí te dejo el ejemplo, espero que te ayude... aunque quizás el uso de funciones aún no lo dominas. Pero bueno, si tienes alguna pregunta no dudes en preguntar.  ;)

Código
  1. Private Sub Command1_Click()
  2.     MsgBox saberminota(Text1.Text)
  3. End Sub
  4.  
  5. Function saberminota(numero As Integer) As String
  6.    If numero >= 0 And numero < 5 Then
  7.        saberminota = "Suspenso"
  8.    ElseIf numero = 5 Then
  9.        saberminota = "Suficiente"
  10.    ElseIf numero = 6 Then
  11.        saberminota = "Bien"
  12.    ElseIf numero >= 7 And numero <= 8 Then
  13.        saberminota = "Notable"
  14.    ElseIf numero >= 9 And numero <= 10 Then
  15.        saberminota = "Sobresaliente"
  16.    Else
  17.        MsgBox "Ha introducido un valor incorrecto", vbInformation, "Error en la nota"
  18.    End If
  19. End Function
En línea

chrominum


Desconectado Desconectado

Mensajes: 567


Viceroy: No es lo que tengo, es COMO lo tengo


Ver Perfil WWW
Re: Mi primer programa en VB
« Respuesta #5 en: 30 Mayo 2008, 20:31 pm »

Quedaria mejor con select case.
En línea

Spider-Net


Desconectado Desconectado

Mensajes: 1.165


Un gran poder conlleva una gran responsabilidad


Ver Perfil WWW
Re: Mi primer programa en VB
« Respuesta #6 en: 30 Mayo 2008, 20:35 pm »

Sí claro, eso es más claro con un Select Case, pero como el chaval ha dicho en su post que estaba haciendo el programa para practicar con los if ¿no se lo vamos a enseñar con Select no? vamos por partes.. xD

Saludos!
En línea

pisagatos


Desconectado Desconectado

Mensajes: 1.771



Ver Perfil WWW
Re: Mi primer programa en VB
« Respuesta #7 en: 30 Mayo 2008, 21:26 pm »

jaja perdonad chicos, se me ha ido la cabeza, coño, en q *** estaba pensando, con Else If!! y si quedaria muchisimo mejor con Select Case... pero bueno...
En línea

Pedro_madrid

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Mi primer programa en VB
« Respuesta #8 en: 30 Mayo 2008, 21:28 pm »

Ayyy... ya me disteis el codigo entero... XD, bueno, asi tambien ire aprendiendo... ¿no?.
Pisagatos: Al poner asi el codigo... no se "confundiria" el programa? Yo mas bien lo tenia pensado hacer "en cadena"(se dice compilado ¿no?), con los ElseIF.
Por lo que veo del código... lo que yo tenia que haber hecho seria una Función, esque yo lo habria metido en Private Sub... aun me queda por aprender mucho...
Ahora otra duda... con MsgBox... no saldria una ventana? Yo lo que pretendia esque me saliera en un Label que hice previamente... ¿hay alguna forma de hacerlo asi? Ahora probare el código, haber como va.
Gracias por la ayuda, y aver si me busco ejemplos muy muy muy sencillos e intento hacer lo que me diga sin mirar la solución :P.
PD: ¿Para que sirve eso del Select Case? Me parece que leí algo pero no me enteré de como hacerlo...
PD: Acabo de provar el código y funciona ;). Solo 1 cosa... al meter decimales (6.7, 9.5...) me sale el mensaje de error. ¿Cómo se haría para que funcionara con decimales?
« Última modificación: 30 Mayo 2008, 21:41 pm por Pedro_madrid » En línea

Spider-Net


Desconectado Desconectado

Mensajes: 1.165


Un gran poder conlleva una gran responsabilidad


Ver Perfil WWW
Re: Mi primer programa en VB
« Respuesta #9 en: 30 Mayo 2008, 22:31 pm »

Por lo que veo del código... lo que yo tenia que haber hecho seria una Función, esque yo lo habria metido en Private Sub... aun me queda por aprender mucho...
No tendrías por que haberlo hecho en una función, también se puede hacer en un private sub y funcionaría igual. Hay muchas formas de hacer la misma cosa.

Ahora otra duda... con MsgBox... no saldria una ventana? Yo lo que pretendia esque me saliera en un Label que hice previamente... ¿hay alguna forma de hacerlo asi?
Ya te lo puse en mi mensaje, eso del MsgBox es sólo un ejemplo, pero como ya te puse en el mensaje que te escribí...

También podrías poner un Label y en el CommandButton escribir: Label1.Caption=saberminota(Text1.Text)
Osea, inserta un label y deja el código así para que funcione con decimales y todo salga en un Label:

Código
  1. Private Sub Command1_Click()
  2.     Label1.Caption = saberminota(Text1.Text)
  3. End Sub
  4.  
  5. Function saberminota(numero As Double) As String
  6.    If numero >= 0 And numero < 5 Then
  7.        saberminota = "Suspenso"
  8.    ElseIf numero >= 5 And numero < 6 Then
  9.        saberminota = "Suficiente"
  10.    ElseIf numero >= 6 And numero < 7 Then
  11.        saberminota = "Bien"
  12.    ElseIf numero >= 7 And numero < 9 Then
  13.        saberminota = "Notable"
  14.    ElseIf numero >= 9 And numero <= 10 Then
  15.        saberminota = "Sobresaliente"
  16.    Else
  17.        MsgBox "Ha introducido un valor incorrecto", vbInformation, "Error en la nota"
  18.    End If
  19. End Function

Como ves lo único que he cambiado es el tipo del dato que se le envía Function saberminota(numero As Double) As String.
Antes era Integer(valor entero) y ahora es Double(valor decimal). Y a parte, lo único que cambié fueron los rangos desde que número a qué número se le asigna cada nota, por ejemplo:
Desde numero >= 6 hasta numero <= 8. Simplemente le especifico desde que número a que número tiene que indicar cierta calificación.

NOTA: En Visual Basic para poner números decimales no uses el punto, ej.: 7.2
Usa la coma: 7,2

Se puede hacer un Replace para usar el punto, pero es innecesario, usando la coma sale bien.

PD: ¿Para que sirve eso del Select Case? Me parece que leí algo pero no me enteré de como hacerlo...
Select Case es otro tipo de estructura selectiva, es una especie de if anidado (no compilado, como dijiste antes).
Con un Select Case sería algo así:

Código
  1. Private Sub Command1_Click()
  2.     MsgBox saberminota(Text1.Text)
  3. End Sub
  4.  
  5. Function saberminota(numero As Double) As String
  6.    Select Case (Text1.Text)
  7.        Case 1, 2, 3, 4:
  8.            saberminota = "suspenso"
  9.        Case 5:
  10.            saberminota = "suficiente"
  11.        Case 6:
  12.            saberminota = "bien"
  13.        Case 7, 8:
  14.            saberminota = "notable"
  15.        Case 9, 10:
  16.            saberminota = "sobresaliente"
  17.        Case Else:
  18.            MsgBox "Ha introducido un número incorrecto", vbindormation
  19.    End Select
  20. End Function
Pero de esta forma no puedes coger valores decimales, el Select Case sólo toma valores enteros.
[/quote]
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Perl](Calculadora) Mi primer programa
Scripting
Niko^ 1 4,454 Último mensaje 13 Diciembre 2010, 08:18 am
por leogtz
Escribir 'A' en mi primer programa : ¿No funciona? « 1 2 »
ASM
Garfield07 14 9,455 Último mensaje 1 Enero 2011, 21:27 pm
por Garfield07
El primer programa de la historia.
Foro Libre
KarlosVid(ÊÇ) 0 3,836 Último mensaje 3 Mayo 2011, 07:48 am
por KarlosVid(ÊÇ)
[VB6] Una ayuda con mi primer programa... plz :) « 1 2 »
Programación Visual Basic
SuperDraco 15 7,256 Último mensaje 16 Julio 2011, 13:04 pm
por SuperDraco
Mi primer programa en VB6
Programación Visual Basic
NorteaComputer 8 3,376 Último mensaje 5 Agosto 2011, 02:44 am
por Luna71c0
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines