Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-08-2011
EgyEgy EgyEgy is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 15
Poder: 0
EgyEgy Va por buen camino
Como quitar Mask a un dbEdit.

Hola, nuevamente con dudas con el Delphi 7.

Uso un dbEdit que me despliega la información de un campo númerico con 2 decimales.

Todo funciona bien cuando edito datos que he recuperado de una tabla, pero al validad la nueva información y asignar el dbedit1.text y convertir la informacion a un campo integer (StrToInt(dbEdit1.Text)), me envía un error de "7,534 is not a valid integer value".

Esta claro que el error es por que no es un valo totalmente numerico, ya que tiene puntos y comas. La pregunta seria ¿como quito esas comas y puntos para que quede solo el campo númerico.
Responder Con Cita
  #2  
Antiguo 09-08-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.462
Poder: 21
newtron Va camino a la fama
Hola.

Según estás comentando lo único que deberías de quitar son las comas correspondientes a los miles porque tu número es un entero y no lleva puntos decimales pero en caso de ser un número decimal no deberías de quitarselos porque cambiarías el número.

Hay una incongruencia en tu post porque primero hablas de que el número lo tienes en un campo con 2 decimales pero sin embargo quieres asignarlo como si fuera un entero.

Para eliminar las comas de los miles puedes usar la función StringReplace, puedes echar un vistazo a este post:

http://www.clubdelphi.com/foros/showthread.php?t=43905

Saludos
__________________
Be water my friend.
Responder Con Cita
  #3  
Antiguo 09-08-2011
EgyEgy EgyEgy is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 15
Poder: 0
EgyEgy Va por buen camino
Tienes razon

NO tiene decimales, es solo un entero, en miles.

Por lo tanto me arroja una coma (,) que es la que genera el error cuando uso la funcion STRTOINT, pero ya viene asi cuando de forma automatica se edita en el campo dbedit.

Yo espera una propiedad o metodo que eliminara de forma automatica esa coma (,) cuando se lee el registro.

Voy a probar tu sugerencia y te informo.

Gracias
Responder Con Cita
  #4  
Antiguo 09-08-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Si estás usando componentes TDBEdit, no es recomendable obtener el valor desde su propiedad Text, por que esta mayormente tiene el formato de visualización aplicado.

Lo más conveniente es que uses directamente el valor del campo:

Código Delphi [-]
VariableDeTipoInteger := DBEdit1.DataSet.FieldByName('CampoInteger').AsInteger;


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #5  
Antiguo 09-08-2011
EgyEgy EgyEgy is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 15
Poder: 0
EgyEgy Va por buen camino
Oki Maeyanes

Muy bien, tambien probaré lo que tu me sugieres.

Aprovechando el mismo tema. Cuando tengo un campo TdbEdit, y agregue un nuevo registro, es decir ejecute el ADD, ¿en que momento lo que yo escribo en el dbedit se pasa el valor al campo correspondiente de la tabla?.

Dicho de otra forma, si desde el momento que yo salgo del campo tdbedit en cuestion y una lineas de código mas adelante yo quisiera recuperar el valor del campo de la tabla directamente ¿se podria?
Responder Con Cita
  #6  
Antiguo 09-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola EgyEgy.

Cita:
si desde el momento que yo salgo del campo tdbedit en cuestion y una lineas de código mas adelante yo quisiera recuperar el valor del campo de la tabla directamente ¿se podria?
Mientras estas ingresando los datos y antes de realizar el post, siempre podés recuperar los valores cancelando la acción sobre el DataSet asociado:
Código Delphi [-]
procedure TForm.btnCancelarClick(Sender: TObject);
begin
  DataSet.Cancel;
end;
Pero no sé si a eso te estás refiriendo...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 09-08-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Los componentes de edición para bases de datos pasan el valor editado al campo en el momento que pierden el foco. Así que lo que preguntas si es posible.


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como quitar el Border de un Formulario nostrajara Gráficos 2 23-10-2007 23:05:48
Como quitar mensaje de Windows? vicvil API de Windows 5 31-07-2007 17:08:55
Como quitar las barras del Explorer??? danytorres HTML, Javascript y otros 24 21-10-2005 11:49:57
Como quitar mensaje en Word Albano Varios 0 11-01-2005 22:12:22
Másk con Ñ scooterjgm OOP 0 29-09-2004 10:22:19


La franja horaria es GMT +2. Ahora son las 19:54:46.


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
Copyright 1996-2007 Club Delphi