Delphi Can
EmbeddedWB - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Diğer Konular (https://www.delphican.com/forumdisplay.php?fid=135)
+--- Konu Başlığı: EmbeddedWB (/showthread.php?tid=2416)



EmbeddedWB - Gürcan - 10-07-2018

Selam. EmbeddedWB ile yaptığım bir proje var. Projede BeforeNavigate2 event' ına koyduğum breakpointler' e aktif olmalarına rağmen kod düşmüyor.
Bu konuda yardımcı olabilecek biri var mı ?


EmbeddedWB - adelphiforumz - 10-07-2018

Kod düşmüyordan kastınız nedir.
breakpoint run ettiğinizde yeşil mi oluyor yoksa gri mi kalıyor.
Gri kalıyorsa muhtemelen o satıra hiç gelmiyor
yeşil oluyorsada project/managerdan sağtaraftaki kısımdan realase yerine debug mod seçimi yapın


Cvp: EmbeddedWB - Fesih ARSLAN - 10-07-2018

Merhaba,
Konuya bir katkımız olsun.
Delphi Breakpoint simgeleri ve ne anlama geldikleri;

breakpoint.png


Cvp: EmbeddedWB - Gürcan - 10-07-2018

(10-07-2018, Saat: 11:33)adelphiforumz Adlı Kullanıcıdan Alıntı: Kod düşmüyordan kastınız nedir.
breakpoint run ettiğinizde yeşil mi oluyor yoksa gri mi kalıyor.
Gri kalıyorsa muhtemelen o satıra hiç gelmiyor
yeşil oluyorsada project/managerdan sağtaraftaki kısımdan realase yerine debug mod seçimi yapın

Evet sorun oymuş, teşekkürler. RAD' da çok yeniyim, kusura bakmayın Smile


EmbeddedWB - Gürcan - 12-07-2018

EmbeddedWB de, sayfanın Body' sine ait InnerHTML' i çektiğimde 4090 küsur karakterden sonrasını çekmiyor.
Bunu artırmanın bir yolunu bilen var mıdır ?


EmbeddedWB - mrmarman - 12-07-2018

İçeriğini alamadığınız bir siteyi örnek verebilirseniz bir bakarız. Böyle sorunla karşılaştığım olmadı ama olsaydı tüm içeriği değil de TElement üzerinden ChildNodes ile DIV halinde dilimler halinde okumayı denerdim.


EmbeddedWB - canbir - 12-07-2018

(12-07-2018, Saat: 11:01)Gürcan Adlı Kullanıcıdan Alıntı: EmbeddedWB de, sayfanın Body' sine ait InnerHTML' i çektiğimde 4090 küsur karakterden sonrasını çekmiyor.
Bunu artırmanın bir yolunu bilen var mıdır ?
memo nesnesine alıyorsanız onun sınırı olabilir, InnerHTML' i string tipinde değişkene alıp öyle deneyin.


EmbeddedWB - Gürcan - 12-07-2018

Stringe alıyorum ancak bir yerden sonra kesiyor. Şifreyle giriş yapılan bir site olduğundan örnek vermem ne yazık ki mümkün değil. Yine de ilginize teşekkür ederim. Önerilerinize göre tekrar bir bakacağım.


EmbeddedWB - mrmarman - 13-07-2018

Şunu bir deneyin isterseniz. Size fikir verecektir.

Ayikla( EmbeddedWB1, 'TABLE' ) derseniz <TABLE> </TABLE> olanları ayıklar.
Ayikla( EmbeddedWB1, 'DIV'   ) derseniz <DIV> </DIV> aralarını ayıklar.

yani kısaca ne isterseniz TR deyin TD deyin, size her TAG için kısımlara ayrılmış şekilde çıktı üretecektir.

Uses ActiveX, MSHTML;

Function Ayikla( EmbeddedWB: TEmbeddedWB; aTagName : String ):String;
Const
 Satir = #10#13;
var
 doc : OleVariant;
 el  : OleVariant;
 i   : Integer;
begin
 doc := EmbeddedWB.Document as IHTMLDocument2;
 for i := 0 to doc.body.all.length - 1 do
 begin
   el := doc.body.all.item(i);
   if (el.tagName = aTagName )
     then Result := Result
         + satir +  StringOfChar( '=', 4 ) + ' ' + el.Id + ' '+  StringOfChar( '=', 96 )
         + satir +  el.InnerHtml;
 end;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
 EmbeddedWB1.Navigate( Edit1.Text );
 While EmbeddedWB1.ReadyState <> READYSTATE_COMPLETE do
 begin
   Application.ProcessMessages;
   Sleep(1);
 end;
 Memo1.Lines.Text :=  Ayikla( EmbeddedWB1, 'TABLE' );
 Memo1.Lines.SaveToFile(changeFileExt(application.ExeName, '.TXT_Table' ) );

 Memo2.Lines.Text :=  EmbeddedWB1.OleObject.Document.Body.InnerHtml;
 Memo2.Lines.SaveToFile(changeFileExt(application.ExeName, '.TXT_Body' ) );
 Showmessage('OK');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 Edit1.Text := 'http://www.delphican.com';
end;