Вверх ↑
Пакеты 
HiAsm4
Windows 
Компоненты 
Интерфейс 2 
Строковая таблица MT - MST_FindText

MST_FindText
Краткое описание
Клиентский модуль MTStrTbl для поиска или замены в таблице вхождений определенного текста
Параметры
  • SelectFind - True - выбирать строку таблицы с найденным текстом для метода doFindText, False - не выбирать
  • ReplaceFind - False - выбирать строку таблицы с найденным текстом для метода doFindText, True - замещать строку
  • FindText - Строка для поиска по-умолчанию
  • StartRow - Стартовая строка по-умолчанию
  • StartCol - Стартовый столбец по-умолчанию
  • ReplaceText - Строка для замены по-умолчанию
  • MSTControl - Управление элементом MTStrTbl
  • Методы
  • doFindText - Ищет (заменяет) вхождения текста в таблице (метод не чувствителен к регистру). Поиск ведется слева направо и сверху вниз до ближайшего вхождения
  • doFindNext - Обрабаытывает и передает параметры методу doFindText для поиска (замены) следующего вхождения текста
  • doEnsureVisible - Делает найденную строку видимой при SelectFind=True
  • doSetFocus - Устанавливает фокус на элементе
  • События
  • onFindText - Событие происходит всякий раз при выполнении метода doFindText. Если результат равен [-1][-1][''], то это означает, что искомая строка не найдена
  • Свойства
  • Select - Содержит выбранную строку, где строка - это набор MT-элементов со значениями каждой колонки и кортежем данных
  • Index - Содержит индекс выделенной строки
  • Count - Содержит количество строк в таблице
  • EndIdx - Содержит индекс последней строки в таблице
  • Данные
  • FindText - Строка для поиска
  • StartRow - Стартовая строка
  • StartCol - Стартовый столбец
  • ReplaceText - Строка для замены
  • Аргументы
  • doFindText - [FindText][StartRow][StartCol][ReplaceText (for ReplaceFind=True)]
  • onFindText - [Row][Col][FullTextInSubRow][Pos1] ... [PosN]
  • Select - [SubRow0][SubRow1] ... [SubRowN][Data1] ... [DataN]
  • Примеры
    Пример поиска текста в таблице
    Add(MainForm,3063237,126,224)
    {
    Width=398
    Height=309
    link(onCreate,1976442:doEnum,[])
    }
    Add(MTStrTbl,15043066,126,287)
    {
    Width=390
    Height=210
    Name="MTStrTbl"
    Columns=#3:Имя|7:Фамилия|8:Отчество|
    }
    Add(StrList,4383086,168,168)
    {
    Strings=#20:Иван;Иванов;Иванович|24:Андрей;Андреев;Андреевич|22:Иван;Андреев;Андреевич|22:Андрей;Иванов;Иванович|
    }
    Add(ArrayEnum,1976442,182,238)
    {
    link(onItem,16356153:doMT,[])
    link(Array,4383086:Array,[])
    }
    Add(MST_RowAction,15395190,280,231)
    {
    MSTControl="MTStrTbl"
    }
    Add(MT_String,16356153,231,231)
    {
    link(onResult,15395190:doRowAction,[])
    }
    Add(MST_FindText,10090767,378,434)
    {
    MSTControl="MTStrTbl"
    link(onFindText,7050031:doEvent1,[])
    }
    Add(Edit,5830599,196,350)
    {
    Top=210
    Width=135
    Text="Иван"
    link(onChange,15192790:doReset,[])
    }
    Add(Button,15619008,196,434)
    {
    Top=255
    Width=390
    TabOrder=-1
    Caption="Найти координаты слова"
    Point(doCaption)
    link(onClick,4099803:doAdd,[])
    }
    Add(Label,16292755,511,364)
    {
    Top=237
    Width=11
    Height=17
    Caption="X"
    }
    Add(Edit,5455477,511,406)
    {
    Left=50
    Top=235
    Width=20
    Text="0"
    DataType=2
    }
    Add(Label,13477812,553,364)
    {
    Left=40
    Top=237
    Width=11
    Height=17
    Caption="Y"
    }
    Add(Edit,11611152,532,448)
    {
    Left=15
    Top=235
    Width=20
    Text="0"
    DataType=2
    }
    Add(Edit,11182224,553,490)
    {
    Left=130
    Top=235
    Width=115
    Text="Иван"
    }
    Add(Label,10883221,595,364)
    {
    Left=75
    Top=236
    Width=52
    Height=17
    Caption="Значение"
    }
    Add(Label,10756163,511,322)
    {
    Left=140
    Top=212
    Width=85
    Height=17
    Caption="Начать поиск с:"
    }
    Add(Label,15408271,553,322)
    {
    Left=225
    Top=213
    Width=11
    Height=17
    Caption="X"
    }
    Add(Edit,11206526,294,378)
    {
    Left=235
    Top=210
    Width=20
    Text="0"
    }
    Add(Label,7014763,595,322)
    {
    Left=260
    Top=212
    Width=11
    Height=17
    Caption="Y"
    }
    Add(Edit,6116195,252,378)
    {
    Left=275
    Top=210
    Width=20
    Text="0"
    }
    Add(MT_AddData,4099803,245,434)
    {
    Count=3
    link(onAdd,6486558:doEvent,[])
    link(Data1,5830599:Text,[(251,419)(202,419)])
    link(Data2,6116195:Text,[])
    link(Data3,11206526:Text,[(265,422)(300,422)])
    }
    Add(MT_MultiData,8009833,455,441)
    {
    Count=3
    link(onData1,5455477:doText,[(499,447)(499,412)])
    link(onData2,11611152:doText,[])
    link(onData3,11182224:doText,[(495,461)(495,496)])
    }
    Add(PointHint,5981647,168,280)
    {
    Info=#39:Пример использования модуля MT_FindText|
    Transparent=0
    VAlign=0
    Width=505
    Height=312
    }
    Add(Switch,15192790,329,343)
    {
    DataOn=Integer(1)
    DataOff=Integer(0)
    Point(onOn)
    Point(State)
    Point(doOn)
    link(onOn,12889683:doData,[])
    }
    Add(Hub,7050031,420,434)
    {
    OutCount=3
    link(onEvent1,15192790:doOn,[(444,440)(444,336)(317,336)(317,363)])
    link(onEvent2,8009833:doSeparateMT,[])
    link(onEvent3,12688484:doOperation,[(444,454)(444,538)])
    }
    Add(DoData,12889683,378,350)
    {
    Data=String(Найти координаты следующего слова)
    link(onEventData,6883274:doWork1,[(421,356)(421,329)(186,329)])
    }
    Add(HubEx,6883274,182,427)
    {
    link(onEvent,15619008:doCaption,[])
    }
    Add(Math,12688484,511,532)
    {
    link(onResult,11446088:doCase,[])
    link(Op1,5455477:Text,[])
    link(Op2,11611152:Text,[(524,506)(538,506)])
    }
    Add(Case,11446088,560,532)
    {
    Value=Integer(-2)
    DataOnTrue=String(Слов больше не найдено)
    link(onTrue,6883274:doWork3,[(604,545)(604,571)(186,571)])
    }
    Add(MT_IndexToChanel,6486558,329,434)
    {
    Point(Index)
    link(onEvent1,10090767:doFindText,[])
    link(onEvent2,10090767:doFindNext,[])
    link(Index,15192790:State,[])
    }
    Замечания
    Обновление элемента: [svn]MST_FindText.pas[/svn]
    Замечания
    Обновление элемента: [svn]MST_FindText.pas[/svn]
    BB-code статьи для вставки
    Всего комментариев: 0
    (комментарии к статье еще не добавлены)
    Комментарий
    ...