(Etkisiz) String yardim

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
sr1111
Üye
Mesajlar: 220
Kayıt: 06 Mar 2008 01:59

(Etkisiz) String yardim

Mesaj gönderen sr1111 »

s.a
Bana göre 100 puanlik soru

arkadaslar bir konuda takildim yapamadim. yardimci olursaniz sevinirim.
istiytorum ki stringreplacede bu sadece karakter setlerini gorme o,u,ı,a,x,q,@

memo1.text deki
stringreplace ile
'yrdm' kelimesini yazdigim zaman metinde gecen tüm yardım, yurdum, yordum,yaradım gibi kelimelerle degistirmek istiyorum.

yani yrdm yazdigim zaman sadece tum yukaridaki karaktersetinde verdigim harfler kelimenin arasinda varsa degissin. hepsi yrdm olsun

nasıl apabilirim. döngüyüde kuramadim.
En son sr1111 tarafından 03 May 2010 05:52 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: (Etkisiz) String yardim

Mesaj gönderen aslangeri »

s.a.
stringreplace içinde direk olmaz ama kendin bir metod yazarak yapabilirsin.
regular expression u araştır.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
sr1111
Üye
Mesajlar: 220
Kayıt: 06 Mar 2008 01:59

Re: (Etkisiz) String yardim

Mesaj gönderen sr1111 »

delphiyi ileri seviyede bilmedigim icin nasil bir metod yazacagim ne nasil yapacagim biiemiyoum
regular expression regex ile olacagini zannetmiyorum. cunku birkac kelime olunca hizli cok sayida kelime verince cok yavas işe yaramiyor. regex ferrari gibi 500 kilo yuk yukleyince hizli gitmiyor. gene işin icinde stringreplace olacak gibi zannediyorum.
Birisi bir ornek veya metod yazsa cok sevinecegim.
beyuslu
Üye
Mesajlar: 46
Kayıt: 20 Nis 2009 11:08

Re: (Etkisiz) String yardim

Mesaj gönderen beyuslu »

var
s1,s2,s3:string;
begin
s1:=StringReplace(yardim,'a','',[rfReplaceAll]);
s2:=StringReplace(s2,'u','',[rfReplaceAll]);
s3:=StringReplace(s3,'ı','',[rfReplaceAll]);
end;

gibi düşünebilirsin
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: (Etkisiz) String yardim

Mesaj gönderen Lost Soul »

Kod: Tümünü seç

program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

Function Degistir(Harfler,Hedef,YeniKelime : String):String;
var
  i,j : Integer;
  AllIn : Boolean;
  s:String;
Begin
  Result:='';
  s:='';
  for j := 1 to Length(Hedef) do
  Begin
    if Hedef[j]=' ' then
    Begin
      s:=Trim(s);
      if Length(s)>0 then
      Begin
        AllIn := True;
        for i := 1 to Length(Harfler) do
        if Pos(Harfler[i],s)<=0 then
        Begin
          AllIn:=False;
          Break;
        End;
        if AllIn then
        Result:=Result+YeniKelime +' '
        else
        Result:=Result+s+' ';
      End
      else
      Result:=Result+' ';
      s:='';
    End
    else
    s:=s+Hedef[j];

  End;
//Kalan harfler
      if Length(s)>0 then
      Begin
        AllIn := True;
        for i := 1 to Length(Harfler) do
        if Pos(Harfler[i],s)<=0 then
        Begin
          AllIn:=False;
          Break;
        End;
        if AllIn then
        Result:=Result+YeniKelime
        else
        Result:=Result+s;
      End;
      s:='';

End;
var
 s1,s2 :String;
begin
  s2:='Al bu takatukaları takatukacıya götür takatukacı takatukaları takatukalatmam derse takatukaları sigortacıya götürüp sigortalattırdıktan sonra yakıp sigortacıdan tazmina iste.';
  s1:=Degistir('tkar',s2,'leblebileri');
  WriteLN(s2);
  Writeln(s1);
  ReadLN;

end.

Sonuç

Kod: Tümünü seç

Al bu takatukaları takatukacıya götür takatukacı takatukaları takatukalatmam der
se takatukaları sigortacıya götürüp sigortalattırdıktan sonra yakıp sigortacıdan
 tazmina iste.
Al bu leblebileri takatukacıya götür takatukacı leblebileri takatukalatmam derse
 leblebileri sigortacıya götürüp leblebileri sonra yakıp sigortacıdan tazmina is
te.
Cevapla