Tüm Platformlar için Hızlı Uygulama Geliştirme --->    Kitabımız...      Delphi

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 3/5 - 3 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Karakter silme
#1
Merhaba, 

Edite girilen bazı karakterleri silmek istiyorum ve bunu kısmen yapıyorum, fakat BulSil alanında yok etmek istediğim karakter için bir boşluk oluşturdum acaba bu işlem ne kadar doğru? başka yöntem ile nasıl yapabilirim?




function DeleteKarakter(Harf: String): String;
const
  Karakter: String = '("/*-+?=\)';
  BulSil: String = '         ';
var
  N: Integer;
begin
  for N := 1 to length(Karakter) do
  begin
    while Pos(Karakter[N], Harf) > 0 do
    begin
      Harf[Pos(Karakter[N], Harf)] := BulSil[N];
      Result := Harf;
    end;
  end;
end;
Cevapla
#2
BulSil[N] her zaman boş olacağına göre buna gerek yok. Onun yerine direk olarak Harf[...] değerine boşluk atasanız?

Ayrıca; madem Harf değişkeni üzerinde değişlik yapacaksanız(ki bence başına var yazmalısınız) ve bunu sonuç olarak döndürecekseniz, o zaman procedure yapsanız?
Procedure DeleteKarakter(var Harf: String);

Ben sorunuzu yanlış mı anladım acaba?
Kodlara baktığımda bazı karakterlerin yerine boşluk yazmaya çalışıyorsunuz gibi düşündüm?
There's no place like 127.0.0.1
WWW
Cevapla
#3
Neden StringReplace kullanmıyorsun, amaç sadece kelime, cümle içerisinden belirli harfleri silmek veya değiştirmek ise,

'EBELE GÜBELE'   -->  'BL GÜBL'
 StringReplace('EBELE GÜBELE', 'E ' , '' , [rfReplaceAll]);




umarım soruyu yanlış anlamadım.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#4
(10-02-2017, Saat: 17:09)SimaWB Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlBulSil[N] her zaman boş olacağına göre buna gerek yok. Onun yerine direk olarak Harf[...] değerine boşluk atasanız?

Ayrıca; madem Harf değişkeni üzerinde değişlik yapacaksanız(ki bence başına var yazmalısınız) ve bunu sonuç olarak döndürecekseniz, o zaman procedure yapsanız?
Procedure DeleteKarakter(var Harf: String);

Ben sorunuzu yanlış mı anladım acaba?
Kodlara baktığımda bazı karakterlerin yerine boşluk yazmaya çalışıyorsunuz gibi düşündüm?

Boşlukları trim ile en son temizleyeceğim.

(10-02-2017, Saat: 17:41)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlNeden StringReplace kullanmıyorsun, amaç sadece kelime, cümle içerisinden belirli harfleri silmek veya değiştirmek ise,

'EBELE GÜBELE'   -->  'BL GÜBL'
 StringReplace('EBELE GÜBELE', 'E ' , '' , [rfReplaceAll]);




umarım soruyu yanlış anlamadım.

Çok fazla karakteri temizlemem lazım StringReplace kullanırsam işin içinden çıkamam bu nedenden dolayı döngü ile çözmeye çalışıyorum...
Cevapla
#5
Karakterler edite nasıl girikiyor?
Girilmesini engellesen.
Ağlarsa kablosuz ağlar, gerisi yerel ağlar...
Cevapla
#6
(10-02-2017, Saat: 18:07)serhat Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlÇok fazla karakteri temizlemem lazım StringReplace kullanırsam işin içinden çıkamam bu nedenden dolayı döngü ile çözmeye çalışıyorum...

Selamün Aleyküm, şu şekilde yap istersen:
function karakterSil(const metin: string) : string;
const
 karakter : string = '("/*-+?=\)';
var
 c        : Char;
begin
 for c in karakter do
   metin := StringReplace(metin, c, '', [rfReplaceAll]);
 Result := metin;
end;
Cevapla
#7
function KarakterSil(Harf: String): String;
const
  Karakter: String = '("/*-+?=\)';
var
  N: Integer;
begin
  for N := 1 to length(Karakter) do
  begin
    Harf := StringReplace(Harf, Karakter[N], '', [rfReplaceAll]);
    Result := Harf;
  end;
end;

Kolay gelsin...
Cevapla
#8
(10-02-2017, Saat: 22:33)brs Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
function KarakterSil(Harf: String): String;
const
  Karakter: String = '("/*-+?=\)';
var
  N: Integer;
begin
  for N := 1 to length(Karakter) do
  begin
    Harf := StringReplace(Harf, Karakter[N], '', [rfReplaceAll]);
    Result := Harf;
  end;
end;

Kolay gelsin...



function KarakterSil(Harf: String): String;
const
  Karakter: String = '("/*-+?=\)';
var
  N: Integer;
begin
  for N := 1 to length(Karakter) do
  begin
    Result := StringReplace(Harf, Karakter[N], '', [rfReplaceAll]);
  end;
end;


Kalabalığa gerek yok Wink
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Datasnap Türkçe karakter sorunu [Çözüldü] hakanharbeli 4 105 11-02-2018, Saat: 03:29
Son Yorum: hakanharbeli
  Kayıt silme Dostk 5 280 21-12-2017, Saat: 15:03
Son Yorum: witalihakko
  XML'de Türkçe karakter sorunu [Çözüldü] serhat 5 456 25-07-2017, Saat: 19:57
Son Yorum: serhat
  Son Yapılan kaydı silme quake16 7 342 11-07-2017, Saat: 18:15
Son Yorum: Fesih ARSLAN
  Karakter kontrolü serhat 12 558 20-06-2017, Saat: 12:08
Son Yorum: serhat



Konuyu Okuyanlar: 1 Ziyaretçi