الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف احصل على كلمة في صفحة انترنت ؟

بدأه Delphawi في 3 يناير 2009 · 2 رد · 722 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

السلام عليكم اخواني الكرام ورحمة الله تعالى وبركاته ...

كيف يمكنني أن أحصل على كلمة ما في صفحة انترنت ؟

الفكرة هي , تظهر كلمة في صفحة انترنت خلال فترة غير منتظمة

أريد في وقت معين , أني أشغل Timer يتأكد من وجود هذه الكلمة

وإن وجدها يبدأ بتنفيذ أوامر معينة

مثلاً , الكلمة هي "بحث" في صفحة www.google.com

ما هي الطرق الممكنة للحصول على الكلمة ؟

وجزاكم الله خيراً ...

اقتباس
If A is success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut

Albert Einstein

مدخل إلى برمجة وتصميم الألعاب : كيف أبدأ ؟

#2

اخى Delphawi ربما ينفع هذا .

  1.  
  2. var
  3. HTMLStr1,HtmlStr2,SearchStr,ReplaceStr:string;
  4. begin
  5. HTMLStr1:='';
  6. SearchStr:=Edit2.Text;
  7. ReplaceStr:='<h5><font color="red">'+SearchStr+'</font></h5>';
  8. HTMLStr1:= WebBrowser1.OleObject.Document.Body.InnerHTML;
  9. HTMLStr2 := StringReplace(HTMLStr1,SearchStr,ReplaceStr, [rfReplaceAll, rfIgnoreCase]);
  10. If Not( HTMLStr2 <> HTMLStr1 ) Then ShowMessage (SearchStr+'--> Non Trouver!')
  11. else
  12. begin
  13. WebBrowser1.OleObject.Document.Body.InnerHTML:=HTMLStr2;
  14. Showmessage(SearchStr+'-->Trouver');
  15. end;
  16.  
  17.  

تم تعديل هذه المشاركة بواسطة hanitaieb في 4 يناير 2009 في 01:36

#3

السلام عليكم...

أضف الوحدة MSHTML إلى عبارة uses في القسم interface ثم استعمل إحدى الدالتين التاليتين للحصول على نص الـ Body كنص عادي أو كنص HTML

  1. function GetBodyText(ADocument: IDispatch): WideString;
  2. var
  3. Doc: IHTMLDocument2;
  4. begin
  5. Result := '';
  6. Doc := ADocument as IHTMLDocument2;
  7. if Assigned(Doc) then
  8. Result := Doc.body.innerText;
  9. end;
  10.  
  11. function GetBodyHTML(ADocument: IDispatch): WideString;
  12. var
  13. Doc: IHTMLDocument2;
  14. begin
  15. Result := '';
  16. Doc := ADocument as IHTMLDocument2;
  17. if Assigned(Doc) then
  18. Result := Doc.body.innerHTML;
  19. end;
  20.  

ثم استدعي أياً من الدالتين كما في المثال التالي:

  1. Memo1.Text := GetBodyText(WebBrowser1.Document);
  2. // أو
  3. MyStr := GetBodyHTML(WebBrowser1.Document);
  4.  

بعد الحصول على نص كامل المستند (Document body) يمكنك استعمال دوال Delphi للبحث عن النص الذي تريده.

نرجو الاستفادة و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

مواضيع مشابهة