Tüm Platformlar için Hızlı Uygulama Geliştirme Kitabı... 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
#9
Bencede son hali gayet güzel ve kullanışlı olmuş. Herkesin eline sağlık.
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi Bağlı Liste Ekleme,Silme,Listeleme narkotik 1 69 Dün, Saat: 14:59
Son Yorum: sabanakman
  clientdataset xml türkçe karakter sorunu osiso 0 173 06-08-2018, Saat: 12:29
Son Yorum: osiso
  lnk dosya işleme silme haydarxxx 17 935 03-06-2018, Saat: 09:15
Son Yorum: haydarxxx
  Rusça Karakter Sorunu gonulali 4 387 25-04-2018, Saat: 11:07
Son Yorum: gonulali
  URLDownloadToFileW api türkçe karakter resim indirmiyor. masteryoda 5 339 14-04-2018, Saat: 16:54
Son Yorum: barutali



Konuyu Okuyanlar: 1 Ziyaretçi