Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Вивчення мови об'єктно-орієнтованого програмування Borland Delphi та розробка практичних завдань

Реферат Вивчення мови об'єктно-орієнтованого програмування Borland Delphi та розробка практичних завдань





>

. Структура даних


Для зберігання даних про точках введемо тип даних tmypoint:


1. type

2. tmypoint=record

. x: Integer;

. y: Integer;

. end;


Тип tmypoint являє собою запис, який має 2 поля: x і y, для зберігання відповідних координат точок.

Для зберігання інформації про робочому полі будемо використовувати об'єктний тип tfield. Його код наведено нижче.

=object: array [0..100000] of tmypoint ;: Integer; is_digit (s: string): Boolean; update_list (); add_point_str (_x, _y: string); add_point_int (x, y: integer); distance (p1, p2: tmypoint): Double; is_bar (p1, p2, p3, p4: tmypoint) :; drawbar (p1, p2, p3, p4: tmypoint); gen_bars () ;;


. Генерація точок


Нижче наведено обробник натискання на кнопку Згенерувати .


1. procedure TForm1.genClick (Sender: TObject);

2. var

. i: Integer;

. begin

. Randomize;

6. if not field.is_digit (n_gen.Text)

7. then

. begin

. ShowMessage ( Непідходящі координати );

. Exit;

. end;

12. for i:=1 to StrToInt (n_gen.Text) do

. field.add_point_int (Random (img1.Width), Random (img1.Height));

14. field.update_list;

. end;


У рядку 5 відбувається ініціалізація генератора випадкових чисел процедурою Randomize. Якщо користувач ввів некоректне числове значення, то програма повідомляє про помилку і виходить з процедри (рядки 6-11). У випадку, якщо користувач ввів коректне числове значення N, програма генерує 2 * N випадкових числа, з умовою, що вони можуть бути коректними координатами точок. Згенеровані координати додаються в список методом add_point_int об'єкта tfield (рядки 12-13), після чого відбувається оновлення списку методом update_list.

Лістинг методу add_point_int наведено нижче.


1. procedure tfield.add_point_int (x, y: integer);

2. begin

3. if (x gt; form1.img1.Width) or (y gt; Form1.img1.Height) or (x lt; 0) or (y lt; 0)

4. then

. begin

. ShowMessage ( Непідходящі координати );

. Exit;

. end;

. points [cnt] .x:=x;

. points [cnt] .y:=y;

. Inc (cnt);

. end;


Ця процедура додає в список точок точку з координатами (x, y), після чого збільшує на 1 лічильник точок.

Лістинг процедури update_list наведено нижче.


1. procedure tfield.update_list ();

2. var i: integer;

. canvas: tcanvas;

. begin

. Form1.lst1.Clear;

. canvas:=Form1.img1.Canvas;

. canvas.Brush.Color:=clWhite;

8. canvas.Rectangle (0, 0, Form1.img1.Width, Form1.img1.Height);

9. canvas.Brush.Color:=clBlack;

. for i:=0 to cnt - 1 do

. begin

12. Form1.lst1.Items.add (IntToStr (points [i] .x) + laquo ;, + IntToStr (points [i] .y));

. canvas.Ellipse (points [i] .x - 2, Form1.img1.Height - points [i] .y - 2, points [i] .x + 2, Form1.img1.Height - points [i] .y + 2);

14. end;

. end;


У рядку 5 очищається список точок.

У рядку 6 посилання на canvas поля для виведення результату зберігається в локальну змінну для швидкого доступу надалі.

У рядках 6-7 фон поля для виведення результату змінюється на білий.

У рядках 8-12 малюються та додано до списку точок самі точки.


. Ручне додавання точок


Оброблювач натискання на кнопку Додати наведено нижче.


1. procedure TForm1.addClick (Sender: TObject);

2. var

. x, y: Integer;

. begin


Назад | сторінка 2 з 4 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Програма обробки масивів координат точок на мові Сі
  • Реферат на тему: Система забезпечення безпечності харчових ПРОДУКТІВ НАССР (Hazard Analysis ...
  • Реферат на тему: Розробка алгоритму розрахунку визначення координат точок кінематичної схеми ...
  • Реферат на тему: Creation of control system by a personnel how to begin with a zero
  • Реферат на тему: Перенесення точок на місцевість