Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > .NET
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-08-2006
YaninaGenia YaninaGenia is offline
Miembro
 
Registrado: jun 2005
Ubicación: Buenos Aires
Posts: 95
Poder: 19
YaninaGenia Va por buen camino
ValidationExpression que acepte numeros y guiones

Buenassss
Tengo un box que carga numeros telefonicos. El usuario carga sin formato, es decir, puede o no ingresar codigo de pais, codigo de provincia, etc. Lo que yo quiero es permitir que SOLO ingrese numeros o guiones. Yo arme algo asi:
Código:
ValidationExpression="-?\d*"
Y deja o no poner el guion, que esta bien, pero solo lo permite adelante. Lo que necesito es que el usuario ponga el guion donde quiera, es decir, no tiene que seguir ningun formato, numeros y guiones infinitos.

Yanina Genia
Responder Con Cita
  #2  
Antiguo 08-08-2006
YaninaGenia YaninaGenia is offline
Miembro
 
Registrado: jun 2005
Ubicación: Buenos Aires
Posts: 95
Poder: 19
YaninaGenia Va por buen camino
Respuesta

Ya encontre como hacerlo, es
Código:
ValidationExpression="([0-9]|-)*"
Responder Con Cita
  #3  
Antiguo 02-09-2007
ManiacPC ManiacPC is offline
Miembro
 
Registrado: jul 2007
Ubicación: Chile
Posts: 14
Poder: 0
ManiacPC Va por buen camino
Validacion

Este codigo es de saiyine,
en la cadena CAD eliges lo que pondrás, (en el ejemplo es para un edit hexadecimal)
Me parece bastante util en tiempo real, pones el procedimiento en OnChange y evitas los pillos pegados y validaciones posteriores.


Código Delphi [-]
procedure TForm1.FiltroEdit(Sender: TObject);
var
i : integer;
aux,aux2,cad : string;
begin
        cad:='0123456789abcdefABCDEF';   // Solo se admiten estos caracteres
        aux2:='';
        with (Sender as TEdit) do
        begin
                aux:=text;
                for i:=1 to length(aux) do
                if pos(aux[i],cad)>0 then aux2:=aux2+aux[i];
                text:=aux2;
                SelStart:=length(aux2);
        end;
end;

Saludos
Responder Con Cita
  #4  
Antiguo 03-09-2007
Avatar de __hector
[__hector] __hector is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.075
Poder: 22
__hector Va por buen camino
El codigo lo veo bien. Pero habria que programar cada validacion a mano (en el sentido de asociar el metodo que maneja el evento de cada textbox al codigo), cosa que nos evitamos al utilizar expresiones regulares.

Vamos, que es preferible, antes de reinventar la rueda y escribir rutinas para verificar las entradas de usuario, utilizar expresiones regulares, que son mucho mas poderosas y flexibles, y hace un tiempo ya que existen.
__________________
Héctor Geraldino
Software Engineer
Responder Con Cita
  #5  
Antiguo 27-09-2007
ManiacPC ManiacPC is offline
Miembro
 
Registrado: jul 2007
Ubicación: Chile
Posts: 14
Poder: 0
ManiacPC Va por buen camino
Expresiones Regulares

Vaya, si que tienes razón,
Que arcaíco el pensar de mi parte que hay que realizar código para todo.

No conocía las expresiones regulares en delphi ^^
http://www.latiumsoftware.com/es/articles/00009.php
Ese boletín también será de ayuda.

Saludos
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 restringir un edit para que acepte solo letras Bairon Kumon Varios 3 10-04-2006 20:16:22
Numeros complejos trabuc Varios 2 19-01-2005 14:31:16
TEdit que acepte solo integer Dave B. Varios 2 09-09-2004 01:14:48
Variable que acepte los separadores de miles ciscu Varios 3 08-04-2004 11:36:55
numeros aleatorios emeritos Varios 1 24-11-2003 14:09:43


La franja horaria es GMT +2. Ahora son las 16:59:52.


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