Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lopp.DOC
Скачиваний:
6
Добавлен:
31.03.2015
Размер:
187.39 Кб
Скачать
    1. Изменение данных в файле

Рассмотрим изменение значений в полях файла. Допустим, что на основе имеющихся значений необходимо вычислить новые. Для этого требуется следующая процедура:

procedure TForm1.Button1Click(Sender: TObject);

Var

Hind :integer;

begin

with Table1 do

begin

{Отключим отображение данных на период изменений, для экономии времени}

DisableControls;

First;

while not eof do

begin

{Читаем значение во временную переменную}

hind:=FieldByName('price').AsInteger;

hind:=trunc(0.75*hind); {Изменим значение}

Edit;{Поместим таблицу в режим редактирования}

{Запишем обратно измененное значение}

FieldByName('price').AsInteger:=hind;

post; {Запишем измененное значение в файл}

next;

end;

EnableControls;{Включим отображение данных}

end;

end;

Приведенный способ изменения данных в файле целесообразен, если новые значения получены в результате выполнения вычислений по достаточно сложным алгоритмам, которые не удастся реализовать более простыми средствами обработки данных. Таким же образом можно реализовать кнопки нажатия и пункты меню для изменения данных в файлах базы данных по введенным с экрана значениям.

  1. Графические возможности Delphi

Часто графический способ представления информации более предпочтителен по сравнению с текстовым. В составе Delphi имеются широкие графические возможности, начиная с построения простейших геометрических фигур и кончая высококачественными средствами мультимедиа, включающими в себя движущиеся рисунки со звуковым сопровождением.

    1. Графические элементы

Область рисунка на форме называется канвой (холстом, canvas). В Delphi канва рассматривается как свойство. Для рисования на экране в нашем распоряжении имеется условное “перо”, которое может передвигаться из одной точки в другую без рисования или с рисованием. “Перо” может рисовать разными цветами, разной толщиной и разными линиями (сплошной, пунктирной ). Для передвижения “пера” необходимо задать координаты начальной и конечной точек. Возможно рисовать “пером” сколь угодно сложные кривые. Для этого надо последовательно дать координаты всех точек, через которые оно должно идти. Точка на экране, которая является минимальным адресуемым элементом, называется пикселем. Пиксел задается своими координатами и кодом цвета, которым должна быть отмечена эта точка.

Проиллюстрируем сказанное на примерах. На первых порах областью наших рисунков будет вся форма. Можно создать специальные окна для рисунков, но их создание ничем не отличается от рассмотренной раньше работы с многими формами. Нарисуем на экране линию. Внешний вид экрана представлен на рис. 8.1.

Рис. 8.1. Простейший пример графического вывода

Реализация кнопки “Рисуй”:

procedure TForm1.Button1Click(Sender: TObject);

begin

Canvas.MoveTo(5,5); {Установим перо в заданную точку}

Canvas.LineTo(140,150); {Рисуем линию от исходной точки до заданной}

end;

Можно менять характеристики рисуемых линий, для этого используем свойства:

  • выбор цвета Canvas.Pen.Color:=clBlue;

  • выбор толщины линии Canvas.Pen.Width:=3;

  • выбор стиля линии Canvas.Pen.Style:=psDot;

Какие допускаются цвета, стили и толщины можно узнать через Help. Вопрос: Как менять цвет фона т.е. самой формы?

Для рисования ломаных линий можно пользоваться методом

PolyLine([массив точек]), например,

Canvas.PolyLine([Point(10,10),Point(100,100),Point(50,75)]);

нарисует две линии с общей точкой (100,100). Очевидно, что для рисования замкнутых контуров (например, треугольника) координаты первой и последней точки должны совпадать. В принципе, таким же образом можно рисовать любые многоугольники.

Для рисования более сложных геометрических фигур (эллипс, окружность, дуги и т.п.) в Delphi имеются стандартные процедуры, например, эллипс может быть нарисован следующей процедурой:

Canvas.Ellipse(100,100,300,200);

Описание соответствующих процедур – см. Help!

Нарисованные на экране фигуры могут быть закрашены: это определяется свойством Brush, у которого в свою очередь имеются свойства Color (цвет) и Style (стиль) закраски. Ниже приведен пример вывода на экран закрашенного треугольника:

procedure TForm1.Button2Click(Sender: TObject);

begin

canvas.Brush.Color:=clBlue; {Определим цвет закраски}

Canvas.Brush.Style:=bsCross; {Определим рисунок – стиль – внутри}

Canvas.Polygon([Point(10,10),

Point(200,200),Point(100,175),Point(10,10)]);

end;

Используем Polygon вместо PolyLine, чтобы можно было закрашивать. Возможные значения свойств Color и Style – см. Help; пункт Brush.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]