Hola!!!
Necesito ayuda sobre como insertar notas (del instituto) y que luego me de una nota media con un mensaje que diga, por ejemplo:
Si tengo un 10 --------- Eres un crack
Si tengo un 9----------- Te queda muy poco.
Y asi del 10 al 0, alguien tiene idea si esto se puede hacer en vb.net?
Es una inquietud que tengo desde hace ya vario tiempo, y me gustaria saber como se puede hacer.
Gracias de antemano,
Un salu2!!!
PD: Este mismo post lo abri en otra categoria, cierren el que puse en la otra y dejen este.
Gracias,
Un salu2!!!
Con un select case se puede hacer algo asi, primero sacas la media y despues haces algo como
Select Case Media
Case 10
MessageBox.Show("Eres un crack")
Case 9
MessageBox.Show("Te queda muy poco")
Case n
'etc
Case else
End Select
Hola!!!
Gracias por tu rapida respuesta, pero no se puede hacer de la forma que al hacer el calculo, aparezca en la pantalla, pero no como un mensaje flotante, si no que aparezca en un textbox?
Gracias de nuevo,
Un salu2!!!
Pues eso seria asi:
Select Case Media
Case 10
TextBox1.Clear()
TextBox1.Text= "Eres un crack"
Case 9
TextBox1.Clear()
TextBox1.Text= "Te queda muy poco"
Case n
'etc
Case else
End Select
Tienes tarea verdad? porque es el más que clásico ejercicio que le ponen a todo el mundo cuando comienzan con los condicionales :-X
Select Case Media
Case 10
textbox.Text = "Eres un crack"
Case 9
textbox.Text = "Te queda muy poco"
Case n
'etc
Case else
End Select
Y ya, lo que preguntas esta en el primer capítulo de cualquier libro
Saludos
Ups ... ya lo había escrito, así que no lo iba a borrar XD
el textBox.Clear() no es necesario, jeje ;D el codigo de Novlucker es el correcto
Ok, un millon de gracias :D
Pero tengo otra duda, quizas la que normalmente suelo tener casi siempre:
¿Como relaciono el resultado de la operacion con la cadena de calificacion?
Gracias,
Un salu2!!!
A que te refieres con "¿Como relaciono ..." ?
Se supone que la relación aparece cuando realizas el Select Case, Case 1, Case 2, Case 3, etc
De lo contrario puedes crear un diccionario y tener los "elementos asociados", pero el resto del código cambiaría (ya no sería un Select Case)
Saludos
Clero, yo me referia ha donde insertar esto.
Ahora se que va en la operación matemática que ponga, la verdad es que en este tema estoy dudoso, pero bueno, sera cuestion de leerse algunos tutoriales sobre el manejo un poco más avanzado del Vb.net
Gracias por todo,
Un salu2!!!
Lo que te de la operacion lo guardas en la variable Media y asi ya esta relacionado
dim Media as Integer
Media = (cal1 + cal2 + cal3) /3
select case Media
etc...
Tambien puedes usar if :P
If TextBox1.Text = "10" Then
TextBox2.Text = "Eres un Crack"
ElseIf TextBox1.Text = "9" Then
TextBox2.Text = "Te queda muy poco"
End If
es mas largo pero creo que servira no?
Otra cosa:
Si quieres que solo se puedan ingresar numeros, entonces haz esto:
Primero crea 1 Modulo y en el codigo introduce esto:
Function SoloNumeros(ByVal Keyascii As Short) As Short
If InStr("1234567890", Chr(Keyascii)) = 0 Then
SoloNumeros = 0
Else
SoloNumeros = Keyascii
End If
Select Case Keyascii
Case 8
SoloNumeros = Keyascii
Case 13
SoloNumeros = Keyascii
End Select
End Function
Esto va debajo de Form1:
Public Class Form1
Inherits System.Windows.Forms.Form
Public KeyAscii As Short
Ahora Pon en el Codigo de Tu TextBox, ve donde dice Declarations, y ponlo en el evento Keypress y pon esto;
Dim KeyAscii As Short = CShort(Asc(e.KeyChar))
keyascii = CShort(SoloNumeros(keyascii))
If keyascii = 0 Then
e.Handled = True
End If
Saludos ;)
Cita de: BlazeFire en 4 Septiembre 2009, 20:47 PM
Tambien puedes usar if :P
If TextBox1.Text = "10" Then
TextBox2.Text = "Eres un Crack"
ElseIf TextBox1.Text = "9" Then
TextBox2.Text = "Te queda muy poco"
End If
es mas largo pero creo que servira no?
Otra cosa:
Si quieres que solo se puedan ingresar numeros, entonces haz esto:
Primero crea 1 Modulo y en el codigo introduce esto:
Function SoloNumeros(ByVal Keyascii As Short) As Short
If InStr("1234567890", Chr(Keyascii)) = 0 Then
SoloNumeros = 0
Else
SoloNumeros = Keyascii
End If
Select Case Keyascii
Case 8
SoloNumeros = Keyascii
Case 13
SoloNumeros = Keyascii
End Select
End Function
Esto va debajo de Form1:
Public Class Form1
Inherits System.Windows.Forms.Form
Public KeyAscii As Short
Ahora Pon en el Codigo de Tu TextBox, ve donde dice Declarations, y ponlo en el evento Keypress y pon esto;
Dim KeyAscii As Short = CShort(Asc(e.KeyChar))
keyascii = CShort(SoloNumeros(keyascii))
If keyascii = 0 Then
e.Handled = True
End If
Saludos ;)
Hola!!!
Muchas gracias por tu ayuda y por la de todos, ahora mismo voy a poner manos a la obra.
Gracias,
Salu2!!!
Tranquilop para eso estamos ;D
y de paso te dejo el ejemplo con notas del 1 al 10 :xD
(http://i86.servimg.com/u/f86/11/66/25/27/califi10.png)
Descargar:
Programa (http://www.sendspace.com/file/z7nkfh)
Codigo Fuente (http://www.sendspace.com/file/kzsnwd)
Woooooowwww :D
Muchisimas gracias tio por el programa y el codigo fuente, ahora entiendo muchisimo mejor el mecanismo del programa.
Un salu2!!!
:) :)
Acabo de probar el proyecto, pero le podria asignar una opción de guardado?
Un salu2!!!
Si pero yo el unico metodo de guardado que se es guardarlo en un .txt que es un texto normal, pero solo con RichTextBox no con TextBox Normal, a lo mejor los users de aca saben algo.
Con un RichTextBox para guardar seria, Añadir el SaveFileDialog y en el Codigo del Boton Guardar "Si es que lo hay" poner esto:
If SaveFileDialog1.ShowDialog = DialogResult.OK Then
RichTextBox1.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)
End If
Form1.ActiveForm().Text() = "Guardado" + SaveFileDialog1.FileName
y para cargarlo o abrirlo ps, entonces agregar un OpenFileDialog y pones esto en el boton "Si es que lo hay":
If OpenFileDialog1.ShowDialog = DialogResult.OK Then
RichTextBox1.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.PlainText)
End If
Form1.ActiveForm().Text() = "Abierto" + OpenFileDialog1.FileName
Salu2!
un ricthtextbox para una nota simple?? D:
jajaja XD impresinonante cuantos mensajes me perdi mientras no estaba XD xD, pero supongo que aythor94 no tiene todos los promedios calculados, seria mejor un mini-programa que pida ingresar todas las notas y que al final aparezca el promedio y el texto "eres un crack" por ejemplo ;) (ahora justo me voy a buscar a cierta persona, pero sino lo haria)
si bueno raul lo que pasa es que yo tambien soy medio nuevo en esto y no se mas formas de guardar cosas jajajaja :xD
Edito_
No se han dado cuenta que casi nunca me desconecto? xD
jajajaj xD, pon todo el contenido en un string, e importa el namespace System.IO
y usas
Dim sw As StreamWriter = File.CreateText(Application.StartupPath & "\notas.txt")
sw.Write(nota)
sw.Close()
sw = Nothing
y listo ^^