Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-10-2004
jam888 jam888 is offline
Miembro
 
Registrado: sep 2004
Posts: 115
Poder: 20
jam888 Va por buen camino
Existe el procedimiento perfecto?

Queridos amigos del foro,les cuento que he probado de todo, he revisado durante tres horas el foro y no encuentro un procedimiento perfecto para que una cajita de texto no permita teclear letras, siempre le falta algo, les cuento como comienza mi procedimiento.

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in (#8,'0'..'9','.') then key:=#0;

end;

1º Esto anda a medias ya que permite cargar mas de un punto y no quiero que se cargue mas de un punto si no da error (en el futuro si encuentro solucion hare un procedimiento para cargar unicamente valores enteros)

2º Permite que el usuario pueda desplazarse con la flecha hacia la izquierda y luego borre algo que no quiero(es por eso que incluyo la tecla bakspace para borrar en la condicion)

3º Permite que se peguen letras desde el portapapeles, algo que tampoco quiero que haga.

Lo ideal seria que el usuario al presionar una tecla diferente de (0.1.2.3.4.5.6.7.8.9 la tecla backspace y el punto) aparesca un mensaje que diga (caracter invalido) lo mismo si carga el punto dos veces.

Espero que alguien tenga la solucion a este problema.
Responder Con Cita
  #2  
Antiguo 08-10-2004
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Porque usas un edit simple? Prueba con el TMaskEdit, o si es para editar una tabla, al hacer el binding a un campo numerico es automatico. Las librerias de JVCL, Orpheous, TMS Software, etc... vienen con editores especiales para numeros y monedas. Si el asunto es por plata, la de JVCL y Orpheous son gratis.

No reinventes la rueda, que esta rueda esta hecha !
__________________
El malabarista.
Responder Con Cita
  #3  
Antiguo 09-10-2004
luisdevis luisdevis is offline
Miembro
 
Registrado: mar 2004
Posts: 32
Poder: 0
luisdevis Va por buen camino
Lo que dice mamcx es cierto.
De todas formas, si tienes algún problema con los Tmakedits puedes hacer lo siguiente.

Utiliza el evento OnChange.
Cada vez que el contenido del TextBox cambie puedes revisarlo y eliminar los caracteres que no te interesen dejando sólo los que quieres.

Cuidado, asigna el valor del textbox a una variable y juega con ella antes de volver a asignarle el valor final bueno al textbox otra vez.
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


La franja horaria es GMT +2. Ahora son las 08:01:28.


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