 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
MAC Lt

Registrado: 11 Ago 2002Mensajes: 77
|
Publicado: Jue 15 Ago, 2002 7:12 am Asunto: Ayuda con sentencia if |
|
|
if(Edit97->Text > 1.25)
Application->MessageBox("No puede asignar este descuento.", "Descuento Invalido!", MB_OK);
Edit97->Text = "0.00";
else
Edit14->Text = (Edit14->Text.ToDouble()) / (Edit97->Text.ToDouble());
Button14->SetFocus();
Saludos cuando utilizo el codigo anterior al compilar me da el siguiente error:
[C++ Error] Productos.cpp(1732): E2054 Misplaced else
Como puedo solucionar el problema, si le quito el MessageBox funciona perfectamente pero al ponerlo me da el erro y necesito que muestre ese mensaje espero me puedan ayudar gracias. |
|
| Volver arriba |
|
 |
Enrique Master


Registrado: 13 Ago 2002Mensajes: 261Ubicación: La Vila Joiosa (Alacant)
|
Publicado: Jue 15 Ago, 2002 10:54 am Asunto: |
|
|
Hola, se te olvidan las llaves, las líneas 3 y 6 del código que usas se ejecutarían siempre (si funcionara), independientemente del resultado del if
| Código: |
if(Edit97->Text > 1.25)
{
Application->MessageBox("No puede asignar este descuento.", "Descuento Invalido!", MB_OK);
Edit97->Text = "0.00";
}
else
{
Edit14->Text = (Edit14->Text.ToDouble()) / (Edit97->Text.ToDouble());
Button14->SetFocus();
}
|
Además, el resultado del if no sé cuál será, desde luego no estás comparando números sino un AnsiString con un número. Supongo que querías usar
| Código: |
if(Edit97->Text.ToDouble() > 1.25)
{
Application->MessageBox("No puede asignar este descuento.", "Descuento Invalido!", MB_OK);
Edit97->Text = "0.00";
}
else
{
Edit14->Text = AnsiString(Edit14->Text.ToDouble() / Edit97->Text.ToDouble());
Button14->SetFocus();
}
|
Te recomiendo también que todo esto lo hagas dentro de un try, pues es muy posible que el usuario no introduzca un número (o use la coma del teclado numérico) y se termine la ejecución de tu programa al no poder convertirlo a un double.
Yo, para editar números (y prescindir del try), utilizo un editor numérico que solventa esos problemas. No es más que un Edit con un par de propiedades más (Alineación y EsEntero), que sólo permite la introducción de números y una sola coma si !EsEntero (admite "," "."). Si quieres te lo mando. Saludos. |
|
| Volver arriba |
|
 |
MAC Lt

Registrado: 11 Ago 2002Mensajes: 77
|
Publicado: Jue 15 Ago, 2002 4:47 pm Asunto: |
|
|
Muchas gracias me a funcionado perfectamente te agradeceria mucho si me puedes mandar el editor numerico ya que si tengo esos problemas con los Edits.
muchas gracias  |
|
| Volver arriba |
|
 |
Enrique Master


Registrado: 13 Ago 2002Mensajes: 261Ubicación: La Vila Joiosa (Alacant)
|
Publicado: Dom 18 Ago, 2002 5:17 pm Asunto: Componente NumEdit |
|
|
| Hola, supongo que recibiste el componente, llevo una semana sin poder leer el correo entrante por lo que no sé si me has respondido. Estos días lo he estado usando en un programa y me he dado cuenta de un fallo que tiene el componente: NO PERMITE EDITAR NÚMEROS NEGATIVOS. Lo he intentado solucionar sin éxito, por lo que asumo que sólo se debe usar si el número a editar es forzosamente positivo. Si consigo algo nuevo ya te informaré. Saludos |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|