Başlangıç > Kodlar > Delphi’de DDGrid ile parasal alanlara giriş esnasında basamaklı girmek

Delphi’de DDGrid ile parasal alanlara giriş esnasında basamaklı girmek

DBGrid in colonlarında parasal giriş yaparken virgüllü giriş yapabileceksiniz!!!

Merhaba;

DBGrid 0.nci Columns’unda rakam girerken basamaklı girişe izin verir. Alan tipini String olarak tanımlamayı unutmayın. Tabii uğraşırsanız Float tipi veya Currency tipi ile de tanımlayabilirsiniz. Lafı uzatmadan kodu yazıyorum.

İlk Önce Fonksiyonumuz.

function Isle(str: string): Real;
var
x: Integer;
begin
for x := length(str) downto 1 do
if str[x] in ['.',','] then
delete(str, x, 1);
if trim(str) <> " then
result := StrToFloat(str)
else
result := 0;
end;

Açılırken DBGrid'de konumlandırma.

procedure TForm1.FormShow(Sender: TObject);
begin
DBGrid1.Columns[0].field.FocusControl;
end;

Ve Olayımız

procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if DBGrid1.SelectedIndex = 0 Then
Begin
Case Key of
'0'..'9':
begin
TInplaceEdit(DBGrid1.Controls[0]).Text := FormatFloat('#,###', Isle(TInplaceEdit(DBGrid1.Controls[0]).Text + Key));
TInplaceEdit(DBGrid1.Controls[0]).SelStart := length(TInplaceEdit(DBGrid1.Controls[0]).Text);
Key := chr(0);
end;
chr(VK_BACK):
begin
if trim(TInplaceEdit(DBGrid1.Controls[0]).Text) <> " then begin
TInplaceEdit(DBGrid1.Controls[0]).Text := FormatCurr('###,###,###', Isle(copy(TInplaceEdit(DBGrid1.Controls[0]).Text, 1, length(TInplaceEdit(DBGrid1.Controls[0]).Text) - 1)));
TInplaceEdit(DBGrid1.Controls[0]).SelStart := length(TInplaceEdit(DBGrid1.Controls[0]).Text);
Key := chr(0);
end;
end;
chr(VK_RETURN):
Begin
if TInplaceEdit(DBGrid1.Controls[0]).Text <> " Then
Begin
AdoDataSet1.Edit;
DBGrid1.Fields[0].Text := TInplaceEdit(DBGrid1.Controls[0]).Text;
AdoDataSet1.Post;
End;
End
Else
Key := chr(0);
end;
End;
end;

Görüşlerinizi ve Eleştirilerinizi yazmayı unutmayın lütfen.

Mail Adresim : huseyin@durmus.net

Hüseyin ÖZDEMİR.


TD Software


Reklamlar
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: