31
#8:Begin E.ReadOnly:=False; P:=E.SelStart;If E.Text[P]=’,’Then B[I]:=True;
End;
{Разрешаем ввод запятой, при условии, что она отсутствует (была ранее
удалена)}
‘,’:Begin If B[I] Then E.ReadOnly:=False; B[I]:=False;End;
End;
end;
Как видно из приведенного фрагмента код программы не измениться,
не зависимо от того, сколько компонентов будет использоваться. Одно, что
необходимо сделать, это изменить значение константы N.
Создание массивов из компонентов
В отличие от Visual Basic, в Delphi и C++ нет готового механизма
создания массива из компонентов, хотя такая потребность возникает
достаточно часто. Это позволяет значительно сократить код программы за
счет обработки данных массивов в циклах. Создать такой массив можно с
помощью не сложного фрагмента кода.
Пример № 3
В компоненты Edit (рис. 15) введен небольшой двумерный массив
целых чисел (три столбца и пять строк). Необходимо выделить другим
цветом компонент, в который введено максимальное число.
Рис. 15. Внешний вид формы примера № 3
Не используя массивы определить максимум, перебирая все
компоненты достаточно трудоемко.
Создать массив из компонентов можно следующим образом.
Назначим свойствам Tag компонентов Edit значения:
для первой строки 11, 12, 13;