• Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом


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

    Сетевые потоки

    Остается лишь проанализировать переменную theData и извлечь из нее данные о продажах. Для этого мы воспользуемся вспомогательной функцией Analyze:

    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
    StheData.Substring(Location.l)
    Location += 1
    Loop
    Return CInt(temp)
    End Function
    

    Примечание
    Для анализа строковой переменной также можно воспользоваться классом регулярных выражений из пространства имен System.Text
    .

    Ниже приведен полный код тестового модуля (разумеется, для тестирования вам также понадобится Интернет-соединение):

    Option Strict On Imports System.IO Imports System.Net
    Module Module1
    Sub Main()
    Dim myBook As New AmazonRanker("1893115992")
    MsgBox("This book's current rank is " & myBook.GetRank)
    End Sub
    End Module
    Public Class AmazonRanker
    Private m_URL As String
    Private m_Rank As Integer
    Public Sub New(ByVal ISBN As String)
    m_URL = "http://www.amazon.com/exec/obidos/ASIN/" & ISBN
    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, в результате чего символ "," интерпретировался неверно. Разумеется, проблема легко решается – достаточно, чтобы функция возвращала значение строкового типа
    .

    Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.