Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-12-2008
Avatar de Ana María
Ana María Ana María is offline
Miembro
 
Registrado: ago 2008
Posts: 40
Poder: 0
Ana María Va por buen camino
Hola, podrías crear otro campo en la tabla con el nombre NorTelefono en el cual se guardará una versión normalizada del número telefónico y podrías utilizar la siguiente función:

Código Delphi [-]
function NormalizarNumero(Cad : string) : string;
 var
 I:integer;
 TempCad : string;
  begin
   Result := Cad;
    for i := 1 to Length(Cad) do
     if not (Cad[i]in['0'..'9']) then
       begin
        TempCad := Result;
        while Pos(Cad[i], TempCad) > 0 do
        Delete(TempCad, Pos(Cad[i], TempCad), 1);
        Result:= TempCad;
       end;
  end;



y llamarla en el evento en el evento beforePost de la tabla

Código Delphi [-]
procedure TForm1.Table1BeforePost(DataSet: TDataSet);
begin
 Table1.FieldByName('NormTelefono').Value :=
 NormalizarNumero(Table1.FieldByName('Telefono').AsString);
end;



Y despues puedes consultar el telefono sin normalizar pasando como parámetro el numero normalizado ( permitiendole al usuario que lo escriba como quiera.


Código Delphi [-]
parametro := NormalizarNumero(Edit1.Text)


Saludos
Responder Con Cita
  #2  
Antiguo 06-12-2008
Avatar de Ana María
Ana María Ana María is offline
Miembro
 
Registrado: ago 2008
Posts: 40
Poder: 0
Ana María Va por buen camino
Mas Claro

Hice algo mal y no me funcionaron las etiquetas.
Lo repito. ( Esta técnica te da mas flexibilidad tanto a la hora de guardar como a la hora de consultar los números)

Código Delphi [-]function NormalizarNumero(Cad : string) : string;
var
I:integer;
TempCad : string;
begin
Result := Cad;
for i := 1 to Length(Cad) do
if not (Cad[i]in['0'..'9']) then
begin
TempCad := Result;
while Pos(Cad[i], TempCad) > 0 do
Delete(TempCad, Pos(Cad[i], TempCad), 1);
Result:= TempCad;
end;
end;
//la llamas en el evento BeforePost
procedure TForm1.Table1BeforePost(DataSet: TDataSet);
begin
Table1.FieldByName('NormTelefono').Value :=
NormalizarNumero(Table1.FieldByName('Telefono').AsString);
end;
// Y consultas pasando como parámetro el número normalizado
parametro := NormalizarNumero(Edit1.Text)
Responder Con Cita
  #3  
Antiguo 07-12-2008
pcicom pcicom is offline
Miembro
 
Registrado: may 2003
Ubicación: MONTERREY MEXICO
Posts: 253
Poder: 22
pcicom Va por buen camino
Saludos Anita..

para poner las etquitetas de codigo delphi es
[ DELPHI ] contenido [ /DELPHI ]

Sin espacios despues del corchete y sin espacios al CERRAR
ejemplo:
Código Delphi [-]
Var uno:integer;
begin
    uno := 1;
end;

Cita:
Empezado por Ana María Ver Mensaje
Hola, podrías crear otro campo en la tabla con el nombre NorTelefono en el cual se guardará una versión normalizada del número telefónico y podrías utilizar la siguiente función:

Código Delphi [-]function NormalizarNumero(Cad : string) : string;
var
I:integer;
TempCad : string;
begin
Result := Cad;
for i := 1 to Length(Cad) do
if not (Cad[i]in['0'..'9']) then
begin
TempCad := Result;
while Pos(Cad[i], TempCad) > 0 do
Delete(TempCad, Pos(Cad[i], TempCad), 1);
Result:= TempCad;
end;
end;




y llamarla en el evento en el evento beforePost de la tabla

Código Delphi [-]procedure TForm1.Table1BeforePost(DataSet: TDataSet);
begin
Table1.FieldByName('NormTelefono').Value :=
NormalizarNumero(Table1.FieldByName('Telefono').AsString);
end;




Y despues puedes consultar el telefono sin normalizar pasando como parámetro el numero normalizado ( permitiendole al usuario que lo escriba como quiera.


Código Delphi [-]parametro := NormalizarNumero(Edit1.Text)



Saludos
__________________
Poco ha de saber el que no pregunta.. Yo por eso soy un pregunton
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
Capturar audio desde un micrófono y convertirlo a archivos WAV El_Nasther Varios 3 02-10-2007 20:20:30
Realizar una consulta sobre los registros que devuelve otra consulta Borjaserrano Firebird e Interbase 12 01-10-2007 23:19:44
consulta con un campo fecha tabla paradox estebanx Conexión con bases de datos 5 24-02-2005 08:51:02
Consulta A Tabla A Un Campo No Index rtaverash Tablas planas 1 10-01-2005 07:26:54
Realizar una multiplicacion en una consulta muli SQL 2 19-06-2003 19:44:32


La franja horaria es GMT +2. Ahora son las 18:42: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
Copyright 1996-2007 Club Delphi