خواهش می کنم دوست من
آزه الان دیدم نمیدونم چرا بینشون فاصله افتاده بود .
ایندکس ";"">"
{
چون String Dollar ما اینجا این کد رو پیدا می کنه و تنها عدد رو نمایش نمیده یعنی :
Dollar =
US Dollar</span></td><td><span style="color: #666666;">3380
در اینجا چون بعد از کد رنگ ، عدد مورد نظر قرار داره DStart رو 7 + کردیم تا عدد مورد نظر رو هم در بر بگیره
چون گفتم شاید یه وقتی در سورس سایت تغییری پیدا کنه : مثال
color: #666666; تغییر کنه به color: #45768; یک عدد کم یا زیاد بشه که اگه بصورت دستی index = 55 میدایم یک حرف یا عدد قبل ار عددمون می دیدیم مثال : 3420< با این کار DSub مون .LastIndexOf(";"">" رو برامون پیدا میکنه
در این صورت کد رو به صورت زیر بنویسید که هم فروش هم خرید رو نمایش می ده :
Dim htmlText, GetOnlyDollarForoosh, GetOnlyDollarKharid As String
'Get Website Source Code'
Dim request As HttpWebRequest = HttpWebRequest.Create("http://www.bonbast.com/")
Dim response As WebResponse = request.GetResponse()
Dim stream As Stream = response.GetResponseStream()
Dim reader As StreamReader = New StreamReader(stream)
htmlText = reader.ReadToEnd()
'Find Dollar'
Dim DStart As Integer = htmlText.IndexOf("US Dollar")
Dim DEnd As Integer = htmlText.IndexOf("class=""separator", DStart)
Dim Dollar As String = htmlText.Substring(DStart, DEnd - DStart + 7)
'Get Only Dollar'
Dim DollarString As String = Dollar
'Foroosh Dollar
Dim DollarForooshStart As Integer = DollarString.IndexOf(";"">")
Dim A As String = DollarString.Substring(DollarForooshStart, 7)
GetOnlyDollarForoosh = A.Remove(0, 3)
'Kharid Dollar'
Dim DollarKharidStart As Integer = DollarString.LastIndexOf("</span></td><td><span") - 7
Dim D As String = DollarString.Substring(DollarKharidStart, 7)
GetOnlyDollarKharid = D.Remove(0, 3)
MessageBox.Show("قیمت فروش : " & GetOnlyDollarForoosh & vbNewLine & "قیمت خرید : " & GetOnlyDollarKharid)
این سایت کمی مشکل بود . ولی سایت های دیگه راحت ترن .
Dim MyText As String = "<12345555555435>jjjj<><class=""name"">my user name is saidjan.""</class=""name""></12345555555435></jjjj>"
Dim Starts As Integer = MyText.IndexOf("<class=""name"">")
Dim Ends As Integer = MyText.IndexOf("</class=""name"">", Starts) - 1
Dim D As String = MyText.Substring(Starts, Ends - Starts).Remove(0, 14)
MessageBox.Show(D)
در مورد این که آدرس سایت تغییر کنه اطلاعی ندارم .
}