Вверх ↑
Пакеты 
HiAsm4
Windows 
Компоненты 
Cтpoки 
Поиск - Position

Position
Краткое описание
   Компонент предназначен для поиска позиции вхождения одной строки в другую.
Параметры
  • Target - Содержит строку по-умолчанию, позицию вхождения которой необходимо найти
  • StartPos - Содержит начальную позицию поиска по умолчанию
  • ZeroPos - True - событие onSearch происходит, если строка не найдена. False - событие onSearch не происходит, если строка не найдена
  • ShortSearch - Указывает на циклический поиск всех вхождений строки Target в строку Str (т.е., при каждом следующем поиске, вхождение ищется не со StartPos, а с Position).
  • Методы
  • doSearch - Производит поиск строки Target в троке Str, начиная с позиции StartPos, и выдаёт в поток позицию найденной строки
  • doReset - Сбрасывает внутреннюю позицию поиска при ShortSearch=True
  • События
  • onSearch - Событие происходит всякий раз при завершении поиска
  • Свойства
  • Position - Хранит позицию найденного вхождения строки Target в строке Str
  • Данные
  • Str - Определяет строку, в которой производится поиск
  • Target - Определяет строку, позицию вхождения которой необходимо найти
  • StartPos - Определяет начальную позицию поиска
  • Пример
    Пример использования компонента Position
    Add(MainForm,2953706,98,112)
    {
    Caption="Пример использования Position"
    }
    Add(Edit,12980779,154,112)
    {
    Left=140
    Top=45
    Width=130
    Text="HiAsm / Super / FPC"
    }
    Add(Button,517459,98,168)
    {
    Left=170
    Top=95
    link(onClick,1905380:doSearch,[])
    }
    Add(Position,1905380,154,168)
    {
    Target="/"
    link(onSearch,1634708:doText,[])
    link(Str,12980779:Text,[])
    }
    Add(Label,1634708,210,168)
    {
    Left=5
    Top=155
    Width=380
    Height=36
    Font=[MS Sans Serif,20,0,0,1]
    Caption="!"
    AutoSize=1
    Alignment=2
    }


    Замечания
       И так. Комбинируя значения св-тв компонента можно выделить два основных режима его работы:
    • ZeroPos = False, ShortSearch = False - в этом режиме компонент всегда будет искать вхождение подстроки в строку с начала и выдавать позицию вхождения в случае успешного поиска.
    • ZeroPos = True, ShortSearch = True - в этом режиме компонент ищет все вхождения подстроки и позволяет выполнить некоторые дейсвия после завершения поиска за счет выдачи в поток 0.
       Например, есть строка: "Мама мыла раму" и нам необходимо найти позицию всех подстрок вида: "м" (стоит напомнить, что подстрока может быть любой   длинны, а не только один символ). Тогда последовательно вызывая метод doSearch компонента на его выходе будут сформированы следующие числа: 1, 3, 6, 13. После этого дальнейшие вызовы метода при св-ве ZeroPos=False никакого события генерировать не будут, а при ZeroPos=True на выход сначало придет 0(конец поиска), а затем последовательность повторится снова.

    Обновление элемента: [svn]Position.pas[/svn]
    BB-code статьи для вставки
    Всего комментариев: 0
    (комментарии к статье еще не добавлены)
    Комментарий
    ...