Edit Create Sadece Sayı Girilsin

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Edit Create Sadece Sayı Girilsin

Mesaj gönderen brs »

Oluşturmuş olduğum edit içine sadece sayı girilmesini nasıl sağlayabilirim???

Eklemim ama işe yaramadı.

Kod: Tümünü seç

if Not(Key in ['0' .. '9', #8]) then
begin
 Key := #0;
 end;

Kod: Tümünü seç

procedure TForm1.MultipleKopyaClick(Sender: TObject);
var
  AMsgDialog: TForm;
  AEdit: TEdit;
  Key: Char;
begin
  try
    with ListView1 do
    begin
      if Items.Count > 0 then
      begin
        AMsgDialog := CreateMessageDialog('XXXXXXXX!',   mtCustom, [mbYes]);
        TButton(AMsgDialog.FindComponent('Yes')).Caption := 'Kaydet';
        TButton(AMsgDialog.FindComponent('Yes')).Height := 25;
        TButton(AMsgDialog.FindComponent('Yes')).Width := 65;
        TButton(AMsgDialog.FindComponent('Yes')).Top := 43;
        TButton(AMsgDialog.FindComponent('Yes')).Left := 84;
        TButton(AMsgDialog.FindComponent('Yes')).Cursor := crHandPoint;
        AEdit := TEdit.Create(AMsgDialog);
        with AMsgDialog do
        begin
          Caption := 'XXXXXXXXXXXXXXXX';
          Height := 125;
          Width := 168;
          With AEdit do
          begin
            Parent := AMsgDialog;
            AutoSize := False;
            MaxLength := 2;
            Font.Size := 10;
            Top := 45;
            Left := 12;
            Height := 23;
            Width := 60;
            if Not(Key in ['0' .. '9', #8]) then
            begin
              Key := #0;
            end;
            if ShowModal = ID_YES then
            begin

            end;
          end;
        end;
      end;
    end;
  except
  end;
end;
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Edit Create Sadece Sayı Girilsin

Mesaj gönderen SimaWB »

Önce Edit.OnKeyPress için bir procedure hazırlamalısınız:

Kod: Tümünü seç

procedure TForm1.EditlerIcinOnKeyPress(Sender: TObject; var Key: Char);
begin
  if not (Key in [#8, '0'..'9']) then 
    Key := #0;
end;
Sonra bunu oluşturduğunuz Edit'in OnKeyPress'ine atamalısınız:

Kod: Tümünü seç

AEdit := TEdit.Create(AMsgDialog);
AEdit.OnKeyPress := EditlerIcinOnKeyPress;
There's no place like 127.0.0.1
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: Edit Create Sadece Sayı Girilsin

Mesaj gönderen thelvaci »

Delphi'nin yeni sürümlerinden birisini kullanıyorsanız eğer; NumbersOnly property'si işinize yarayacaktır. Aksi durumda ES_NUMBER stilini araştırmanızı öneririm.
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: Edit Create Sadece Sayı Girilsin

Mesaj gönderen brs »

Çok teşekkürler hocam...
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Cevapla