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

عن طريق الدلفي اريد ربطها مع ملف html

مغلق
بدأه essam7 في 23 أكتوبر 2005 · 9 رد · 1,048 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مرحبا شباب ياريت تساعدوني بهالامر وهو سهل بتوقع

عندي ملف html به زر اريد عن طريق الدلفي ان أضغط هذا الزر

هذا كل ماااااا اريده

#2

اعتقد عن طريق TWebBrowser تستطيع عمل ما تريد ..

سوف تجد كثير من الأكواد تخص هذا الأمر في الرابط

http://swiss.torry.net/en/internet.php?sort=&start=0

وإذا اردت الإستزادة إرجع الى الmsdn من microsoft ..

سوف أبحث لك بالضبط عن ما تريد بإذن الله اليوم في المساء ..

وعفواً على التأخير

#3

شكرا جزيلا لك أخي الكريم سأدخل الرابط الان

#4

هذا الكود يقوم بملء إسم المستخدم وكلمة المرور والضغط على الزر save ..

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;const pDisp: IDispatch; var URL: OleVariant); 
var iDoc: IHtmlDocument2; 
  i: integer; 
  ov: OleVariant; 
  iDisp: IDispatch; 
  iColl: IHTMLElementCollection; 
  iInputElement: IHTMLInputElement; 

begin 

  WebBrowser1.ControlInterface.Document. QueryInterface(IHtmlDocument2, iDoc); 
  if not assigned(iDoc) then begin 
    ShowMessage(' !!!??? Aucun chargement ... '); 
    Exit; 
  end; 
  ov := 'INPUT'; 
  IDisp := iDoc.all.tags(ov); 
  if assigned(IDisp) then begin 
    IDisp.QueryInterface(IHTMLElementCollection, iColl); 
    if assigned(iColl) then begin 
      for i := 1 to iColl.Get_length do begin 
        iDisp := iColl.item(pred(i), 0); 
        iDisp.QueryInterface(IHTMLInputElement, iInputElement); 
        if assigned(iInputElement) then begin 
          if iInputElement.Get_name = 'login' 
           // Champ de saisie d'un login ,nommé login en javascript 
          then iInputElement.Set_value('toto'); 
          if iInputElement.Get_name = 'passwd' 
            // Champ de saisie d'un pass ,nommé passwd en javascript 
          then iInputElement.Set_value('1234567890'); 
            //Déclenchement d'un bouton nommé save qui balance un submit 
          if iInputElement.Get_name = '.save' 
            then iInputElement.Get_form.submit; 
            
            //  Envoie le titre de la page courante dans la barre de titre 
            Caption := Webbrowser1.OleObject.Document.Title 
        end; 
      end; 
    end; 
  end; 
end;
#5

كتبت رد طويل وعلق الجهاز وما نزلته على كل:

شكرا جزيلا على الرد (وان لم يكن طلبي لكنه جميل جدا ) فانا لا استخدم الوب براوزر وبالتالي الكود لم يعمل لانك نسيت اضافة الوحدة mshtml

وانا دورت لحتى لقيت webbrouser.navigate(url) لحتى حط العنوان لكن لو بتطول بالك علي شوي!!

فتحت الهوتميل والياهو وكتب اليوزر والبسورد بس ما ضغط الزر وتتبعت بـf4 ووجدت أنه لا يصل الى السطر :

then iInputElement.Get_form.submit;

الان تكونت الفكرة لدي وسؤالي:

مثلا لو تاملت السطر :

if iInputElement.Get_name = 'passwd'

كيف حدد البرنامج ان يكون الكومبوننت الذي يدخل به الباسورد اسمه passwd

اكرر انا لم اتعامل ابدا مع النت في الدلفي

ما كنت اريده عند طرحي السؤال اول مرة هو انك لو كتبت بالجوجل :

inurl:XcCDONTS.asp

لوجدت الصفحات التي ترسل ميلات مزيفة والتي تستعمل حصرا هذا السكربت ان جاز التعبير

وانا اريد طريقة لاغراق الميلات (طبعا لدي برنامج مع سورس يقوم بذلك مع دعم المرفقات هو للارسال لكن استطيع اضافة حلقة فور ليصبح للاغراق) لكن كما تعلم عن طريق البرامج ابطأ بكثير من عن طريق النت وهذا السكربت او المواقع التي حصلت عليها من جوجل لا تسمح بارسال اكثر من ميل لنقس الميل اما ان اردت ارسال الميل لاكثر من شخص فيجوز (مع اني اعرف موقعا به خدمة لارسال ميل منه وعنوان الموضوع "أنصحك بزيارة هذا الموقع" فلا أستطيع تغييره وهو يرسل ل 15 شخص على الاكثر فعدلت الكود ليرسل لالف لكن الصفحة تصبح طويلة لان الميل يجب كتابته في ادت بوكس فيصدر الف ايدت بوكس _طبعا انا اكتب الميل بالسورس مرة واحدة_)

لتكن الصفحة هي:

http://www.americancycling.org/XcClassifie...in/XcCDONTS.asp

كيف بالدلفي استطيع التعرف على الايديتات ثم ضغط الزر ثم ريفريش ثم _بعدد محدد من المرات_

أعلم انك ستقول شو هالفكرة اللعينة بس أنا صدقا اعتبره سلاح أستعمله عند الضرورة

وكما أسلفت في برنامج معي والموقع _وعلى فكرة عن طريقه أغرقت 45 ميغا في 10 دقائق مع ان اتصالي ديال اب والسرعة العملية لا تتجاوز 20 كيلو بت بالدقيقة

أرجو مساعدتي ولك كل الشكر

#6

ضعت السطر التالي لاعرف اسم كل ايدت او بالاحرى لاعرف اسم كل كمبوننت:

if assigned(iInputElement) then begin
         Memo1.Lines.Add(iInputElement.Get_name);//my comment to know what is name of this component
         if iInputElement.Get_name = 'login'

السطر الوسطي هو ما اضفته

ووجدت ان زر الدخول للنت هو .persistent في الياهو فقط دون الهوتميل

الان سارى اسماء الكمبوننت في الموقع المطلوب

#7

بالنسبة للصفحة

http://www.americancycling.org/XcClassifie...in/XcCDONTS.asp

وجدت فقط FROM TO SUBJECT وتتحسس للاحرف

أين البودي والسبمت ؟؟؟

أتوقع المشكلة من ov := 'INPUT';

ربما يجب تكون تكست اريا قرأت في الام اس دي ان عنها بعض الشيء لكن لم أستوعب الموضوع تماما

أرجو المساعدة

#8

أخي تريد كتابة برنامج إغراق ؟ :angry:

d4baa0.gif
#9

معصب عن جد والا مزح!!!!!!

أنا قلت عندي البرنامج وقلت عندي موقع يرسل أكثر من رسالة واليوم اكتشفت ان بالتش تي ام ال يوجد input type=hidden

أي لا داعي لتصبح الصفحة طويلة اي أستطيع الارسال 1000 رسالة بكل سهولة وراح حاول أو بالاحرى وضعتها 1000000 لكن لم تستجب الصفحة أو ربما أنا استعجلتها فتوليد 100000 انبوت يأخذ وقت فيكفيني 10000

أنا أريد التعلم والله

وأنا عندي ايميلات لفنانين جايه على بالي أغرقها مو مشان أضايقهم وانما حتى لا يراسلهم أحد لان ايميلهم مغلق ولو ساعة

#10
اقتباس
وأنا عندي ايميلات لفنانين جايه على بالي أغرقها مو مشان أضايقهم وانما حتى لا يراسلهم أحد لان ايميلهم مغلق ولو ساعة

عمل كهذا مرفوض تماما في الموقع , الموقع والمنتدى يحق للأعضاء بالإدلاء فيه بما يريدون , لكن في حدود عدم إيذاء الآخرين , وقوانين المنتدى والموقع واضحة ولاتسمح بذلك ,,

راجع قواعد طرح المشاركات رجاء :

/index.php?showtopic=29343

banner_60_468.gif

NOTHING IS IMPOSSIBLE

هذا الموضوع مغلق.

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