Edit otomatik ekleme ve cursor

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
dogan
Üye
Mesajlar: 173
Kayıt: 17 Eki 2014 10:11

Edit otomatik ekleme ve cursor

Mesaj gönderen dogan »

Merhaba,

Edit içine sadece sayı girişine izin veriyorum;
Kullanıcı örnek: 22 yazdığında otomatik olarak 22'nin yanına : işareti gelecek buraya kadar kısmen sorun yok, fakat : koyduktan sonra cursor sürekli olarak editin en başına geliyor corsor en sonda tutmayı nasıl yapabilirim?

Kod: Tümünü seç

procedure TForm2.Edit1KeyPress(Sender: TObject;
  var Key: Char);
begin
    if Length(Edit1.Text) = 2 then
    begin
 Edit1.Text := Copy(Edit1.Text, 1, 2) + ':';
    end;
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Re: Edit otomatik ekleme ve cursor

Mesaj gönderen adelphiforumz »

maskedit kullan mask alanınada
00: yada 99: kullanabilirsin
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
ertank
Kıdemli Üye
Mesajlar: 1711
Kayıt: 12 Eyl 2015 12:45

Re: Edit otomatik ekleme ve cursor

Mesaj gönderen ertank »

Merhaba,

Kod yazarken hangi kodun hangi blok içinde çalıştığını anlamak adına döngü/begin..end arasındaki kodlar biraz daha içeriden yazılır. Kodu okuması daha kolay olur.

Bunlar her ne kadar programcının "damak tadı" olsa da grup çalışmaları, forumlarda soru sorulacağı zaman yazılan kodun yardımcı olacak kişiler tarafından daha kolay ve hızlı anlaşılmasına fayda sağlayacaktır.

Sizinde bu şekilde alışkanlık geliştirmenizde fayda var.

Sorununuza gelince aşağıdaki şekilde istediğinizi elde edebilirsiniz.

Kod: Tümünü seç

procedure TForm2.Edit1KeyPress(Sender: TObject;
  var Key: Char);
begin
  if Length(Edit1.Text) = 2 then
  begin
    Edit1.Text := Copy(Edit1.Text, 1, 2) + ':';
    Edit1.SelStart := Length(Edit1.Text);
  end;
Kullanıcı avatarı
dogan
Üye
Mesajlar: 173
Kayıt: 17 Eki 2014 10:11

Re: Edit otomatik ekleme ve cursor

Mesaj gönderen dogan »

ertank yazdı:Merhaba,

Kod yazarken hangi kodun hangi blok içinde çalıştığını anlamak adına döngü/begin..end arasındaki kodlar biraz daha içeriden yazılır. Kodu okuması daha kolay olur.

Bunlar her ne kadar programcının "damak tadı" olsa da grup çalışmaları, forumlarda soru sorulacağı zaman yazılan kodun yardımcı olacak kişiler tarafından daha kolay ve hızlı anlaşılmasına fayda sağlayacaktır.

Sizinde bu şekilde alışkanlık geliştirmenizde fayda var.

Sorununuza gelince aşağıdaki şekilde istediğinizi elde edebilirsiniz.

Kod: Tümünü seç

procedure TForm2.Edit1KeyPress(Sender: TObject;
  var Key: Char);
begin
  if Length(Edit1.Text) = 2 then
  begin
    Edit1.Text := Copy(Edit1.Text, 1, 2) + ':';
    Edit1.SelStart := Length(Edit1.Text);
  end;
Çok teşekkür ederim, işimi gördü; Tek sıkıntı ok tuşu ile tek, tek silerken ( if Length(Edit1.Text) = 2 then ) den kaynaklı silmeme izin vermiyor :roll:
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: Edit otomatik ekleme ve cursor

Mesaj gönderen brs »

İşine görecektir...

Kod: Tümünü seç

if (Length(Edit1.Text) = 2) and (Key <> #08) then
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Cevapla