Розглянемо принцип сортування даних у текстових полям методом «пухирця». Для цього методу існує стандартний алгоритм, яком ми і скористаємося.
Нехай є форма виду:

Для роботи сортування необхідно виконати єдину умову: текстові поля повинні створюватися послідовно і розміщуватися на формі у порядку створення.
procedure TForm1.Button1Click(Sender: TObject);
var i,k:integer; b:real;
begin
case radiogroup1.ItemIndex of
//якщо обрано перший перемикач
0:
begin
//сортуємо текстові поля за зростанням
for k:= controlcount-2 downto 1 do
for i:= 0 to k - 1 do
if controls[i].classname='TEdit' then
if strtofloat(tedit(controls[i]).text) > strtofloat(tedit(controls [i+1]).text) then
begin
b:= strtofloat(tedit(controls[i]).text);
tedit(controls[i]).text:= tedit(controls[i+1]).text;
tedit(controls[i+1]).text:= floattostr(b);
end;
end;
//якщо обрано другий перемикач
1:
begin
//сортуємо текстові поля за убуванням
for k:= controlcount-2 downto 1 do
for i:= 0 to k - 1 do
if controls[i].classname='TEdit' then
if strtofloat(tedit(controls[i]).text) < strtofloat(tedit(controls [i+1]).text) then
begin
b:= strtofloat(tedit(controls[i]).text);
tedit(controls[i]).text:= tedit(controls[i+1]).text;
tedit(controls[i+1]).text:= floattostr(b);
end;
end;
end;
end;
Питання для самоконтролю
1. Для цього створюють універсальні підпрограми в оброблювачах подій?
2. Як звернутися до поточного компонента на формі не за ім'ям? Приклад.
3. Який метод використовують для переходу на наступний компонент?
4. Як звернутися до довільного компонента на формі не за ім'ям? Приклад.
5. Як визначити тип компонента на формі? Приклад.
6. Як визначити загальну кількість компонентів на формі?
7. Як обробити набір компонентів на формі?
8. Яким чином можна у групі однотипних компонентів відокремити потрібні?
Лекція №9
Тема: Створення програмних модулів.
Мета: Придбати знанння та навчитися створювати власні програмні модулі.
Перелік питань, що розглядаються на лекції:
1. Принципи модульного програмування
2. Принцип «приховання даних»
3. Поняття модуля в Object Pascal
4. Структура модульного файлу
5. Створення модуля в Object Pascal
6. Створення модуля з переліком стандартних діалогів
4. Використання текстових констант у модулях
8. Створення підпрограм для обробки компонентів