Ver Mensaje Individual
  #1  
Antiguo 17-07-2008
sancarlos sancarlos is offline
Miembro
 
Registrado: sep 2007
Ubicación: Cartago , Tres Rios , Costa Rica
Posts: 48
Reputación: 0
sancarlos Va por buen camino
Mascara de un dato en un Dbgrid

Tengo un Dbgrid con datos de una tabla , tengo un campo que necesito mascarear, el campo de numero de tarjeta de credito , el campo es de tipo char(18), y necesito que por ejemplo sea asi de 123456789012345678 a 123456########5678 , ahora el problema es que tengo que cargarlo asi en tiempo de ejecucion , ya que no puedo tener cargado el adoquery con los campos en tiempo de dise;o , es con Delphi 2006 y adoquery.

El dbgrid se cargar dinamicamente segun los campos que existan en otra tabla , que contiene los nombre de los campos , de manera que :
Código Delphi [-]
 
adocolumnsin.Close;
adocolumnsin.SQL.Clear;
adocolumnsin.SQL.Add('select * from ts.columnsin where status=1') ;
adocolumnsin.Prepared;
adocolumnsin.Open;
 
 
//fin consulta
params:=''; //Variable global , donde se guardan los nombre de los campos a consultar
cont:=adocolumnsin.RecordCount; ///numero de registros que devuelve la tabla
i:=0;
 ///Ciclo que nos permite pasar los nombre a la variable Global.
  adocolumnsin.First;
  while not (adocolumnsin.Eof)and (i <> cont) do begin
        i:=i+1 ;
        if i=cont  then begin
        params:=params+adocolumnsincolumnname.AsString;
        end else begin
        params:=params+adocolumnsincolumnname.AsString+',';
       end;
       adocolumnsin.Next;
   end;
 
 
aqui el select
 
 
adohistory.Close;
adohistory.SQL.Clear;
adohistory.Sql.Add('select '+params+' from ts.history where convert(varchar(10),datestamp,110) ='+chr(39)+ formatdatemenu +chr(39)+'');
adohistory.Sql.Add('order by datestamp desc') ;
adohistory.Prepared;
adohistory.Open;
Los ves en la Variable params viene los campos a cargar en db grid , si en el caso de que venga el campo numerodetarjeta este debe de venir mascareado como antes mencione.


Muchas Gracias


Todo lo anterior funciona bien,.

Última edición por marcoszorrilla fecha: 17-07-2008 a las 17:16:12.
Responder Con Cita