[C con Clase] Control EDIT

DAMP damp29yw en gmail.com
Sab Ago 25 05:04:11 CEST 2007


Steven te envio el codigo para ver si me puedes colaborar.
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/20070824/ef9d189e/attachment.html>
------------ próxima parte ------------
An embedded and charset-unspecified text was scrubbed...
Name: win004.c
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20070824/ef9d189e/attachment.c>
------------ próxima parte ------------
An embedded and charset-unspecified text was scrubbed...
Name: ids.h
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20070824/ef9d189e/attachment.h>
------------ próxima parte ------------
An embedded and charset-unspecified text was scrubbed...
Name: win004.rc
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20070824/ef9d189e/attachment.ksh>


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