Ornegin;
Editbox ta "bugun sabah okula erken gittim" cumlesi var
ben sunu istiyorum
if edit1de sabah ve okul ve git kelimeleri varsa then
x := true
else
x := false ;

Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var x:boolean;
begin
if edit1.Text='bugun sabah okula erken gittim' then
begin
x:=True;
end
else
begin
x:=False;
end;
end;
Kod: Tümünü seç
procedure TForm1.Button2Click(Sender: TObject);
var x:boolean;
begin
if memo1.Lines.Strings[0]='bugun sabah okula erken gittim' then
begin
//Memonun ilk satırı için o değeriyle
//Dğer satırlarında arıyorsan ona göre numara vermelisin
x:=True;
end
else
begin
x:=False;
end;
end;
Kod: Tümünü seç
object Form1: TForm1
Left = 192
Top = 166
Width = 696
Height = 480
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Edit1: TEdit
Left = 104
Top = 24
Width = 241
Height = 21
TabOrder = 0
Text = 'bugun sabah okula erken gittim'
end
object Button1: TButton
Left = 192
Top = 80
Width = 257
Height = 73
Caption = 'Button1'
TabOrder = 1
OnClick = Button1Click
end
object ArananKelime: TEdit
Left = 368
Top = 24
Width = 121
Height = 21
TabOrder = 2
end
end
Kod: Tümünü seç
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
ArananKelime: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
X:Boolean;
Sonuc:integer;
begin
Sonuc:=AnsiCompareText(ArananKelime.Text,Edit1.Text);
if sonuc>0 then
begin
x:=False;
ShowMessage('Aradığınız Kelime Burada Bulunmuyor');
end
else
begin
x:=True;
ShowMessage('Aradığınız Kelime Edit1 in içinde Var');
end;
end;
end.
Kod: Tümünü seç
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
ArananKelime: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
X:Boolean;
Sonuc:integer;
begin
Sonuc:=AnsiPos(ArananKelime.Text,Edit1.Text);
if sonuc<>0 then
begin
x:=true;
ShowMessage('Aradığınız Kelime Burada var');
end
else if sonuc=0 then
begin
x:=false;
ShowMessage('Aradığınız Kelime Edit1 in içinde yok');
end;
end;
end.
Kod: Tümünü seç
Function TumKelimelerVar( Yazi, Aranan : String):Boolean;
Procedure KelimelereBol( Yazi:String; Var Liste:TStringList);
Var
aYazi : String;
begin
Liste.Clear;
aYazi := UpperCase(Trim(Yazi));
// Noktalama imleri boşluğa dönüştürülür.
aYazi := StringReplace( aYazi, '.', ' ', [rfReplaceAll]);
aYazi := StringReplace( aYazi, ',', ' ', [rfReplaceAll]);
// Son olarak Çift boşluk varsa veya dönüşümde oluşmuşsa teke indirilir.
aYazi := StringReplace( aYazi, ' ', ' ', [rfReplaceAll]);
aYazi :=aYazi + ' '; // en sona bir tane boşluk koyalım ki son kelime döngü dışı kalmasın.
While Pos(' ', aYazi) > 0 do begin
Liste.Add( Copy(aYazi, 1, Pos(' ', aYazi)) );
Delete(aYazi, 1, Pos(' ', aYazi));
end;
end;
Var
aKelimeler,
bKelimeler : TStringList;
aSayac, bSayac,
BuluntuSay : Integer;
begin
BuluntuSay := 0;
aKelimeler := TStringList.Create;
bKelimeler := TStringList.Create;
KelimelereBol( Yazi, aKelimeler );
KelimelereBol( Aranan, bKelimeler );
For aSayac := 0 to aKelimeler.Count-1 do
For bSayac := 0 to bKelimeler.Count-1 do
If AnsiUpperCase(aKelimeler[aSayac]) = AnsiUpperCase(bKelimeler[bSayac]) then
begin // Kelimeler uyuşuyor
Inc(BuluntuSay);
// Dilersen burada bir listeye alarak bulunmuş kelimeleri elde edersin.
end;
// dilersen buradaki rakamları aşağıdaki şekilde orantılı mesaj yazdırabilirsin.
// ShowMessageFmt('%d / %d oranında eş kelime var.', [BuluntuSay, aKelimeler.Count]);
Result := Boolean( bKelimeler.Count = BuluntuSay );
bKelimeler.Free;
aKelimeler.Free;
end;
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
begin
If TumKelimelerVar( Memo1.Lines[0], Edit1.Text )
then ShowMessage('Tümü Ok')
else ShowMessage('Uyuşmayan Kelimeler var...');
end;
Kod: Tümünü seç
If AnsiUpperCase(aKelimeler[aSayac]) = AnsiUpperCase(bKelimeler[bSayac]) then
Kod: Tümünü seç
If Pos( Trim(AnsiUpperCase(bKelimeler[bSayac])), Trim(AnsiUpperCase(aKelimeler[aSayac])) ) > 0 then