Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

Suma De Dos Números

Suma De Dos Números
Artículo
Responder citando    Descargar mensaje  
Mensaje Suma De Dos Números 
 
Buenos días amigos.

   Soy una persona que recientemente entré al maravilloso mundo de linux. También
acabo de terminar un curso de visual basic y me enteré que tenemos en linux
a gambas, lo bajé y lo instalé. Vino con varios programas, pero cuando intento ejecutarlos me aparece el siguiente mensaje:

"Cannot load class 'principal': Unable to load class file"

Como son personas con amplia experiencia en linux y gambas, quería saber
si me podían dar una mano para entender que es lo que sucede con mi instalación, porque aparte de este mensaje, hice un programa sencillo que vi en el curso,
solo introducir dos números en dos campos textbox y sumarlos en un tercer textbox al presionar un botón, pero me da el siguiente error:

"Type mismatch: wanted Number, got TextBox instead"

Tengo gambas 2.19, hice esa prueba en otra máquina con gambas 1.9.50 y sí funcionó; por lo tanto supongo que hay algo con mi instalación que, por mi poca experiencia
con estas herramientas, no se de que se trata.

Mucho agradecería su ayuda para más adelante poder aportar ejemplos para gambas.


Saludos desde Venezuela,

Rubén Darío.



 
ruben - Ver perfil del usuario Enviar mensaje privado  
ruben [ Martes, 19 Octobre 2010, 22:29 ]
 


Suma De Dos Números
Comentarios
Responder citando    Descargar mensaje  
Mensaje Re: Suma De Dos Números 
 
Pues seguramente sea por causa de la version de gambas que usas. Ahora mismo, la mas avanzada es Gambas3, pero segun parece no es la definitiva del todo, pero funciona. Hay un script que hizo jguardon para instalarlo automaticamente. No se exactamente donde (Creo que si pones "script" en busqueda, te salen los temas).

Ademas, en tu proyecto,a mi ahora me pasa lo mismo, conocer un resultado de un TextBox, y pasarlo a numero, pero claro, el valor del TextBox es texto, y no puedo sumar texto (logico)...

He probado con:

TextBox1.Text = Val(Label1.Text) 'Esto salio ya en un tema y lo he probado por probar realmente


Y el resultado de esto es que no sale nada en el Label1.

Luego despues pensé en:

Label1.Text = CString(CInteger(Label1.Text))


Pero me dice que necesita un Integer, pero le doy un String...

Salud!!



 
AnSnarkista - Ver perfil del usuario Enviar mensaje privado  
AnSnarkista [ Martes, 19 Octobre 2010, 23:25 ]
Responder citando    Descargar mensaje  
Mensaje Re: Suma De Dos Números 
 
Rubén, los ejemplos que vienen con gambas están guardados en una carpeta del sistema de sólo lectura. Cada vez que abras un ejemplo desde esa ubicación deberías guardarlo en una carpeta en la que tengas permiso de escritura (cualquier carpeta dentro de tu carpeta personal, que seguramente es algo como esto: /home/ruben ).

Respecto del error: "Type mismatch: wanted Number, got TextBox instead", el problema es que en gambas no existen las propiedades por defecto, es decir en VB podés hacer esto:

TextBox1 = "Pepe", porque la propiedad Text es la propiedad predefinida, por lo que es lo mismo que escribir: TextBox1.Text = "Pepe"

En gambas estás obligado a escribir:

TextBox1.Text = "Pepe"



 
fabianfv - Ver perfil del usuario Enviar mensaje privado  
fabianfv [ Martes, 19 Octobre 2010, 23:28 ]
Responder citando    Descargar mensaje  
Mensaje Re: Suma De Dos Números 
 
Uuuups!!!

Me he acordado del nombre del hilo, y buscando buscando lo he encontrado...

http://foro.gambas-es.org/viewtopic...ghlight=evaluar

Espero que te sirva!!

(a mi me esta costando...)



 
AnSnarkista - Ver perfil del usuario Enviar mensaje privado  
AnSnarkista [ Martes, 19 Octobre 2010, 23:42 ]
Responder citando    Descargar mensaje  
Mensaje Re: Suma De Dos Números 
 
Nunca había tenido que sumar números en gambas , pero me pareció interesante tu problema e hice una prueba que quizás te sirva.
Este es el código:
PUBLIC SUB Button1_Click()
DIM uno AS Float
DIM dos AS Float
DIM resultado AS Float
  uno = Val(textbox1.text)
  dos = Val(textbox2.text)
  resultado = uno + dos
  textBox3.text = resultado
END


O sea, creo tres variables del tipo float,uno es el primer sumando, dos es el segundo y resultado el idem.
Con Val convierto el "texto" a su expresión numérica y realiza la operación indicada (suma en este caso) Lo probé para multiplicación y división también. El resultado te lo muestra en el otro textbox. Espero te sirva.
Saludos
  NOTA : si usas números con decimales debes usar la coma como separador, si usas el punto te dará un error.
Para Ansnarkista;
Citar:
He probado con:


TextBox1.Text = Val(Label1.Text) 'Esto salio ya en un tema y lo he probado por probar realmente


Y el resultado de esto es que no sale nada en el Label1.


Prueba lo siguiente:
label1.text=Val(textbox1.text)

Saludos



 
última edición por Dani26 el Jueves, 21 Octobre 2010, 01:43; editado 2 veces 
Dani26 - Ver perfil del usuario Enviar mensaje privado  
Dani26 [ Jueves, 21 Octobre 2010, 01:05 ]
Responder citando    Descargar mensaje  
Mensaje Re: Suma De Dos Números 
 
Con el codigo que has puesto al principio:

PUBLIC SUB Button1_Click()
DIM uno AS Float
DIM dos AS Float
DIM resultado AS Float
 uno = Val(textbox1.text)
 dos = Val(textbox2.text)
 resultado = uno + dos
 textBox3.text = resultado
END


Seria para tener dos TextBox no?Pero el problema es que queremos hacerlo con un solo TextBox (al menos yo...)

He probado el otro codigo:

label1.text=Val(textbox1.text)


y me pasa lo mismo....pero porque en el TextBox escribo 3+1 , por ejemplo.


Pfffff!!! me voy a poner con esto, porque la verdad es que no se como solucionarlo....probe otro codigo nuevo ayer mirando el hilo que postee, pero es que no lo entiendo...

Saluud!



 
AnSnarkista - Ver perfil del usuario Enviar mensaje privado  
AnSnarkista [ Jueves, 21 Octobre 2010, 09:26 ]
Responder citando    Descargar mensaje  
Mensaje Re: Suma De Dos Números 
 
AnSnarkista:

Utilizar el componente gb.Eval, como el ejemplo que viene en gambas de la calculadora.


Saludos



 
jsbsan - Ver perfil del usuario Enviar mensaje privado  
jsbsan [ Jueves, 21 Octobre 2010, 09:50 ]
Responder citando    Descargar mensaje  
Mensaje Re: Suma De Dos Números 
 
Fijate entonces en el ejemplo evaluator que viene con gambas. Ahí lo hace con un solo textbox para la fórmula, pero los números igual van en textbox diferentes.
Suerte



 
Dani26 - Ver perfil del usuario Enviar mensaje privado  
Dani26 [ Jueves, 21 Octobre 2010, 10:30 ]
Responder citando    Descargar mensaje  
Mensaje Re: Suma De Dos Números 
 
Dani26 escribió: [Ver mensaje]
Fijate entonces en el ejemplo evaluator que viene con gambas. Ahí lo hace con un solo textbox para la fórmula, pero los números igual van en textbox diferentes.
Suerte

A ver, si ves el ejemplo,  con las sentencias:
$hExpr.Text = txtExpr.Text
$hExpr.Compile
txtResult.Text = Str($hExpr.Value)

Evalua el contenido del txtExpr.Text ¿de acuerdo?
Si en vez de valer textExpr.Text="a * Cos(Rad(x)) + b * Sin(Rad(y))"
pones textExpr.Text="5+2" , y pulsa Enter o Return, te saldra "7" (compruebalo)

En el código del ejemplo "Evaluator" solo tienes que anular las lineas de las variables, ya que no te hacen falta para lo que quieres hacer:
' gambas class file
PRIVATE $hExpr AS NEW Expression
'no estamos interesados en variables (a,b,x,y)
'PRIVATE $cEnv AS NEW Collection

STATIC PUBLIC SUB Main()
DIM hForm AS Form
hForm = NEW FEval
hForm.Show
END

PUBLIC SUB btnUpdate_Click()
  DIM cCol AS NEW Collection
  IF $hExpr.Text <> txtExpr.Text THEN
    $hExpr.Text = txtExpr.Text
  ENDIF
  ' no usamos variable solo los numeros y operaciones que metemos en el txtExpr.Text
  'cEnv.Compare = gb.Case
  ' $cEnv["a"] = Val(txtValueA.Text)
 ' $cEnv["b"] = Val(txtValueB.Text)
 ' $cEnv["x"] = Val(txtValueX.Text)
 ' $cEnv["y"] = Val(txtValueY.Text)
  $hExpr.Compile
  ' no tenemos que evaluar ninguna variable (a,b,x,y)
 ' $hExpr.Environment = $cEnv
  txtResult.Text = Str($hExpr.Value)
CATCH
  txtResult.Text = Error.Text
END

PUBLIC SUB btnClose_Click()
  ME.Close
END
 

y borrar del formulario lo que no nos hace falta:
Haciendo un ejemplo queda asi:
 pantallazo_1287659648_120286

Nota importante:
Los ejemplos son ejemplos, hay que "desmenusarlos" (examinar, analizar, detallar, desglosar) para aprender de ellos.

Saludos



 
jsbsan - Ver perfil del usuario Enviar mensaje privado  
jsbsan [ Jueves, 21 Octobre 2010, 12:23 ]
Responder citando    Descargar mensaje  
Mensaje Re: Suma De Dos Números 
 
Graciaaaas!!

He probado a activar gb.Eval, y luego simplemente en el evento click de un boton:

Label1.Text = Eval(TextBox1.Text)


Y funciona...he leido la documentacion del componente gb.Eval, pero no entiendo nada de nada...(¿Colecciones?)


Saluuud!!



 
AnSnarkista - Ver perfil del usuario Enviar mensaje privado  
AnSnarkista [ Jueves, 21 Octobre 2010, 13:06 ]
Mostrar mensajes anteriores:    
 
Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 



 

cron