Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > OOP
Register FAQ Members List Calendar Guía de estilo Search Today's Posts Mark Forums Read

Coloboración Paypal con ClubDelphi

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 17/07/2008
sancarlos sancarlos is offline
Miembro
 
Join Date: Sep 2007
Location: Cartago , Tres Rios , Costa Rica
Posts: 48
Poder: 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,.

Last edited by marcoszorrilla : 17/07/2008 at 17:16.
Reply With Quote
  #2  
Old 17/07/2008
BlueSteel's Avatar
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Join Date: May 2003
Location: Concepción - Chile
Posts: 2,310
Poder: 26
BlueSteel Va por buen camino
Wink

Hola sancarlos

mira, lo que yo reaizaría es trabajar sobre la columna del DBGrid, y realizar una cambio de formato de la sgte forma

usas el evento OnDrawColumnCell

y pones un codigo como este...(suponiendo que el dato esta en la columna 3


Código Delphi [-]
if (Column.Index = 3) then begin
      Str := Column.Field.AsString; // pasas el contenido de la columna a la variable
      Str := Concat(Copy(Column.Field.AsString,1,6)+'########'+Copy(Column.Field.AsString,15,4))
      DbGrid2.Canvas.FillRect(Rect);
      DbGrid2.Canvas.TextOut(Rect.Left, Rect.Top, Str);
    end;

No lo he probado, es lo que se me ocurre hacer, intentalo y si tiene algun error, muestralo

Salu2
__________________
BlueSteel
Reply With Quote
  #3  
Old 21/07/2008
Cannabis's Avatar
Cannabis Cannabis is offline
Miembro
 
Join Date: Jun 2007
Posts: 170
Poder: 20
Cannabis Va por buen camino
Código Delphi [-]
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;
(adohistory.FieldByName('NombreDelCampo') AS TStringField).DisplayFormat:= '123456########5678';

Tal vez eso te ayude.

En Firebird debe realizarse cada vez que se abre el query, no sé cómo sea en ADO.


Salud.
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Capturar un dato de un dbgrid SaLvaGe Conexión con bases de datos 5 15/09/2005 19:26
Mascara en DBGRID jorge_mosquera OOP 3 27/04/2005 21:44
extraer un dato de un dbgrid detybel Conexión con bases de datos 4 26/03/2005 06:01
COlocar una Mascara en una columna de un dbgrid lionsoft Impresión 1 30/11/2004 14:57
COlocar una Mascara en una columna de un dbgrid RONPABLO Varios 2 27/11/2004 01:32


All times are GMT +2. The time now is 21:10.


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