Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Kelime Değiştirme
#1
Merhaba Hocalarım , 
Yazımın içerisinde bulunan kelimeleri tespit edip değiştirme imkanı sağlayacak bir kod arıyorum.
örneğin memo içerisine aktarılan yazıda ;
'Merhaba' yer alıyorsa onu ' Selam ' ile değiştirecek .
Işık tutabilecek olan varmı ? Şimdiden Teşekkürler.
Cevapla
#2
Allah allah yaw, az önce onu kodluyordum. Kalp kalbe karşı imiş Smile

var
 UpdatelenmisHali: String;
begin
 UpdatelenmisHali := StringReplace(Memo1.Lines.Text, 'Merhaba', 'Selam', [rfReplaceAll, rfIgnoreCase]);
 ShowMessage(UpdatelenmisHali);
end;
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Cevapla
#3
(07-02-2018, Saat: 01:34)hyperxman Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Allah allah yaw, az önce onu kodluyordum. Kalp kalbe karşı imiş Smile

var
 UpdatelenmisHali: String;
begin
 UpdatelenmisHali := StringReplace(Memo1.Lines.Text, 'Merhaba', 'Selam', [rfReplaceAll, rfIgnoreCase]);
 ShowMessage(UpdatelenmisHali);
end;

Teşekkür ediyorum hocam : ) İçimize doğmuş + puan
Cevapla
#4
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. fonksiyonu Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.  unit'i içinde bulunmaktadır.
StrUtils unit'i içinde de StringReplace fonksiyonunu kullarak size sonuc veren Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. fonsiyonu bulunmaktadır.
kullanımı
Uses StrUtils;
AnsiReplaceText ('Metin,'Aranan Değer',Yeni Değer)

Yine StrUtils uniti içinde diğer String işlemlerinde kullanabileceğiniz fonksiyonlara da ulaşabilirsiniz.
Bağlantı linkleri Delphi Tokyo ve Berlin için fakat delphi 7 içinde fazla bir değişiklik göstermiyor.
Cevapla
#5
(07-02-2018, Saat: 09:11)Cyber Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. fonksiyonu Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.  unit'i içinde bulunmaktadır.
StrUtils unit'i içinde de StringReplace fonksiyonunu kullarak size sonuc veren Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. fonsiyonu bulunmaktadır.
kullanımı
Uses StrUtils;
AnsiReplaceText ('Metin,'Aranan Değer',Yeni Değer)

Yine StrUtils uniti içinde diğer String işlemlerinde kullanabileceğiniz fonksiyonlara da ulaşabilirsiniz.
Bağlantı linkleri Delphi Tokyo ve Berlin için fakat delphi 7 içinde fazla bir değişiklik göstermiyor.

Teşekkür ederim hyperxman ' in verdiği kod ile hız farkı olabilir mi ?
Büyük bir içeriği olacak çünkü
Cevapla
#6
(07-02-2018, Saat: 19:00)Paranoyaq Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(07-02-2018, Saat: 09:11)Cyber Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. fonksiyonu Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.  unit'i içinde bulunmaktadır.
StrUtils unit'i içinde de StringReplace fonksiyonunu kullarak size sonuc veren Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. fonsiyonu bulunmaktadır.
kullanımı
Uses StrUtils;
AnsiReplaceText ('Metin,'Aranan Değer',Yeni Değer)

Yine StrUtils uniti içinde diğer String işlemlerinde kullanabileceğiniz fonksiyonlara da ulaşabilirsiniz.
Bağlantı linkleri Delphi Tokyo ve Berlin için fakat delphi 7 içinde fazla bir değişiklik göstermiyor.

Teşekkür ederim hyperxman ' in verdiği kod ile hız farkı olabilir mi ?
Büyük bir içeriği olacak çünkü

Tahminimce AnsiReplaceText, ansi karakterleri de değişime dahil ettiğine göre, StringReplace  fonksiyonuna göre az da olsa yavaş sonuç döndürecektir. 
Fakat çok büyük metinlerde her ikisi de yavaş olacaktır.
Aynı zamanda StringReplace ile yapacağınız metin değiştirme işlemlerinde Türkçe karakter veya bazı özel karakterlerin dönüşümünde de sorun yaşayabilirsiniz.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#7
(07-02-2018, Saat: 19:17)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(07-02-2018, Saat: 19:00)Paranoyaq Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Teşekkür ederim hyperxman ' in verdiği kod ile hız farkı olabilir mi ?
Büyük bir içeriği olacak çünkü

Tahminimce AnsiReplaceText, ansi karakterleri de değişime dahil ettiğine göre, StringReplace  fonksiyonuna göre az da olsa yavaş sonuç döndürecektir. 
Fakat çok büyük metinlerde her ikisi de yavaş olacaktır.
Aynı zamanda StringReplace ile yapacağınız metin değiştirme işlemlerinde Türkçe karakter veya bazı özel karakterlerin dönüşümünde de sorun yaşayabilirsiniz.

Aydınlatmanız için teşekkürler hocam + puan
Cevapla
#8
(07-02-2018, Saat: 19:17)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(07-02-2018, Saat: 19:00)Paranoyaq Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Teşekkür ederim hyperxman ' in verdiği kod ile hız farkı olabilir mi ?
Büyük bir içeriği olacak çünkü

Tahminimce AnsiReplaceText, ansi karakterleri de değişime dahil ettiğine göre, StringReplace  fonksiyonuna göre az da olsa yavaş sonuç döndürecektir. 
Fakat çok büyük metinlerde her ikisi de yavaş olacaktır.
Aynı zamanda StringReplace ile yapacağınız metin değiştirme işlemlerinde Türkçe karakter veya bazı özel karakterlerin dönüşümünde de sorun yaşayabilirsiniz.

Data eğer satır satır okunup işneiyor ise ve her satırda deiştirilecek kelime yoksa (muhtemelen yoktur), önce Pos kullanıp, Pos function'ı 0'dan büyük bir değer getiriyor ise diğer yöntemi uygularsanız çok ciddi fark olacaktır. Yalnız fark olabilir mi yerine onu sizin deneyip, bu method ile şu kadar, diğer method ile şu kadar sürdü, daha ne yapabilirim diye sormanız daha doğru olur sanki  Wink
Cevapla
#9
AnsiReplaceText, büyük-küçük harf duyarsızdır. Bu sizin için gerekli ise Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. kullanabilirsiniz. Fakat fonksiyonun yardım sayfasında yazan şu satırlara dikkat:


Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. is the same function as AnsiReplaceStr. In writing your application, we recommend that you use Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. to avoid any confusion caused by the Ansi prefix.
The Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. function is a more general replacement routine, giving case-sensitivity options, as well as the option to decide whether to replace all occurrences or the first occurrence of the substring in the string.


Ben olsam, bana daha çok ayar imkanı verdiği için StringReplace'i kullanırım.
There's no place like 127.0.0.1
WWW
Cevapla
#10
Aslında AnsiReplaceStr,AnsiReplaceText veya ReplaceText dahi kullansak hepsinin gittiği konum StringReplace.
System.StrUtils altında bu functionlara baktığımızda kaynak olarak aynı yere gittiğini sadece bizi fazla parametre girmekten kurtardığını gözlemliyorum. (rfReplaceAll veya  rfIgnoreCase)
System.StrUtils in uses kısmında da yine System.SysUtils tanımlıdır.

function AnsiReplaceStr(const AText, AFromText, AToText: string): string;
begin
 Result := StringReplace(AText, AFromText, AToText, [rfReplaceAll]);
end;

function ReplaceText(const AText, AFromText, AToText: string): string;
begin
 Result := AnsiReplaceText(AText, AFromText, AToText);
end;

function AnsiReplaceText(const AText, AFromText, AToText: string): string;
begin
 Result := StringReplace(AText, AFromText, AToText, [rfReplaceAll, rfIgnoreCase]);
end;

Delphi 7 sürümünden sonra StringReplace üzerinde çok fazla düzenleme yapılmış. Delphi7 içinde 35 satırda sonlanırken şuan 10.1 sürümünde 213 satıra çıkarılmış durumda.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Bileşen Özelliklerini Değiştirme SercanTEK 7 943 26-10-2018, Saat: 11:10
Son Yorum: SercanTEK
  Overbyte SSLSmtpCli Open SSL path değiştirme ahmet_sinav 5 734 12-10-2018, Saat: 10:23
Son Yorum: ahmet_sinav
  Dil Değiştirme gonulali 2 589 05-06-2018, Saat: 12:05
Son Yorum: gonulali
  sql like ile birden fazla kelime arama erdogan 10 1.384 08-05-2018, Saat: 17:41
Son Yorum: erdogan
  Sayıyı değiştirme serhat 7 1.380 12-06-2017, Saat: 23:51
Son Yorum: serhat



Konuyu Okuyanlar: 1 Ziyaretçi