Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Edit otomatik tamamlama
#1
Merhaba;


Yaklaşık 10 tedit kullanıyorum edit içine tarih girince otomatik olarak (.) eklenmesini istiyorum.
İşlemi function kullanarak çözmek istiyorum, Fakat (.) hep en sonda kalıyor Örnek: 02 yazdığımda noktayı koyuyor fakat edite tekrar sayı girdiğimde nokta yine sonda kalıyor. bu durumu nasıl çözerim?



procedure TForm1.EditTarihChangeTracking(Sender: TObject);
begin
  if EditTarih.Text.Length > 0 then
    EditTarih.Text := TarihCreate(EditTarih.Text);
end;


function TForm1.TarihCreate(TarihString: String): String;
var
  Test: String;
begin
  Result := TarihString;
  I := Result.Length;
  begin
    if I = 2 then
    begin
      Test := Result;
      Result := '';
      Result := Test + ':';
    end;
  end;
end;
Cevapla
#2
(13-04-2019, Saat: 19:10)ahmetb Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Merhaba;


Yaklaşık 10 tedit kullanıyorum edit içine tarih girince otomatik olarak (.) eklenmesini istiyorum.
İşlemi function kullanarak çözmek istiyorum, Fakat (.) hep en sonda kalıyor Örnek: 02 yazdığımda noktayı koyuyor fakat edite tekrar sayı girdiğimde nokta yine sonda kalıyor. bu durumu nasıl çözerim?



procedure TForm1.EditTarihChangeTracking(Sender: TObject);
begin
  if EditTarih.Text.Length > 0 then
    EditTarih.Text := TarihCreate(EditTarih.Text);
end;


function TForm1.TarihCreate(TarihString: String): String;
var
  Test: String;
begin
  Result := TarihString;
  I := Result.Length;
  begin
    if I = 2 then
    begin
      Test := Result;
      Result := '';
      Result := Test + ':';
    end;
  end;
end;

neden DateEdit kullanmıyorsunuz?
Yalnızım ama bir kente yürüyen ordu gibiyim, edebiyattan kaçınmalıyım..
Cevapla
#3
Görsellikten dolayı DateEdit tercih etmiyorum.
Cevapla
#4
Buyrun size bir DateEdit..


procedure TForm1.Edit1Enter(Sender: TObject);
begin
 Edit1.Clear;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if not(CharInSet(Key, ['0' .. '9', #8, #13])) then
 begin
   Key := #0;
   Beep;
 end;
end;

procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
 Edit1.MaxLength:=10; //Bunu formdan yaparsanız daha mantıklı..
 if length(Edit1.text) = 2 then
 begin
   Edit1.text := Edit1.text + '.';
   Edit1.SelStart := 3;
   Edit1.SelLength := 0;
 end;
 if length(Edit1.text) = 5 then
 begin
   Edit1.text := Edit1.text + '.';
   Edit1.SelStart := 6;
   Edit1.SelLength := 0;
 end;
end;
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#5
(14-04-2019, Saat: 18:05)mcuyan Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Buyrun size bir DateEdit..


procedure TForm1.Edit1Enter(Sender: TObject);
begin
 Edit1.Clear;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if not(CharInSet(Key, ['0' .. '9', #8, #13])) then
 begin
   Key := #0;
   Beep;
 end;
end;

procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
 Edit1.MaxLength:=10; //Bunu formdan yaparsanız daha mantıklı..
 if length(Edit1.text) = 2 then
 begin
   Edit1.text := Edit1.text + '.';
   Edit1.SelStart := 3;
   Edit1.SelLength := 0;
 end;
 if length(Edit1.text) = 5 then
 begin
   Edit1.text := Edit1.text + '.';
   Edit1.SelStart := 6;
   Edit1.SelLength := 0;
 end;
end;

Teşekkür ederim.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Firemonkey edit ve memo da @ karakteri beklentili 9 1.175 28-08-2019, Saat: 16:51
Son Yorum: seydigozegir@gmail.com
  Klavye otomatik tamamlama özelliğini kapatma seydigozegir@gmail.com 2 101 28-08-2019, Saat: 16:26
Son Yorum: seydigozegir@gmail.com
  android edit bileşeninde barcod okutma sonrası için cinarbil 2 216 27-07-2019, Saat: 09:24
Son Yorum: cinarbil
  Mysql db'ye kayıt listviewde otomatik görme ahmetb 6 314 26-07-2019, Saat: 15:53
Son Yorum: ahmetb
  Otomatik açılan/kapanan toolbar cemakkus 3 420 06-03-2019, Saat: 08:43
Son Yorum: cemakkus



Konuyu Okuyanlar: 1 Ziyaretçi