Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Quitar Formato númerico en TEdit (https://www.clubdelphi.com/foros/showthread.php?t=65249)

GerTorresM 30-11-2009 23:26:24

Quitar Formato númerico en TEdit
 
Hola a Todos:

La situación planteada es la siguiente:

En el desarrollo de un aplicativo empleo Tedit, y en ellos cargo los valores provenientos de la base de datos; ahora bien si deseo editar los datos, al recibir el foco queda como text el valor con su seprador de miles o de decimales.

ej 7.500, 6,5

la pregunta es la siguiente como puede quitar el formato del número, teniendo en cuenta la configuración regional del equipo


gracias de antemano



gertorresm

rgstuamigo 30-11-2009 23:59:37

Personalmente :rolleyes: no entiendo bien lo que deseas hacer?:confused:.
Por favor ,sé mas específico y detallista para que te podamos ayudar.;)
Saludos...:)

Neftali [Germán.Estévez] 01-12-2009 09:56:11

Cita:

Empezado por GerTorresM (Mensaje 347797)
..en ellos cargo los valores provenientos de la base de datos; ahora bien si deseo editar los datos, al recibir el foco queda como text el valor con su seprador de miles o de decimales.

ej 7.500, 6,5

¿Quieres decir que te queda el número con los puntos y las comas?
Si es así (que parece que es segun lo que entiendo) debe ser que en la Base de Datos lo almacenas así.

¿En la Base de datos almacenas el número con formato?
¿De qué tipo es el campo de la Base de Datos?

GerTorresM 01-12-2009 11:30:00

Detalles de la pregunta
 
Hola a todos


Muchas gracías por el tiempo dedicado, voy a ser más claro con relación a mi pregunta.


Estoy utilizando TEdit para que me muestre una información que proviene de una tabla de MS Access; utilizo los edit puesto que la información que deseo mostrar proviene de distintas consultas y varias tablas, en ese orden de ideas cuando se carga la información en la propiedad text de los Tedit pues carga los valores numericos con formato ej, si tengo un valor 7500 el lo carga en el TEdit como 7.500 y si tengo un valor con decimales ej, 6,75 pues lo carga en el texto como 6,75.

Lo anterior es lo adecuado para facilitar la visualización del usuario, ahora bien, cuando se desea editar un valor de los mostrados, se hace necesario que desaparezca el formato es decir que lo que aparece como 7.500 en el Tedit, pues quede como 7500.

Agradezco de antemano el tiempo dedicado




gertorresm

Neftali [Germán.Estévez] 01-12-2009 11:58:58

Para contestarte es IMPORTANTE que des esta información:

Cita:

Empezado por Neftali (Mensaje 347814)
¿En la Base de datos almacenas el número con formato?
¿De qué tipo es el campo de la Base de Datos?

Cita:

Empezado por GerTorresM (Mensaje 347826)
Lo anterior es lo adecuado para facilitar la visualización del usuario,

Eso es adecuado, pero tal vez la forma en que lo estás haciendo (por lo que puedo deducir/imaginar por tu pregunta) no es la correcta. Para saberlo seguro y contestarte correctamente debes dar respuesta a las preguntas anteriores.

pnikkosis 01-12-2009 13:47:34

Yo soy muy principiante en esto, pero por lo que veo tu problema se resume a sacarle el "." a los numeros de mas de mil, la coma no se la tenes que sacar a un decimal o ya vas a generar otro numero. Teniendo eso en cuenta podes hacer algo como lo siguiente dentro de delphi:

Código Delphi [-]
var
numconform : String
numsinform: String
poscaract : Integer

begin
numconform := TEdit1.Text;
poscaract := AnsiPos('.', numconform);
numsinform := numconform;
Delete(numsinform, poscaract, 1);
TEdit1.Text := numsinform;
end;

Te explico linea por linea lo que deberia hacer:
(la asignacion de las 3 variables es bastante obvia, una para el texto con formato, una para el texto sin formato o sea sin el punto, y un integer para guardar la posicion del punto dentro de la cadena de texto)
En la primer linea (despues del begin) le asignas a la variable numconform el texto que haya en tu propiedad text del edit. En la segunda resolves en que posicion de la cadena esta el punto, y se lo asignas a la variable poscaract. En la tercera igualas la variable numsinform con numconform, esto lo necesitas para el proximo paso, ya que el Delete va a borrar de la cadena lo que le asignes como "source", si usas el mismo numconform vas a perder la cadena con formato (y por ahi la querrias guardar, esta a gusto eso). En fin, el Delete borra el punto y la siguiente linea te asigna la cadena sin el formato de vuelta a tu TEdit.

Cuando necesites trabajar con el numero como tal, haces StrToInt(numsinform), que te va a transformar el numero de String a Integer para operaciones matematicas o uso en otros procedures o funciones que requieran un Integer. Acordate que siempre te va a quedar en la variable numconform tu texto formateado viejo por si queres volver a mostrarlo.
Hay una forma mas facil, pero al no tener mas info, se me ocurrio esto.


La franja horaria es GMT +2. Ahora son las 02:20:38.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi