Yorumları: 219
Konuları: 46
Kayıt Tarihi: 16-03-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 273 Acemi
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.
Yorumları: 1.313
Konuları: 111
Kayıt Tarihi: 01-07-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 6.983 Üstad
07-02-2018, Saat: 01:34
(Son Düzenleme: 07-02-2018, Saat: 01:35, Düzenleyen: Halil Han BADEM.)
Allah allah yaw, az önce onu kodluyordum. Kalp kalbe karşı imiş
var
UpdatelenmisHali: String;
begin
UpdatelenmisHali := StringReplace(Memo1.Lines.Text, 'Merhaba', 'Selam', [rfReplaceAll, rfIgnoreCase]);
ShowMessage(UpdatelenmisHali);
end;
Yorumları: 219
Konuları: 46
Kayıt Tarihi: 16-03-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 273 Acemi
07-02-2018, Saat: 01:52
(Son Düzenleme: 07-02-2018, Saat: 01:52, Düzenleyen: quiet1day.)
(07-02-2018, Saat: 01:34)hyperxman Adlı Kullanıcıdan Alıntı: Allah allah yaw, az önce onu kodluyordum. Kalp kalbe karşı imiş
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
Yorumları: 342
Konuları: 15
Kayıt Tarihi: 16-08-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 2.707 Uzman
StringReplace fonksiyonu SysUtils unit'i içinde bulunmaktadır.
StrUtils unit'i içinde de StringReplace fonksiyonunu kullarak size sonuc veren AnsiReplaceText 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.
Yorumları: 219
Konuları: 46
Kayıt Tarihi: 16-03-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 273 Acemi
(07-02-2018, Saat: 09:11)Cyber Adlı Kullanıcıdan Alıntı: StringReplace fonksiyonu SysUtils unit'i içinde bulunmaktadır.
StrUtils unit'i içinde de StringReplace fonksiyonunu kullarak size sonuc veren AnsiReplaceText 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ü
Yorumları: 4.224
Konuları: 379
Kayıt Tarihi: 07-07-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 16.975 Üstad
(07-02-2018, Saat: 19:00)Paranoyaq Adlı Kullanıcıdan Alıntı: (07-02-2018, Saat: 09:11)Cyber Adlı Kullanıcıdan Alıntı: StringReplace fonksiyonu SysUtils unit'i içinde bulunmaktadır.
StrUtils unit'i içinde de StringReplace fonksiyonunu kullarak size sonuc veren AnsiReplaceText 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.
Yorumları: 219
Konuları: 46
Kayıt Tarihi: 16-03-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 273 Acemi
(07-02-2018, Saat: 19:17)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: (07-02-2018, Saat: 19:00)Paranoyaq Adlı Kullanıcıdan Alıntı: 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
Yorumları: 453
Konuları: 14
Kayıt Tarihi: 07-09-2016
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.1
- Delphi XE7
- Delphi XE2
- Delphi 7
Rep Puanı: 1.833 Programcı
(07-02-2018, Saat: 19:17)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: (07-02-2018, Saat: 19:00)Paranoyaq Adlı Kullanıcıdan Alıntı: 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
Yorumları: 1.571
Konuları: 88
Kayıt Tarihi: 09-08-2016
Rep Puanı: 13.829 Üstad
AnsiReplaceText, büyük-küçük harf duyarsızdır. Bu sizin için gerekli ise AnsiReplaceStr kullanabilirsiniz. Fakat fonksiyonun yardım sayfasında yazan şu satırlara dikkat:
ReplaceStr is the same function as AnsiReplaceStr. In writing your application, we recommend that you use ReplaceStr to avoid any confusion caused by the Ansi prefix.
The StringReplace 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
Yorumları: 342
Konuları: 15
Kayıt Tarihi: 16-08-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 2.707 Uzman
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.
|