WebBrowser da MessageDlg sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

WebBrowser da MessageDlg sorunu

Mesaj gönderen brs »

Webborser da arama işleminde aranan link varsa aranan linke click işlemi gerçekleşiyor fakat aranan link yoksa "MessageDlg" ile bulunamadı uyarısı vermek istiyorum, "MessageDlg" işin içine girince link olmasına rağmen yinede "MessageDlg" bulunamadı diyor dikkatimden kaçan bir hata var ama bulamadım...

Aranan link olmasına rağmen messagedlg bulunamadı diyor

Kod: Tümünü seç

procedure TForm3.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  with Form2.WebBrowser1 do
  begin
    for i := 0 to OleObject.Document.links.Length - 1 do
    begin
      if TrimLeft(OleObject.Document.links.Item(i)) = Edit2.Text then
      begin
        OleObject.Document.links.item(i).Click;
        Break;
      end
      else
      begin
        MessageDlg('Aranan Link Bulunamadı!', mtWarning, [mbOK], 0);
        Break;
      end;
    end;
  end;
end;
Aranan link bulunduğunda click işlemi gerçekleşiyor

Kod: Tümünü seç

procedure TForm3.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  with Form2.WebBrowser1 do
  begin
    for i := 0 to OleObject.Document.links.Length - 1 do
    begin
      if TrimLeft(OleObject.Document.links.Item(i)) = Edit2.Text then
      begin
        OleObject.Document.links.item(i).Click;
        Break;
      end;
    end;
  end;
end;

İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
tayipk
Üye
Mesajlar: 284
Kayıt: 27 Kas 2013 11:32

Re: WebBrowser da MessageDlg sorunu

Mesaj gönderen tayipk »

Trimleft bölümünü sadece Trim olarak değiştirip denediniz mi?
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: WebBrowser da MessageDlg sorunu

Mesaj gönderen brs »

Evet denedim tamamen kaldırınca da hata veriyor
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: WebBrowser da MessageDlg sorunu

Mesaj gönderen mrmarman »

Mantık hatası yapmışsınız ondan.

Döngü sona erene kadar beklemediğinizden ilk link kritere uyuyorsa tıklar ve break ile kırar, yoksa mesaj verip döngüyü break ile kırar.

Şunu yapmalıydınız. Bir boolean değişken tanımlayıp, bu değişkeni döngü içerisinde link bulunursa click yaptığınız yer var ya orada TRUE yapıp break ettirmeniz lazımdı.

Döngü bittikten sonra da bu boolean değişken FALSE kalmışsa o zaman bulunamadı mesajı verdirmeliydiniz.

Örnek :

Kod: Tümünü seç

var
  i: Integer;
  boolBulundu : Booelan;
begin
  boolBulundu := False;
  with Form2.WebBrowser1 do
  begin
    for i := 0 to OleObject.Document.links.Length - 1 do
    begin
      if TrimLeft(OleObject.Document.links.Item(i)) = Edit2.Text then
      begin
        OleObject.Document.links.item(i).Click;
        boolBulundu := True;
        Break;
      end;
    end;

    if NOT boolBulundu
        then MessageDlg('Aranan Link Bulunamadı!', mtWarning, [mbOK], 0);
  end;
end;
Resim
Resim ....Resim
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: WebBrowser da MessageDlg sorunu

Mesaj gönderen brs »

:bravo: Hocam Boolean bi alışamadım :oops:
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Cevapla