Ver Mensaje Individual
  #5  
Antiguo 29-10-2024
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 599
Reputación: 1
bmfranky Va por buen camino
Cita:
Empezado por navbuoy Ver Mensaje
a que te refieres con cifrar los datos sensibles??? si solo se trata de ocultarlos de ojos indiscretos puedes poner un boton que de paso a introducir una contraseña para visualizar esos campos "sensibles" y ocultarlos asi:

Ve al campo que deseas ocultar en el DBGrid.
Implementa el evento OnGetText del campo correspondiente en el DataSet.
En el evento OnGetText, puedes reemplazar el contenido del campo por asteriscos cuando se muestre en el DBGrid, pero manteniendo el valor original en la base de datos.

Delphi:
Código:
procedure TForm1.MyFieldGetText(Sender: TField; var Text: string; DisplayText: Boolean);
begin
  // Comprobar si el campo se está mostrando en el DBGrid
  if DisplayText then
  begin
    // Reemplazar el valor original con asteriscos
    Text := StringOfChar('*', Sender.AsString.Length);
  end;
end;
C++ Builder:
Código:
void __fastcall TForm1::MyFieldGetText(TField *Sender, UnicodeString &Text, bool DisplayText)
{
    // Comprobar si el campo se está mostrando en el DBGrid
    if (DisplayText)
    {
        // Reemplazar el valor original con asteriscos
        Text = StringOfChar('*', Sender->AsString.Length());
    }
}
y activarlo o desactivarlo con un IF comprobando la contraseña, yo algo asi hice hace tiempo para un programa mio
Hola, gracias por su respuesta, a lo que me referia era a encriptar los datos sensibles en la base de datos, tal y como exige la nueva normativa de los sistemas de facturacion, de nuevo mil gracias por su respuesta.
__________________
Uno se alegra de ser útil. (Isaac Asimov)
Responder Con Cita