Ek almış bir kelimeyi nasıl belirtebilirim?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
futbolcu
Üye
Mesajlar: 129
Kayıt: 02 Tem 2003 08:33
Konum: Ankara

Ek almış bir kelimeyi nasıl belirtebilirim?

Mesaj gönderen futbolcu »

Merhaba Arkadaşlar,
Tamamlamaya çalıştığım bir düzeltme ve metin ayıklama programcığı var. Ancak bazı eksiklerim var. Örneğin aşağıdaki kod üzerinde ek almış kelimenin düzeltilmesini yapıyorum ancak bu kez ek almamış kelimenin de sonuna "'" karakteri atıyor. Örneğin ALi Ali' oluyor. Bu kelimelerin sonundaki karakteri de siliyorum ama bu da çalışmayı çok ama çok uzatıyor. Burada bir yanlışlık yapıyorum ama çözemedim. Önerileriniz için şimdiden ve gerçekten teşekkür ederim.

Kod: Tümünü seç

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
      Function Duzelt(Memo:TMemo;Aranan,Yeni:String):Integer;
Var
  t:String;
  i,a,b,c:Integer;
begin
  c:=0;
  a:=Length(Aranan);
  For i:=0 to Memo.Lines.Count-1 do
  Begin
    t:=Memo.Lines.Strings[i];
    b:=Pos(Aranan,t);
    If b<>0 Then
    Begin
       Memo.Lines.Strings[i]:=Copy(t,1,b-1)+Yeni+Copy(t,a+b,Length(t)-(a+b-1));
       Inc(c);
    End;
  End;
  Duzelt:=c;
End;


procedure TForm1.Button1Click(Sender: TObject);
begin
 duzelt(Memo1,'Alİ'+'','Ali'); //Ali ek almamışsa
 duzelt(Memo1,'ali'+#32,'Ali');
   duzelt(Memo1,'ALi'+#32,'Ali');
      duzelt(Memo1,'Alİ','Ali'+#39); //ali ek almışsa ' ile ayırmalı
      duzelt(Memo1,'ali','Ali'+#39); //Ali'ye gibi
      duzelt(Memo1,'ALi','Ali'+#39);
end;

end.
Bilgi çoğaldıkça krallar ölür
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

Ben ali ek almamışsa'dan sonra bir kontrol ifdadesi görmedim. Ali ek almamış olsa bile ek almış olanın çalıştırması gereken satırları da çalıştırıyor. o satırlardan önce bir kontrol ifdadesi koyarsan sanırım sorun çözülür.
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
futbolcu
Üye
Mesajlar: 129
Kayıt: 02 Tem 2003 08:33
Konum: Ankara

Mesaj gönderen futbolcu »

oraya hangi kontrolü nasıl koyabilirim ki?
Bilgi çoğaldıkça krallar ölür
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

kesme tırnağı koyacağın yerlere iki adet tek tırnak koymalısın.

Örn: 'ALİ' + '''' + 'ye' gibi.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
futbolcu
Üye
Mesajlar: 129
Kayıt: 02 Tem 2003 08:33
Konum: Ankara

Mesaj gönderen futbolcu »

Hocam öncelikle teşekkürler. Dediğinizi uyguladım ancak olmadı. Sonuçta her gördüğü ALi yi Ali' olarak düzeltiyor( Eğer bir hata yapmıyorsam)
Sanırım ek bir fonksiyon tanımlamak gerekecek. İşin içerisinden çıkamaz isem yine yazarım.
selamlar
Bilgi çoğaldıkça krallar ölür
Cevapla