Programación General > C++ Builder

 un edit de floats?

<< < (2/2)

TRod:
Interesante tu proyecto, lastima que yo solo se de espectrometros lo que mi perro sabe de mandarin... Gracias por el credito, yo solo te di un ligero bosquejo para que tu hicieras el trabajo sucio. Pero me gustaria aclarar unos puntos:

--- Cita de: "leotardo de bici" ---tuve un problemilla gordo con el punto y la coma, el Edit me presenta la variable con coma, pero el mismo edit quiere un punto al input, se trabuca a si mismo, una solucion chapucera fue cambiar la configuracion regional y decirle punto para decimales.
leotardo --
--- Fin de la cita ---
Builder maneja una variable: DecimalSeparator, el cual indica qué esta usando el SO (el punto o el coma decimal).


--- Cita de: "leotardo de bici" ---Edit1 ->Text=AnsiString().sprintf("%1.3e", variable1); //para exponencial, o "%2.3f" para decimal clasico

--- Fin de la cita ---
No es necesario hacer tanto uso de AnsiString, el sprintf de stdio.h funciona tambien. El tipo AnsiString solo es una de las extenciones que se le hizo a Builder C++ para poderlo adaptar a las librerias VCL que estan desarrolladas en ObjectPascal/Delphi.


--- Cita de: "leotardo de bici" ---f(Key>='0'&&Key<='9'){return;} //"Ojo aqui con VK_BACK" ? consejo de Trod

--- Fin de la cita ---
Con VK_BACK me referia a la tecla de Retroceso. Checa en el indice de la Ayuda el tema: "Virtual key codes"

--- Cita de: "leotardo de bici" ---aun con estas el usuario puede meter la pata si escribe Es o signos sin ton ni son.

--- Fin de la cita ---
Aqui es donde entra nuestra "poesia" como programadores. Te aconsejo que uses excepsiones, son muy utiles para  ayudar a usuarios expertos en hacer explotar los errores de tus programas. Por ejemplo:

--- Código: Text --- if(Key==VK_RETURN){ //Usuario ordena: tragate el dato! try{  X = StrToFloat( Edit1->Text ); //Conversion cadena/float } catch(...){  X = 3.1416;  //Debes reparar los destrosos de algun modo.  Edit1->Text = "jaja... que mas quieres?"; //No es necesario sarcasmos pateticos }}  Bueno, por el momento es todo. Saludos. :hola:

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa