Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






    Листинг 2.76. Выделение элемента текста

    Function dhGetTextItem(ByVal strTextIn As String, intItem As _

    Integer, strSeparator As String) As String

    Dim intStart As Integer ' Позиция начала текущего элемента

    Dim intEnd As Integer ' Позиция конца текущего элемента

    Dim i As Integer ' Номер текущего элемента

     

    ' Проверка корректности номера элемента

    If intItem < 1 Then Exit Function

     

    ' Убираются лишние пробелы, если разделитель - пробел

    If strSeparator = " " Then strTextIn = Application.Trim(strTextIn)

    ' Разделитель добавляется в конец строки

    If Right(strTextIn, Len(strTextIn)) < > strSeparator Then _

    strTextIn = strTextIn & strSeparator

     

    ' Поиск всех элементов в строке до нужного

    For i = 1 To intItem

    ' Начало элемента (перемещение вперед по строке)

    intStart = intEnd + 1

    ' Конец элемента

    intEnd = InStr(intStart, strTextIn, strSeparator)

     

    If (intEnd = 0) Then

    ' Дошли до конца строки, но элемент не нашли

    Exit Function

    End If

    Next i

    ' Выделение текста из входной строки

    dhGetTextItem = Mid(strTextIn, intStart, intEnd - intStart)

    End Function

    Генератор случайных чисел

    Листинг 2.77. Функция dhGetRandomValues

    Function dhGetRandomValues() As Variant

    Dim intRow As Integer ' Номер текущей строки

    Dim intCol As Integer ' Номер текущего столбца

    Dim aintOut() As Integer ' Выходной массив (двумерный)

    Dim aintValues() As Integer ' Массив с возможными значениями

    Dim intMax As Integer ' Последний доступный элемент массива _

    aintValues

    Dim i As Integer

     

    ReDim aintOut(1 To Application.Caller.Rows.Count, 1 To _

    Application.Caller.Columns.Count)

    ' Всего нужно чисел...

    intMax = Application.Caller.Rows.Count * _

    Application.Caller.Columns.Count

    ReDim aintValues(1 To intMax)

    ' Заполнение массива aintValues значениями от 1 до intMax

    For i = 1 To intMax

    aintValues(i) = i

    Next i

     

    ' Занесение значений в выходной массив aintOut, в произвольном _

    порядке выбирая их из aintValues

    Randomize

    For intRow = 1 To Application.Caller.Rows.Count

    For intCol = 1 To Application.Caller.Columns.Count

    ' Определение номера элемента из aintValues

    i = Rnd * intMax

    If i = 0 Then i = 1

    ' Занесение этого элемента в выходной массив

    aintOut(intRow, intCol) = aintValues(i)

     

    ' Уменьшение массива aintValues (то есть еще один его _

    элемент выбран) - замена выбранного элемента последним _

    в массиве

    aintValues(i) = aintValues(intMax)

    intMax = intMax - 1

    Next intCol

    Next intRow

    ' Возвращение массива значений

    dhGetRandomValues = aintOut

    End Function






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.