É possível colocar PassWord dentro da coluna de TDBGrid?

Delphi

30/03/2004

Olá, delphianos!
Gostaria de saber se é possível colocar PassWord dentro da coluna de TDBGrid? Quero dizer, tem como mostrar ´********´ da coluna de TDBGrid? Sei que a propriedade PassWord de TDBGrid não existe, mas há solução para isso...? É nisso que me falta...

Valeu pela ajuda.


Rsballoussier

Rsballoussier

Curtidas 0

Respostas

Aroldo Zanela

Aroldo Zanela

30/03/2004

Colega,

Possível é, mas não tem sentido, imagine uma coluna de password só ocupando uma coluna com ´*********´. Acho mais aconselhável deixar a coluna invisível.


GOSTEI 0
Rsballoussier

Rsballoussier

30/03/2004

Valeu!
Mas eu quero assim mesmo mostrar ´*********´ na coluna de TDBGrid.
Tem dica para isso?
Passe para mim!

Abraços.


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

30/03/2004

Colega,

Deixe a coluna de password invisível, crie um campo calculado e no OnCalc fields faça algo como:

MonteAsterisco := ´**********´;



GOSTEI 0
Rsballoussier

Rsballoussier

30/03/2004

Desculpe, colega, mas isso aí do código não está bem claro. Explique melhor, por favor.

Valeu pela força.


GOSTEI 0
Phsm

Phsm

30/03/2004

Se estiver utilizando um TQuery, no FieldsEditor clique com o botão direito do mouse, lá ira conter uma opção New..... ai vc cria o tal do Campo Calculado do Tipo String

No Evento na Query , OnCalcFields coloque o código
Query.FieldByName(´Nome do Campo Calculado´).AsString := ´*******´

Espero ter ajudado !!! :lol:


GOSTEI 0
Rsballoussier

Rsballoussier

30/03/2004

Bem, colega, seu código não é exatamente o que quero.
Vou esclarecer melhor:
Uma tabela tem 3 campos: LOGIN, SENHA e NIVEL.
Coloco um TDBGrid no form e já colocados os campos prontos.
A tabela tem alguns registros e quero que o campo SENHA não mostra os caracteres a mostra, mas transformando em ´***********´.
Em vez de:
LOGIN SENHA NIVEL
admin koero True
carmem amor True
tania capetao False
O resultado seria assim:
LOGIN SENHA NIVEL
admin ***** True
carmem **** True
tania ******* False
Entendeu tudo, estimado colega?
Tem dica pra isso? Daí-me força!!!

Valeu pela ajuda!


GOSTEI 0
Fabio.hc

Fabio.hc

30/03/2004

LOGIN SENHA NIVEL admin ***** True carmem **** True tania ******* False


Tente assim:

Como foi dito, vc cria um campo calculado:
vc omite o campo senha e mostra no dbgrid o campo calculado.

procedure TForm1.Table1CalcFields(DataSet: TDataSet);
begin
   Table1SenhaCalc.Value:=tbReplChar(´*´,length(trim(Table1Senha.Value)));
end;

function tbReplChar(const Ch: Char; const Len: integer): string;
var
  I: integer;
begin
  SetLength(Result, Len);
  for I := 1 to Len do
  Result[I] := Ch;
end;

Uma função para colocar a quantidade de * de acordo com a senha.


GOSTEI 0
POSTAR