עבור לתוכן

חדש בVB. איך להשיג title של אתר?

Featured Replies

פורסם

ניסיתי מלא צורות של

Dim Googleurl As New Uri("[url]http://www.google.co.il/"[/url])
Dim Google As New WebBrowser
Google.Url = (Googleurl)
Google.Refresh()
MsgBox(Google.Url)

אבל זה מחזיר דבר ריק...מה הטעות שלי?

[.net]

פורסם

אם אתה חדש ב-VB, עשה לעצמך טובה - תלמד #C במקום.

לשאלתך: קודם כל, השדה שאתה רוצה לגשת אליו בשביל לראות את הכותרת הוא DocumentTitle ולא Url.

למיטב הבנתי, אובייקט ה-WebBrowser פועל בצורה א-סינכרונית. כלומר, הפונקציות שלו (כגון Navigate ו-Refresh) מתבצעות ברקע, בת'רד נפרד. בשביל לדעת מתי הן מסתיימות, אתה צריך להשתמש ב-events שהאובייקט מספק לך. במקרה שלך, אתה רוצה להשתמש ב-DocumentTitleChanged.

http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.documenttitlechanged.aspx

דוגמה קצת יותר מלאה (לא הכל רלוונטי כמובן):

http://msdn.microsoft.com/en-us/library/3s8ys666.aspx

פורסם
  • מחבר

אני באמצע ללמוד C# רק שיש איזה משהו שאני רוצה לעשות כדי להשתמש בו, לא רק כדי ללמוד.

אני מנסה להבין שם לאן זה לוקח אותי אבל זה כנראה לא מה שאני מתכוון.

אתה יכול לתת לי דוגמא לקוד שאתה פשוט נותן לו כתובת אינטרנט והוא מחזיר לך את ה title של הhtml שלו?

יש שם יותר מדי כלי רשת אני לא מבין באיזה מהם אני צריך להתשמש ולמה

פורסם

מה שמעניין אותך זה שני קטעי הקוד הבאים:

    webBrowser1.DocumentTitleChanged +=
new EventHandler(webBrowser1_DocumentTitleChanged);

  private void webBrowser1_DocumentTitleChanged(object sender, EventArgs e)
{
this.Text = webBrowser1.DocumentTitle;
}

החלק הראשון רושם את הפונקציה webBrowser1_DocumentTitleChanged לאירוע המתאים ב-WebBrowser (כלומר, כאשר הכותרת של הדף תשתנה הפונקציה הזו תיקרא). כדאי לעשות את הרישום הזה אחרי שאתה יוצר את ה-WebBrowser ולפני שאתה משתמש בו.

החלק השני הוא הפונקציה עצמה, שלוקחת את הכותרת של הדף ושמה אותו ב-this.Text (אתה יכול לעשות איתו כל דבר אחר, כמובן).

פורסם
  • מחבר

לפי מה שהבנתי וובראוזר1 ממש מפעיל דפדפן אני רק רוצה להשוות טייטל למשהו.

הצלחתי להוריד תקוד מקור השלם של האתר ולחפש בו את מה שאני צריך. מבחינת יעילות אם אני מוריד קוד מקור אני גם מוריד את כל התמונות שיש בו?

בכל מקרה עוד כמה שאלות. איזה פקודה נותנת לי הפסקה של כמה שניות בתוך לולאה בצורה יעילה?

איזה פקודות נותנות התראות מהשורת משימות למטה?

ועוד שאלה על יעילות, הרבה האנדלים של מצבים מאוד מכבידים? כי לתוכנה של 100 קילו לוקח שנה לעלות.

פורסם

הצלחתי להוריד תקוד מקור השלם של האתר ולחפש בו את מה שאני צריך. מבחינת יעילות אם אני מוריד קוד מקור אני גם מוריד את כל התמונות שיש בו?

לא, התמונות הן לינקים נפרדים.

בכל מקרה עוד כמה שאלות. איזה פקודה נותנת לי הפסקה של כמה שניות בתוך לולאה בצורה יעילה?

Thread.Sleep

איזה פקודות נותנות התראות מהשורת משימות למטה?

אם הבנתי אותך נכון, אז הקלאס הזה:

http://msdn.microsoft.com/en-us/library/system.windows.forms.notifyicon.aspx

ועוד שאלה על יעילות, הרבה האנדלים של מצבים מאוד מכבידים? כי לתוכנה של 100 קילו לוקח שנה לעלות.

מה זה "האנדלים של מצבים"?

פורסם
  • מחבר

לחיצה על. זה איבוד פוקוס לחיצה כפולה וכאלה. פשוט זה מוזר לי שזה איטי. תודה בינתיים. אני אקרא יותר מאוחר )מהפלא כרגע...(

עוד משהו קטן, כשאני עושה לו סליפ הוא לא טוען את הפורם עד סוף הסליפ. אני בסאב של פורם לואד. למה זה?

פורסם

בדיוק בגלל מה שאמרת, אתה גורם לת'רד לישון באמצע הטעינה של הטופס. אם תסביר מה אתה רוצה לעשות אז אולי יהיה קצת יותר ברור איך לפתור את הבעיה.

פורסם
  • מחבר

טוב אז מההתחלה:

אני מנסה לבנות תוכנה שתגיד אם אני מחובר על אינטרנט רימון ובאיזה דרגה. כולל התראות בבלון

עד עכשיו הצלחתי לעשות פורם שמציג את האם יש חיבור בכללי , והאם יש חיבור לאתרים מסויימים (למרות שבאחד האתרים היותר 18+ הוא לפעמים מחזיר שגיאה401 והתוכנה קורסת.)

זה לא עובד עם פינג עם זה קצת הסתבכתי.

עכשיו יש גם נוטיפיקיישן אייקון שמציג את התוכנה כשלוחצים עליו (משום מה צריך ללחוץ פעמיים כשמוגר רק מאוסקליק) וגם עושה לה רילואד.

אני רוצה שהתוכנה תבדוק כל 15 שניות אם החיבור הופסק וכל דקה אם הרימון השתנה וגם תתריע על זה. (בלי להעמיס)

זה נראה כאילו חסר לי משהו בסיסי ופשוט...

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים