Вверх ↑
Пакеты 
HiAsm4
Windows 
Компоненты 
Maccивы 
Массивы - ArrayEnum

ArrayEnum
Краткое описание
   Компонент предназначен для перебора массива элементов
Параметры
  • Type - Направление перебора элементов. Inc - от первого до последнего, Dec - от последнего к первому
  • onBreakEnable - True - после doStop вызывается событие onBreak, а onEndEnum - не вызывается
  • Методы
  • doEnum - Начинает перебор элементов массива
  • doStop - Останавливает перебор элементов
  • События
  • onItem - Выдает в поток очередной элемент массива
  • onEndEnum - Событие происходит после завершения перебора элементов массива, и обязательно, если onBreakEnable=False
  • onBreak - Событие происходит при onBreakEnable=True после события onItem, если при этом был вызван метод doStop
  • Свойства
  • Item - Содержит текущий элемент массива после вызова события onItem
  • Index - Содержит индекс текущего элемента массива после вызова события onItem
  • Данные
  • Array - Массив, элементы которого требуется перебрать
  • Примеры
       Пример использования компонена ArrayEnum

    
    Add(MainForm,12785983,42,126)
    {
    Caption="Пример использования ArrayEnum"
    }
    Add(IntegerArray,12450511,168,77)
    {
    IntArray=['0'=100,'1'=200,'2'=201]
    }
    Add(RealArray,2863464,168,196)
    {
    RealArray=['0'=0.2,'1'=0.25,'2'=5.2]
    }
    Add(CharArray,5544234,357,238)
    {
    link(onLoad,2818828:doEnum,[(400,244)(400,284)(345,284)(345,300)])
    link(String,6776072:Text,[])
    }
    Add(ArrayEnum,12206329,168,126)
    {
    link(onItem,6991823:doMessage,[])
    link(Array,12450511:Array,[])
    }
    Add(ArrayEnum,14302486,168,238)
    {
    link(onItem,5892704:doMessage,[])
    link(Array,2863464:Array,[])
    }
    Add(ArrayEnum,2818828,357,294)
    {
    link(onItem,7795266:doMessage,[])
    link(Array,5544234:Array,[])
    }
    Add(Message,6991823,231,126)
    {
    }
    Add(Message,5892704,231,238)
    {
    }
    Add(Edit,6776072,357,182)
    {
    Left=193
    Top=143
    Width=60
    Text="Hiasm"
    }
    Add(Message,7795266,413,294)
    {
    }
    Add(Button,9223468,105,126)
    {
    Left=105
    Top=59
    link(onClick,12206329:doEnum,[])
    }
    Add(Button,15815617,105,238)
    {
    Left=105
    Top=110
    link(onClick,14302486:doEnum,[])
    }
    Add(Button,6321344,301,238)
    {
    Left=195
    Top=110
    link(onClick,5544234:doLoad,[])
    }
    Add(InfoTip,5200415,119,21)
    {
    Info=#53:Двойной клик по компоненту открывает редактор массива|
    Width=134
    Height=95
    }
    Add(ArrayEnum,14601168,357,126)
    {
    link(onItem,1875430:doMessage,[])
    link(Array,9319048:Array,[])
    }
    Add(Message,1875430,413,126)
    {
    }
    Add(Button,2782144,294,126)
    {
    Left=200
    Top=58
    link(onClick,14601168:doEnum,[])
    }
    Add(StrList,9319048,343,56)
    {
    Strings=#3:100|3:200|3:300|3:400|
    }



       Пример демонстрирует возможности элемента для копирования одного списка строк в другой с изменением каждой строки в отдельности.

    
    Add(MainForm,2953706,21,105)
    {
    Width=262
    Height=152
    Caption="ArrayEnum"
    }
    Add(Button,8261156,91,105)
    {
    Left=90
    Top=50
    Caption=">>>"
    link(onClick,14257659:doEnum,[])
    }
    Add(ListBox,12819431,154,42)
    {
    Left=23
    Top=20
    Strings=#6:line 1|6:line 2|6:line 3|6:line 4|
    }
    Add(ArrayEnum,14257659,154,105)
    {
    link(onItem,5212233:doStrCat,[])
    link(Array,12819431:Array,[(160,96)(174,96)])
    }
    Add(ListBox,6372019,266,105)
    {
    Left=155
    Top=20
    }
    Add(StrCat,5212233,210,105)
    {
    Str1="* "
    link(onStrCat,6372019:doAdd,[])
    }
    Замечания
    Обновление элемента: [svn]ArrayEnum.pas[/svn]
    BB-code статьи для вставки
    Всего комментариев: 0
    (комментарии к статье еще не добавлены)
    Комментарий
    ...