[C con Clase] Control EDIT

DAMP damp29yw en gmail.com
Dom Ago 26 15:54:15 CEST 2007


Que mas steven, la solucion que me diste no me funciona para decimales
negativos, ni tampoco para decimales que esten en un rango por ejemplo de
0.1 a 0.5, colaborame con esto por favor, ahhh ademas te quiero preguntar
como hago para mostrar en otro campo edit un valor que tengo almacenado en
una variable llamada resultado. de ante mano muchas gracias.

El día 24/08/07, Steven Davidson <steven en conclase.net> escribió:
>
> Hola David,
>
> El pasado 2007-08-24 03:14:44, david mona palacio escribió:
>
> dmp> Cordial saludo amigos.
> dmp> amigos tengo un inconvenite con un algoritmo.
> dmp> ncesito capturar un float desde el control EDIT, hasta donde tengo
> entendido
> dmp> lo que se captura del control EDIT es un char y necesito convertirlo
> en un
> dmp> float, eso lo hago con atoif, y esa variable float la pongo en un if
> para
> dmp> indicar un rango de que ese numeor float sea menor que 0.5 y mayor
> que 0.1 y
> dmp> si es asi me muestre un mensaje, pero que sino esa dentro del rango
> haga
> dmp> otra cosa. mi problema es que cualquier numero que ingreso
> supuestamente
> dmp> esta dentro de ese rango, por ejemplo ingreso 10 y me acepta que esta
> dentro
> dmp> de ese rango y eso no deberia ser.
> dmp> el codigo q tengo es el siguiente:
> dmp> char entrada[100];
> dmp> float numero;
> dmp> GetWindowText(GetDlgItem(hDlg, ID_NUMERO), entrada, 10);
> dmp> numero= atof(entrada);
> dmp> if((numero<0,5)&&(numero>0,1))
>
> Esto no es correcto. En C/C++, los literales de coma flotante usan un
> "punto decimal". Por lo tanto, la expresión anterior debería ser:
>
> 0.1 < numero&&numero < 0.5
>
> dmp> {
> dmp> MessageBox(hDlg,TEXT("funciona"),TEXT("sistemas expertos"),MB_OK );
> dmp> }
> dmp> else
> dmp> {
> dmp> PostQuitMessage(0);
> dmp> }
> dmp> ojala que me puedan colaborar porque soy muy nuevo en este ambiente y
> dmp> realmente no entiendo que pasa.
>
> El código está bien, pero me temo que no nos dices dónde está escrito.
> Esto es, depende de qué parte del procesamiento de mensajes has colocado
> este código. Recuerda que un control es una ventana, al fin y al cabo, y
> además su comportamiento es independiente de otras ventanas. Esto implica
> que el usuario puede manipular el control como le parezca y en cualquier
> momento.
>
> Dicho esto, tendrás que colocar el código posiblemente como respuesta al
> mensaje de notificación 'EN_UPDATE' (antes de mostrar el texto). Este
> mensaje es enviado a la ventana pariente a través del mensaje 'WM_COMMAND'.
> Ten presente que el texto del control de edición ya ha sido modificado, pero
> aún no se ha mostrado por pantalla.
>
> Otro método es creando una subclase del control de edición para imponer tu
> propio procedimiento de ventana que obviamente contiene tu implementación
> del comportamiento que quieres. En tu caso, quieres procesar el mensaje
> WM_CHAR para aceptar o rechazar los caracteres introducidos por el usuario.
> Esto es algo avanzado, por lo que no sé si quieres meterte en esto.
>
>
> Espero que esto aclare las dudas.
>
> Steven
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>



-- 
D.A.M.P
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20070826/aae0a8bc/attachment.html>


Más información sobre la lista de distribución Cconclase