نمایش نتایج 1 تا 16 از 16

نام تاپیک: کار با آبجکتهای صفحه وب فراخوانی شده

  1. #1

    Wink کار با آبجکتهای صفحه وب فراخوانی شده

    سلام
    من می خوام بدونم آیا میشه صفحه وبی که با webbrowser فراخوانی کردم با آبجکت هاش کار کنم؟
    مثلاً کنترل کرسر رو ببرم رو یه ادیت ؟
    و اینکه Title صفحه رو لازم دارم برای اینکه تشخیص بدم کدوم صفحه هستم الان ؟
    برای این title اگه راه بهتری سراغ دارین بهم بگین!

    ممنون

  2. #2

    نقل قول: کار با آبجکتهای صفحه وب فراخوانی شده

    آره میشه اگر بگردی علی کشاورز اگر اشتباه نکنم یکدفعه نحوه کار با اینترفیس HTML مایکروسافت رو قشنگ توضیح داده بود

  3. #3

    نقل قول: کار با آبجکتهای صفحه وب فراخوانی شده

    خیلی گشتم دوست عزیز ولی پیدا نمی کنم؟
    شاید کلمه کلیدی هام برای جستجو صحیح نباشه!
    کاش علی کشاورز میومد راهنمایی می کرد!

  4. #4

    نقل قول: کار با آبجکتهای صفحه وب فراخوانی شده

    دوستان اگه واقعاً چنین چیزی موجود هست در سایت لطفاً کمک کنید پیداش کنیم
    چون من دیگه همه مدل جستجویی انجام دادم!
    در ضمن این مسئله رو واقعاً لازم دارم!

  5. #5

    نقل قول: کار با آبجکتهای صفحه وب فراخوانی شده

    ببین برو توی Project/Import Type Library بعد Microsoft HTML OBJECT LIBRARY رو انتخاب کن. بعد که ایمپورتش کردی TLBش رو توی USES ها استفاده کن بعد:

    var
    ADomDoc:IHTMLDocument2;
    begin
    ADomDoc:= WebBrowser.Document as IHTMLDocument2;


    حالا این DOC یک HTMLDocument کامل هست با همه اجزای موجود داخاش که میتونی باهاش کار کنی

  6. #6

    نقل قول: کار با آبجکتهای صفحه وب فراخوانی شده

    دستورات زیادی برای کنترل و کار کردن با این Document هست من کلی جستجو کردم تو سایتهای خارجی
    و چیزای زیادی پیدا کردم!
    ولی متاسفانه اکثر کدها کدهایی هستند که با Ctrl+Space نمایش داده نمی شوند و باید خودمون بنویسیم!
    ولی در کل تجربه جالبی به دست آوردم مثلاً برای Title صفحه وب از این کد میشه استفاده کرد!
    Label1.caption := WebBrowser. OleObject. Document. Title


    ممنون از راهنمایی هاتون!

  7. #7

    نقل قول: کار با آبجکتهای صفحه وب فراخوانی شده

    ولی متاسفانه اکثر کدها کدهایی هستند که با Ctrl+Space نمایش داده نمی شوند و باید خودمون بنویسیم!
    اگر از اون روشی که ghabil گفت، استفاده کنید، Code Insight دلفی هم کار میکنه. اون روشی که Code Insight کار نمیکنه موقعی هست که به جای Import کردن Type Library، از Variant استفاده بشه، که نتیجه اش میشه Late binding.

    در هر حال، درباره همه خصوصیات و متدهای IHTMLDocument2 در MSDN توضیح داده شده.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  8. #8
    سلام زمانی که مثلا title را می گیرم فارسی ها را با علامت ؟؟؟؟ می نویسه چیکارکنم تا بصورت utf-8 و فارسی درست نمایش بده

    سلام
    lable را هم فونتش را روی Arabic قرار دادم ولی نشد

    با سلام
    لطفا اگر کسی جواب را می دونه پاسخ بده ممنون

  9. #9

    نقل قول: کار با آبجکتهای صفحه وب فراخوانی شده

    سلام زمانی که مثلا title را می گیرم فارسی ها را با علامت ؟؟؟؟ می نویسه چیکارکنم تا بصورت utf-8 و فارسی درست نمایش بده
    چه نسخه ایی از دلفی؟ چه کدی نوشتید؟


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  10. #10

    نقل قول: کار با آبجکتهای صفحه وب فراخوانی شده

    نسخه 7
    بعد از اینکه در webbrowserسایت را لود کردم
    var
    ADomDoc:IHTMLDocument2;
    begin
    ADomDoc:= WebBrowser.Document as IHTMLDocument2;وبعد
    Label1.caption := WebBrowser. OleObject. Document. Titleکه نهایتا چون فارسی title بود بصورت ??????? نوشته شده است (unicode مثل اینکه این دستورات جواب نمی ده)
    باید چطور بنویسم تا بتونم هم سورس فایل و هم اجزای آن را بدست بیارم
    البته تو اینترنت خیلی جستجو کردم و یک سورس هم پیدا کردم که unicode ذخیره می کند ولی زمانی که در یک meno نمایش می دهد کلمات فارسی نامفهوم هست

  11. #11

    نقل قول: کار با آبجکتهای صفحه وب فراخوانی شده

    Label1.caption := WebBrowser. OleObject. Document. Titleکه نهایتا چون فارسی title بود بصورت ??????? نوشته شده است
    به خاطر اینکه Title یونیکد هست، ولی Label1.Caption یونیکد نیست. شما یک متغیر از نوع WideString تعریف کنید، و مقدار Title رو در اون بریزید. برای نمایش مقدار هم یا باید از کامپوننت های یونیکد مثل TNT استفاده کنید که یونیکد را پشتیبانی می کنند، یا متن یونیکد به دست آمده را به ANSI تبدیل کنید، و سپس در Label نمایش بدید. البته در صورت تبدیل به ANSI هم باید حتما CodePage فعال در سیستم تان فارسی باشه، تا درست نمایش داده بشه، وگرنه درست نشان داده نمیشه. پس یا از TNT Components برای نمایش استفاده کنید، یا برید سراغ دلفی 2009 یا 2010 که از یونیکد پشتیبانی می کنند.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  12. #12

    نقل قول: کار با آبجکتهای صفحه وب فراخوانی شده

    ممنون از جوابتون
    امتحان می کنم ببینم چی میشه

  13. #13

    نقل قول: کار با آبجکتهای صفحه وب فراخوانی شده

    از TNT استفاده کردم جواب داد واقعا ممنون

  14. #14

    نقل قول: کار با آبجکتهای صفحه وب فراخوانی شده

    سلام
    ببخشید از اینکه دوباره سئوال میکنم
    در فرمها پیداکردن object ها کاری نداره و میشه با یک حلقه این کار را کرد
    سئوال من اینکه چطور میشه در یک صفحه html ی content داخل صفحه در meta ها را گرفت مثلا
    <meta name="description" content="****"  

    آیا دستوری هست که بشه content را در آورد

    از کد پایین استفاده کردم جواب نمی ده
    procedure TForm1.Button3Click(Sender: TObject);
    var
    All: IHTMLElementCollection;
    Element: IHTMLElement;
    Meta: IHTMLMetaElement;
    I: Integer;
    begin
    All := (WebBrowser.Document as IHTMLDocument2).All;
    for I := 0 to All.Length-1 do
    begin
    Element := All.item(I, varEmpty) as IHTMLElement;
    if (Element <> nil) and (Element.Tagname='meta') then
    begin
    Meta := Element as IHTMLMetaElement;
    TntMemo1.Lines.Add(Meta.httpEquiv);
    if (Meta.httpEquiv = 'Keywords') then begin
    TntMemo1.Lines.Add(Meta.content);
    end else if (Meta.httpEquiv = 'Description') then begin
    TntMemo1.Lines.Add(Meta.content);
    end;
    end;
    end;
    end;

  15. #15

    نقل قول: کار با آبجکتهای صفحه وب فراخوانی شده

    چرا کد بالا جواب نمی دهد؟
    آیا کد بهتری می توانیم استفاده کنیم یا خیر؟

  16. #16

    نقل قول: کار با آبجکتهای صفحه وب فراخوانی شده

    حل شد خداحافظ

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •