Sayı ve harfleri birbirinden ayıklama

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 02:52

Sayı ve harfleri birbirinden ayıklama

Mesaj gönderen brs » 12 Tem 2014 03:34

Merhaba,

Edit içinde sayı ve harfleri bir birinden ayırmak için kodları kullanıyorum edit içinde örnek: abc123 varsa aynı sayıları her tıklamada 123123 oluşuyor kopyalama yapmadan sadece 123 olarak nasıl ayıklama yapabilirim

Kod: Tümünü seç

procedure TForm1.Edit1Click(Sender: TObject);
var
  I: integer;
  S: String;
begin
  S := Trim(Edit1.Text);
  for I := 1 to Length(S) do
  begin
    if S[I] in ['0' .. '9'] then
    begin
      Edit1.Text := Edit1.Text + S[I]; // Sayıları Ayıklıyoruz
    end;
  end;
end;
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...

Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4717
Kayıt: 09 Ara 2003 08:13
Konum: Ankara
İletişim:

Re: Sayı ve harfleri birbirinden ayıklama

Mesaj gönderen mrmarman » 12 Tem 2014 05:30

brs yazdı:Merhaba,

Edit içinde sayı ve harfleri bir birinden ayırmak için kodları kullanıyorum edit içinde örnek: abc123 varsa aynı sayıları her tıklamada 123123 oluşuyor kopyalama yapmadan sadece 123 olarak nasıl ayıklama yapabilirim

Kod: Tümünü seç

procedure TForm1.Edit1Click(Sender: TObject);
var
  I: integer;
  S: String;
begin
  S := Trim(Edit1.Text);
  for I := 1 to Length(S) do
  begin
    if S[I] in ['0' .. '9'] then
    begin
      Edit1.Text := Edit1.Text + S[I]; // Sayıları Ayıklıyoruz
    end;
  end;
end;

Kod: Tümünü seç

  S := Trim(Edit1.Text);
satırının hemen altına

Kod: Tümünü seç

  Edit1.Text := '';
eklemen kafi..
Resim Resim

Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 02:52

Re: Sayı ve harfleri birbirinden ayıklama

Mesaj gönderen brs » 13 Tem 2014 10:31

Kodu procedure ile çalıştırmak istediğimde işlemi yarıda bırakıyor nerede hata yaptım acaba...

Kod: Tümünü seç

procedure EditAyıkla(Sender: TObject); // --->>> Harf Ayıkla
var
  I: integer;
  S: String;
begin
  S := Trim(Form16.Edit4.Text);
  Form16.Edit4.Text := '';

---kodun bundan sonrası işlem yapmıyor-----

  for I := 1 to Length(S) do
  begin
    if S[I] in ['0' .. '9'] then
    begin
      Form16.Edit4.Text := Form16.Edit4.Text + S[I]; // Ayıkla
    end;
  end;
end;
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...

omurolmez
Üye
Mesajlar: 178
Kayıt: 31 Eki 2012 11:41

Re: Sayı ve harfleri birbirinden ayıklama

Mesaj gönderen omurolmez » 13 Tem 2014 02:14

OnChange olayına EditAyikla ataması yaptınız mı ?
Ömür Ölmez

Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 02:52

Re: Sayı ve harfleri birbirinden ayıklama

Mesaj gönderen brs » 13 Tem 2014 03:12

omurolmez yazdı:OnChange olayına EditAyikla ataması yaptınız mı ?
Evet denedim hata alıyorum filitre ettğim edit le tekrar filitre edileni aynı editte yazdırınca

First chance exception at $77552DDE. Exception class $C0000005 with message 'access violation at 0x77552dde: write of address 0x00030fec'. Process Project1.exe (5248)
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...

destiny24
Üye
Mesajlar: 131
Kayıt: 22 Tem 2010 08:42

Re: Sayı ve harfleri birbirinden ayıklama

Mesaj gönderen destiny24 » 14 Tem 2014 08:20

access violation alıyorsan yaratılmamış bir nesneye ulaşmaya çalışıyorsun demektir. Muhtemelen Form16 create edilmemiştir

Kullanıcı avatarı
warder
Üye
Mesajlar: 255
Kayıt: 10 Mar 2004 04:59

Re: Sayı ve harfleri birbirinden ayıklama

Mesaj gönderen warder » 14 Tem 2014 07:23

Hazır kütüphane fonksiyonları ile sorun yaşamadan yapabilirsiniz.
Amerikayı yeniden keşfetmeye gerek olmayabilir.
http://docwiki.embarcadero.com/CodeExam ... 8Delphi%29
... Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!
Mustafa Kemal Atatürk...

Cevapla