Karakter silme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
Serhat
Üye
Mesajlar: 203
Kayıt: 27 Tem 2014 11:10

Karakter silme

Mesaj gönderen Serhat »

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?

Kod: Tümünü seç

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;
Kullanıcı avatarı
greenegitim
Üye
Mesajlar: 713
Kayıt: 28 Nis 2011 10:33
Konum: İstanbul

Re: Karakter silme

Mesaj gönderen greenegitim »

Mücadele güzelleştirir!
ertank
Kıdemli Üye
Mesajlar: 1716
Kayıt: 12 Eyl 2015 12:45

Re: Karakter silme

Mesaj gönderen ertank »

Merhaba,

Kullandığınız Delphi sürümünü bildirmemişsiniz. Aşağıdaki örnek Delphi 10.1 Update 2 ile çalışmaktadır.

Sadece belli karakterleri silmek istiyor iseniz aşağıdaki gibi bir fonksiyon kullanmanız mümkün. Ancak önceden belli olmayan, parametre ile gönderilecek karakterler için fonksiyonun yeniden düzenlenmesi gerekecektir.

Kod: Tümünü seç

function RemoveSpecialCharacters(const Value: string): string;
var
  SrcPtr, DestPtr: PChar;
begin
  SrcPtr := PChar(Value);
  SetLength(Result, Length(Value));
  DestPtr := PChar(Result);
  while SrcPtr[0] <> #0 do
  begin
    if not CharInSet(SrcPtr[0], ['(', '"', '/', '*', '-', '+', '?', '=', '\', ')']) then
    begin
      DestPtr[0] := SrcPtr[0];
      Inc(DestPtr);
    end;
    Inc(SrcPtr);
  end;
end;
Cevapla