break exit döngüyü nasıl uygularim

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

break exit döngüyü nasıl uygularim

Mesaj gönderen sr1111 »

merhaba
asagidaki kodumda başarısız oldum yapamadim.
yapmak istedigim mesela kelimeyi nerede bulursa döngüyü kessin.
break exit gibi tanimlamalar yaptigim halde başarısız oldum.

mesela
sırasıyla baksın kelimeyi -5 de bulursa memo2 ye eklesin ve döngüden ciksin. diğerlerine bakmasin.
begin
if comstr(edit1.text,p1) = 0 then
memo2.lines.add(edit1.text);
break;
if comstr(leftstr(edit1.text,length(edit1.text)-1) ,p1) = 0 then
memo2.lines.add(edit1.text);
break;
if comstr(leftstr(edit1.text,length(edit1.text)-2) ,p1) = 0 then
memo2.lines.add(edit1.text);
break;
if comstr(leftstr(edit1.text,length(edit1.text)-3) ,p1) = 0 then
memo2.lines.add(edit1.text);
break;
if comstr(leftstr(edit1.text,length(edit1.text)-4) ,p1) = 0 then
memo2.lines.add(edit1.text);
break;
if comstr(leftstr(edit1.text,length(edit1.text)-5) ,p1) = 0 then
memo2.lines.add(edit1.text);
break;
if comstr(leftstr(edit1.text,length(edit1.text)-6) ,p1) = 0 then
memo2.lines.add(edit1.text);
break;
if comstr(leftstr(edit1.text,length(edit1.text)-7) ,p1) = 0 then
memo2.lines.add(edit1.text);
break;
if comstr(leftstr(edit1.text,length(edit1.text)-8) ,p1) = 0 then
memo2.lines.add(edit1.text);
En son sr1111 tarafından 15 Ağu 2012 09:05 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: break exit döngüyü nasıl uygularim

Mesaj gönderen unicorn64 »

yapı döngüye benzese de bir döngü kurmamışsınız aslında...
delphideki döngü yapıları; for, foreach (sanırım delphi 2007 ile geldi), while, repeat..until ile yapılır

yazdığınız kodu doğru anlayamamış olabilirim ama vereceğim kodu inceleyerek istediğinizi elde edebilirsiniz sanırım.

forma 2 edit, 1 memo, bir de buton ekledim..

Kod: Tümünü seç


procedure TForm1.Button1Click(Sender: TObject);
var
  i,l:integer;
  s1,s2:string;
begin
  s1:=Edit1.Text;
  s2:=Edit2.Text;
  l:=length(Edit1.Text);
  for i := 0 to l - 1 do
  begin
    if LeftStr(s1,l-i) = s2 then
    begin
      memo1.lines.add(s2);
      break;
    end;
  end;
end;
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
sr1111
Üye
Mesajlar: 220
Kayıt: 06 Mar 2008 01:59

Re: break exit döngüyü nasıl uygularim

Mesaj gönderen sr1111 »

tesekkurler dediginiz gibi yaptim ama bu sefer break i calistiramadim.
yani kelimeyi -3 de filan bulunca durmuyor diğer -4 -5 -1 lere de bakip onlarida bulup ekliyor memo2 ye.
En son sr1111 tarafından 15 Ağu 2012 09:57 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: break exit döngüyü nasıl uygularim

Mesaj gönderen unicorn64 »

if bloğu begin end arasına alınmazsa if şartı sağlandığında sadece if den sonraki tek satır çalıştırılır...
ilk for un olduğu satıra breakpoint koyup, kodu adım adım çalıştırarak debug edin, hangi adımda ne oluyor, olmuyorsa neden olmuyor görebilirsiniz...
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
Cevapla