Çok Yakında Yeni Bir Arayüzle karşınızdayız! http://yeni.delphican.com/

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
123****89 şeklinde maskeleme
#1
Böyle bir edit objesi arıyorum.
123456789 şeklinde girilen bilgiyi 123****89 şeklinde gösteren. 

Daha sonraki aşama da da edit üzerinde çift tıklanınca açık olarak göstereceğim. 

Devex tarafında aşağıdaki gibi şey önermişler ama bu da çok kullanışlı değil. Dolaylı bir yöntem. 

Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Cevapla
#2
Bunun için ekstra bir edit bileşeni kullanmanıza gerek yok. Delphi'nin StuffString metodu işinizi görecektir. Örnek kullanım olarak şöyle gösterebilirim :

eski := '123456789';
yeni := StuffString(eski, 2, 4, '*****');

Sonuç 1*****789 şeklinde olacaktır. Sanırım istediğiniz böyle bir şey.
Dmitry Kouzmenko ve Dmitry Yemanov ile çalışmış , Eski IBSurgeon personeli, Kıdemli Firebird Kurtarma Uzmanı, Firebird Foundation bağışçısı...
Cevapla
#3
(16-05-2019, Saat: 17:49)rmzgenius Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Bunun için ekstra bir edit bileşeni kullanmanıza gerek yok. Delphi'nin StuffString metodu işinizi görecektir. Örnek kullanım olarak şöyle gösterebilirim :

eski := '123456789';
yeni := StuffString(eski, 2, 4, '*****');

Sonuç 1*****789 şeklinde olacaktır. Sanırım istediğiniz böyle bir şey.

Bunca yıldır StuffString'i hiç duymamıştım  Sad 
Teşekkürler...
There's no place like 127.0.0.1
WWW
Cevapla
#4
Peki bunu dbedit gibi bir obje üzerinde nasıl yapabiliriz? 
Veritabanından datayı aldım, her defasında araya girip maskeleme yerine daha pratik bir yöntem arıyorum aslında.
Cevapla
#5
Merhaba, 
TEdit nesnesinden türetilen basit bir EditBox nesnesi.

unit KodAmelesi;

interface

uses
 System.SysUtils, System.Classes, Vcl.Controls, Vcl.StdCtrls, Vcl.ExtCtrls;


type
 TKAEdit = class(TEdit)
 strict private
   FVeri: string;
 published
  property Veri : string read FVeri write FVeri;
 protected
  procedure DblClick(Sender : TObject);
  procedure Exit(Sender : TObject);
 public
  constructor Create(AOwner : TComponent); override;
 end;

procedure Register;

implementation

uses
 System.StrUtils;

procedure Register;
begin
RegisterComponents('Kod Amelesi', [TKAEdit]);
end;


{ TKAEdit }

constructor TKAEdit.Create(AOwner: TComponent);
begin
 inherited Create(AOwner);
 OnDblClick := DblClick;
 OnExit     := Exit;
end;

procedure TKAEdit.DblClick(Sender: TObject);
begin
Self.Text := FVeri;
end;

procedure TKAEdit.Exit(Sender: TObject);
var tmpStr : string;
begin
FVeri := Self.Text;
tmpStr := Self.Text;
{
 Açıklama : StuffString fonksiyonu rmzgenius tarafından verilen cevaptan alınmıştır.
 Bağlantı : http://www.delphican.com/showthread.php?...2#pid28932
 Tarih    : 20190517
}
Self.Text := StuffString(tmpStr, 2, 4, '*****');
end;

end.
Cevapla
#6
(17-05-2019, Saat: 10:19)Pervane Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Peki bunu dbedit gibi bir obje üzerinde nasıl yapabiliriz? 
Veritabanından datayı aldım, her defasında araya girip maskeleme yerine daha pratik bir yöntem arıyorum aslında.

Databaseden veriyi aldığınız Query nesnesindeki Field Editorde hangi alandaki veriyi maskeleyecekseniz onu seçerek, seçtiğiniz fieldin
OnGetText eventini kullanabilirsiniz. Bu şekilde veritabanından çekilen veriyi gösterim (grid, dbedit vs) sırasında farklı şekilde gösterebilirsiniz.

procedure TfrmEkstre.SPEkstreAdGetText(Sender: TField; var Text: string;
 DisplayText: Boolean);
begin
  text := 'ne görünmesini istiyorsak';
end;
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Daire Şeklinde Progressbar yhackup 11 1.094 10-04-2019, Saat: 15:54
Son Yorum: Tuğrul HELVACI
  klasörde bulunan dosyaları slide şeklinde oynatma Bay_Y 4 1.047 23-03-2018, Saat: 09:51
Son Yorum: Bay_Y
  Grid'den kayıt eklemek istediğimde autoincrement olan alanın boş şeklinde hata vermes burakb44 1 847 30-10-2017, Saat: 22:26
Son Yorum: burakb44



Konuyu Okuyanlar: 1 Ziyaretçi