Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-05-2017
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 22
movorack Va camino a la famamovorack Va camino a la fama
y entrega el valor correcto a la función que te lanza el error
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #2  
Antiguo 09-05-2017
Avatar de Soa Pelaez
Soa Pelaez Soa Pelaez is offline
Miembro
 
Registrado: nov 2015
Posts: 133
Poder: 11
Soa Pelaez Va por buen camino
Cita:
Empezado por movorack Ver Mensaje
y entrega el valor correcto a la función que te lanza el error
No entiendo como sería.
Responder Con Cita
  #3  
Antiguo 09-05-2017
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 22
movorack Va camino a la famamovorack Va camino a la fama
Cita:
Empezado por Soa Pelaez Ver Mensaje
No entiendo como sería.
¿Leíste lo del enlace?

El error es generado en la función Copy. Ya que la función requiere un texto con el que trabajar

Al hacer el cast

Código Delphi [-]
(Sender as TrDBEdit)

A la función le estás pasando es un objeto no el texto del objeto lo que obtendrías con

Código Delphi [-]
(Sender as TrDBEdit).text

Recomendación:

Ya que al parecer estás usando un control de base de datos, podrías validar el valor almacenado en el campo en lugar al del control.

Código Delphi [-]
QueryFieldavalidar.AsString
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #4  
Antiguo 09-05-2017
Avatar de Soa Pelaez
Soa Pelaez Soa Pelaez is offline
Miembro
 
Registrado: nov 2015
Posts: 133
Poder: 11
Soa Pelaez Va por buen camino
Cita:
Empezado por movorack Ver Mensaje
¿Leíste lo del enlace?

El error es generado en la función Copy. Ya que la función requiere un texto con el que trabajar

Al hacer el cast

Código Delphi [-]
(Sender as TrDBEdit)

A la función le estás pasando es un objeto no el texto del objeto lo que obtendrías con

Código Delphi [-]
(Sender as TrDBEdit).text

Recomendación:

Ya que al parecer estás usando un control de base de datos, podrías validar el valor almacenado en el campo en lugar al del control.

Código Delphi [-]
QueryFieldavalidar.AsString
Si esa parte la entendí pero mi problema no es como tal el pasarle el objeto sea de un campo de base de datos o de un edit. El problema es que al invocar el procedimiento desde el evento keypress de un Edit al ingresar un punto no lo muestra y no realiza correctamente la validación del procedimiento que es modificar ese punto cambiarlo por una coma y visualizarlo en el edit con sus respectivos decimales.

Es que lo que tengo en el procedure funciona correctamente si es invocado directamente desde el keypress del edit, me explico sin invocar un procedimiento externo sino aplicar todo el código ahi, pero como lo necesito para varios edits por eso decidí volverlo un procedure pero al hacer esto como te comento no me realiza correctamente la validación.

Última edición por Soa Pelaez fecha: 09-05-2017 a las 19:57:18.
Responder Con Cita
  #5  
Antiguo 09-05-2017
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Soa Pelaez Ver Mensaje
El problema es que al invocar el procedimiento desde el evento keypress de un Edit
Pon el código con el que invocas al procedimiento.

LineComment Saludos
Responder Con Cita
  #6  
Antiguo 09-05-2017
Avatar de Soa Pelaez
Soa Pelaez Soa Pelaez is offline
Miembro
 
Registrado: nov 2015
Posts: 133
Poder: 11
Soa Pelaez Va por buen camino
Cita:
Empezado por roman Ver Mensaje
Pon el código con el que invocas al procedimiento.

LineComment Saludos
De esta manera lo invoco en el keypress.

Código Delphi [-]
procedure TFormulario.DBPorcentajeKeyPress(Sender: TObject; var Key: Char);
begin
  ValidarPorcentajeKeyPressEdit(Key,DBPorcentaje,Sender);
end;
Responder Con Cita
  #7  
Antiguo 09-05-2017
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Y ¿por qué manejas dos componentes TrDBEdit e el mismo procedimiento? ¿Cuál es la relación entre Edit y Sender?

Es que, de verdad, no se entiende lo que quieres hacer. Hablas de validar la entrada en un Edit pero en el procedimiento con el que quieres hacer la validación se involucra otro Edit.

Trata de ser más explícito y detallado.

LineComment Saludos
Responder Con Cita
  #8  
Antiguo 09-05-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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.
Cita:
Empezado por Soa Pelaez Ver Mensaje
...
Es que lo que tengo en el procedure funciona correctamente si es invocado directamente desde el keypress del edit, me explico sin invocar un procedimiento externo sino aplicar todo el código ahi, pero como lo necesito para varios edits por eso decidí volverlo un procedure pero al hacer esto como te comento no me realiza correctamente la validación.
¿ Y por que no asignas ese código (que funciona correctamente) al evento OnKeyPress de todos los componentes TrDBEdit en que lo necesites ?

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #9  
Antiguo 09-05-2017
Avatar de Soa Pelaez
Soa Pelaez Soa Pelaez is offline
Miembro
 
Registrado: nov 2015
Posts: 133
Poder: 11
Soa Pelaez Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola.

¿ Y por que no asignas ese código (que funciona correctamente) al evento OnKeyPress de todos los componentes TrDBEdit en que lo necesites ?

Saludos
Porque de la manera en procedure lo puedo llamar de muchas partes (distintos formularios), sin realizar uses de unidades.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Uso del keypress en un edit snake25237 OOP 1 23-02-2011 15:30:43
evento keypress ronson Varios 40 04-01-2011 04:18:23
validar decimales con "coma" lucasarts_18 PHP 3 26-12-2008 01:41:50
teclas F# en keypress sargento elias OOP 3 08-10-2008 08:23:43
Llamar a evento Keypress edgusano .NET 1 30-11-2005 22:02:29


La franja horaria es GMT +2. Ahora son las 22:34:42.


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