FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Suma StrToInt para Edit vacios
Hola a todos!!
Estoy desarrollando un formulario cliente-servidor que se comunica meidante tcp/ip. Hay una parte donde debo sumar el valor de los productos, por eso hice un StrToInt para cada texto dentro de los txt, pero el campo de el valor es fijo. Por ejemplo, solo se pueden ingresar 4 valores de productos y abajo existe otro Edit en cuyo campo va la suma de los anteriores. El problema esta en que cuando solo tengo 2 valores y los sumo, me arroja un error, debido a los otros 2 Edit que no tiene informacion. Un error relacionado con enteros. Solo funciona bien cuando se rellenan los 4 edit. Como puedo solucionar eso?, ademas de agregar 0 cuando no hayan valores, existe alguna forma para que no me arroje error, o como puedo personalizar ese mensaje de error, diciendo que salga algo como "si no existen valores rellene con 0" ??¿¿ Muchas Gracias Saludos .. |
#2
|
||||
|
||||
Hola, pues existen muchas respuestas posibles para tu problema. Ahí van unas cuantas:
- Comprobar si el edit contiene texto alguno, es decir, sino está en blanco.
- Otra, la que tu has comentado, poner a 0 por defecto los edits, o comprobar que si no insertan nada lo deje a 0. Eso lo puedes hacer en el OnExit del Edit. Pones esto:
- La otra que pides, es la de personalizar el mensaje de error. Esa viene incluida en la primera respuesta que te he dado. Como ves, hay múltiples soluciones, tú eliges o combinas y las adaptas a tu programa. Espero te sirva. Saludos |
#3
|
|||
|
|||
Gracias
Gracias por responder.
Olvide comentar que lo estoy desarrollando en Builder. Hice doble clik encima del edit que quiero "arreglar"y puse el sgte codigo if (Edit11->Text = ''); ShowMessag('Debe introducir algun numero'); pero me arrojaba errores en las 2 lineas de codigo, luego modifique a if ("Edit11->Text = ''"); ShowMessag('Debe introducir algun numero'); Finalmente quedo como if (Edit11->Text = '') StrToInt(Edit11->Text); else ShowMessag('Debe introducir algun numero'); Pero me sigue arrojando errores, creo que deben ser errores basicos, pero empeze con builder hace 1 semana Si me puedes ayudar seria fenomenal Gracias.. Saludos.. Última edición por cocke fecha: 27-11-2006 a las 05:27:50. |
#4
|
||||
|
||||
Bueno yo de Builder no tengo ni idea, pero seria conveniente que escribieras los errores que te salen, para poder ver donde falla.
Saludos |
#5
|
||||
|
||||
Otra opción es utilizar la función StrToIntDef, a la que puedes asignar un valor por defecto en caso del Edit vacío (segun la versión que tengas).
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#6
|
||||
|
||||
Cita:
primero, las cadenas en Delphi se escriben entre comillas simples, en C++Builder entre comillas dobles y los caracteres en comillas simples. Ahi ya tenes tus posibles errores. Otro consejo es que te busques un libro basico de C++ donde aprender un poco la sintaxis de lenguaje y otro de C++Builder para el tema de los componentes y entorno (si ya sabes delphi obvia este ultimo)
__________________
[Crandel] |
#7
|
|||
|
|||
Gracias..
Hola a todos..
Despues de leerlos atte, corregi todo lo aconsejado y aun no funcionaba.. Pueden creer que el error estaba dentro del if,habia olvidado la diferencia entre un = y un == Gracias por todo.. Me podrian ayudar a imprimir el formulario?? Saludos!! |
#8
|
|||
|
|||
TPrinter
Hola a todos..
Despues de leerlos atte, corregi todo lo aconsejado y aun no funcionaba.. Pueden creer que el error estaba dentro del if,habia olvidado la diferencia entre un = y un == Gracias por todo.. Estuve leyendo acerca de TPrinter, ya que necesito imprimir el formulario, y encontre lo siguiente TPrinter Prntr = Printer(); TRect r = Rect(200,200,Prntr->PageWidth – 200,Prntr->PageHeight – 200); Prntr->BeginDoc(); Prntr->Canvas->TextRect(r, 200, 200, Memo1->Lines->Text); Prntr->EndDoc(); Pero creo que esta imprimiendo un cuadrado? Se supone que para imprimir le formulario primero debo capturar el mapa de bits del formulario, y nose como hacerlo Me podrian ayudar a imprimir el formulario?? Gracias nuevamente Saludos!! |
#9
|
||||
|
||||
Hola de nuevo, es importante que mantengamos cierto orden en el foro, porque la cantidad de mensajes es enorme, por lo que para tema nuevo, abri un nuevo hilo.
Igualmente te recomiendo que leas La guia de estilo que ayudan bastante al escribir los mensajes y obtener mejor respuesta.
__________________
[Crandel] |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
¿Cómo implantar en mi aplicación StrToInt?!!! | DarkByte | Varios | 6 | 27-08-2006 17:21:14 |
DateTime con vacios | CamiloU | OOP | 4 | 12-01-2006 12:37:34 |
no ingresar vacios o nulos.. | pzala | Varios | 5 | 30-08-2005 21:40:02 |
Validar convercion strtoint | martita | Varios | 10 | 13-07-2005 02:35:43 |
consultar campos vacios | noe | SQL | 1 | 21-03-2005 17:35:42 |
|