Иллюстрированный самоучитель по VB.NET


Сетевые потоки - часть 3


End Sub

Public Readonly

Property GetRank() As Integer

Get Return ScrapeAmazon()

End Get End Property

Private Function ScrapeAmazon() As Integer Try

Dim theURL As New URI(m_URL)

Dim theRequest As WebRequest

theRequest = WebRequest.Create(theURL)

Dim theResponse As WebResponse

theResponse = theRequest.GetResponse

DimaReaderAsNew

StreamReader(theResponse.GetResponseStream())

Dim theData As String

theData = aReader.ReadToEnd

Return Analyze(theData) Catch E As Exception

Console.WriteLine(E.StackTrace)

Console. ReadLine()

End Try

End Function

Private Function Analyze(ByVal theData As String) As Integer

Dim Location As Integer

Location = theData.IndexOf("<b>Amazon.com Sales Rank:</b>") + "<b>Amazon.com

Sales Rank:</b>".Length Dim temp As String

Do Until theData.Substring(Location.l) = "<" temp - temp

&theData.Substring(Location,l) Location += 1 Loop

Return CInt(temp)

End Function

End Class

Пример этой программы наглядно показывает, какие неуловимые проблемы порой возникают в результате локализации. Когда наш друг запустил эту программу в Европе, она отказалась работать. Оказалось, что на сайте Amazon по вполне понятным причинам используется американский числовой формат, а программа запускалась в европейской версии Windows, в результате чего символ «,» интерпретировался неверно. Разумеется, проблема легко решается — достаточно, чтобы функция возвращала значение строкового типа.

 




- Начало -  - Назад -  - Вперед -



Книжный магазин