delphi4arab منتديات دلفي للعرب
كيف يمكن نقل النص من ويب برورس الى ليست فيو - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف يمكن نقل النص من ويب برورس الى ليست فيو (/showthread.php?tid=9057)



كيف يمكن نقل النص من ويب برورس الى ليست فيو - محمودد - 17-12-2017

السلام عليكم 
كيف بمكاني نقل النص من ويب برورس الى ليست فيو
Huh Huh Huh Huh Huh


RE: كيف يمكن نقل النص من ويب برورس الى ليست فيو - justnick - 17-12-2017

وعليكم السلام ورحمة الله وبركاته

افترض انك تستقبل الstring الاتى من webbrowse

PHP كود :
"Ahmed Shoulah","Mohamed Shoulah","Delphi Arab","Coder Programmer" 


قم باستخدام الطريقة التالية لاضافتها الى ListView

PHP كود :
var
 
MyString : string;
 
I : Integer;
 
 LItem: TListViewItem;
begin
ListView1
.BeginUpdate;
try
 
MyString := '"Ahmed Shoulah","Mohamed Shoulah","Delphi Arab","Coder Programmer"';
 
I := 0;
 while (
length(MyString) > 0) do
 
begin
  if MyString
[i] = ',' then  Delete(MyString, 1, I);
 
  if MyString[i] = '"' then
   begin
   
if Copy(MyString, 0, I -1) <> '' then
     begin
        LItem 
:= ListView1.Items.Add;
 
       LItem.Text := Copy(MyString, 0, I -1);
 
    end;
 
    Delete(MyString, 1, I);
 
    I := 0;
 
  end;
 
  Inc(I);
 
end;
finally
 
 ListView1.EndUpdate;
end;
end; 



RE: كيف يمكن نقل النص من ويب برورس الى ليست فيو - محمودد - 17-12-2017

شكرا لك لكن ماهي طريقة استخراج النص من الويب برورس واضافتها الى MyString


RE: كيف يمكن نقل النص من ويب برورس الى ليست فيو - justnick - 17-12-2017

هل حاولت؟
لو ممكن بعد اذنك ترفق محاولاتك


RE: كيف يمكن نقل النص من ويب برورس الى ليست فيو - محمودد - 17-12-2017

function Parser(Buffer,Start,FinishConfusedtring)Confusedtring;
var PosStart, PosFinish:Integer;
begin
PosStart:=Pos(Start, Buffer)+ Length(Start);
PosFinish:=Posex(Finish, Buffer,PosStart);
Result := Copy(Buffer, PosStart, PosFinish - PosStart);
end;

function GetHTML2(WebBrowser:TWebBrowser)Confusedtring;
begin
Result:=(WebBrowser.Document AS IHTMLDocument3).documentElement.outerHTML;
end;

حاولت استخدام فانكشن

procedure TForm3.WebBrowser1DocumentComplete(ASender: TObject;
const pDisp: IDispatch; const URL: OleVariant);
var
s,textConfusedtring;
item:TListItem;
begin
text:=GetHTML2(Webbrowser1);
s:=text;
item:=ListView1.Items.Add;
item.Caption:=Parser(s,'"','"');
end;


RE: كيف يمكن نقل النص من ويب برورس الى ليست فيو - justnick - 18-12-2017

جرب هذا الكود سوف يخرج لك الText بعد فتح الصفحة "Documenet.body.innerText"

PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
begin
 WebBrowser1
.Navigate('https://www.google.com.eg/');
end;

procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject;
 
 const pDisp: IDispatch; const URL: OleVariant);
 
 var
   
// You Should add  mshtml to uses
 
  Documenet : IHtmlDocument2;
 
 begin
  Documenet 
:= WebBrowser1.Document as IHTMLDocument2;
 
 ShowMessage(Trim(Documenet.body.innerText));
end; 



RE: كيف يمكن نقل النص من ويب برورس الى ليست فيو - محمودد - 18-12-2017

شكرا استفسار بسيط
لماذا قمت بي اضافة هذا السطر
ListView1.BeginUpdate;


RE: كيف يمكن نقل النص من ويب برورس الى ليست فيو - justnick - 18-12-2017

حسب وثائق الDelphi
من اجل الحصول على افضل اداء "To achieve the best performance use BeginUpdate and EndUpdate"


RE: كيف يمكن نقل النص من ويب برورس الى ليست فيو - Houdini - 18-12-2017

الدلفي ضعيف في هته الامور ، عليك ب python او node.js احسن بطثير