![]() |
Suma de Edit
Buenas tarde mi consulta es la siguiente tengo 3 Edit, al ingresar un (valor en el Edit1 * valor en el Edit2)+70 = Edit3, osea que automaticamente me aparesca el resultado en el Edit3. Bueno lo intenté al compilar me da un error Project Project1.exe raised exception class EconvertError with Message''''is not a valide integer value., acepto los errores y me funciona bien pero no puedo sumarle el 70
|
form create
te da ese error por que lo estas programando en el evento form create
|
Hola Olenkaguilar:
Para corregir tu problema te sugiero que en vez de utilizar un Edit como Edit1 uses un SpinEdit de la paleta samples ( si quieres lo puedes llamar Edit1 y así no necesitas modificar tu código) y le asignes como minvalue 1 y como maxvalue 32, que son tus opciones y que asignes tu código además al evento OnChange del SpinEdit. Para sumar 70 sólo debes incluir +70 en el valor del Edit2, de la siguiente manera:
Ojalá te haya podido ayudar Salu2 |
Hola Olenkaguilar.
Lo que te sugiere radenf es muy buena opción, sobre todo por que te ahorras controlar los valores de un edit. Y para organizár y reducir el código podes hacer:
(*) Todo el código del evento OnCreate lo podes evitar configurando las propiedades en tiempo de diseño con el Object Inspector. Saludos :) |
Hola de nuevo
Muchas a radenf y a ecfisa, lo que me indico randenf está bien, pero yo cometí un error en dar mi code, es por eso que me perdí al ver el code de ecfisa. vuelvo a colocar mi código:
Osea en algunos les estoy agregando 70 y en otros al 70 le estoy restando( por ejemplo en la opción 31 le estoy restando al 70 y en la opción 32 le estoy agregando 70) Ahora le eh puesto 2 radiobuttons. quisiera que al iniciar el programa siempre este seleccionado el radiobutton1 y que ejecute el código de arriba y si cambio al radiobutton2 ejecute este código( es lo mismo si no que cambia a lo que estado agregando 70, al 70 ahora le estan restando y viceversa):
|
Me olvidaba
En un SpinEdit no puedo agregar manualmente los números, me sale error al parecer no puede estar vacío
|
En efecto, en el SpinEdit no puedes agregar números, solo puedes definir los valores mínimo, máximo y actual. Si su valor fuera nulo te volvería a aparecer el error inicial, por eso te sugerí utilizar un SpinEdit y no un Edit.
Respecto a que el RadioButton1 se encuentre activado al iniciar el programa basta con agregar lo siguiente:
Salu2 |
Revisando el código que has puesto veo que estás asignando valores diferentes a dos instancias del mismo proceso TForm1.SpinAndEditChange, cosa que no se puede.
Te sugiero hacer lo siguiente, de acuerdo a lo que tú señalas: - Colocar en tu Form 2 SpinEdit, en la misma posición y asignar los dos códigos diferentes, el que suma y el que resta, a cada uno de los SpinEdit. - Colocar en tu Form 1 RadioGroup con 2 Items y asignarle el siguiente código:
Además para optimizar tu código te sugiero cambiar esto:
por esto y te evitas una conversión:
Espero haber entendido lo que quieres hacer y ojalá te sirva Salu2 |
| La franja horaria es GMT +2. Ahora son las 00:58:04. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi