Разработка приложений в Delphi. Понятие событий.

Разработка приложений в Delphi состоит из двух этапов:

-создание интерфейса приложения;

- определение функциональности приложения.

Интерфейс приложения определяет способ взаимодействия пользователя и приложения, т.е. внешний вид формы при выполнении приложения и то, каким образом пользователь управляет приложением.

Функциональность приложения определяется процедурами, которые выполняются при возникновении определенных событий.

Простейшее приложение представляет собой каркас(заготовку), обеспечивающее все необходимое для каждого приложения, и является равноправным приложением Windows.

· onClick- событие нажатия, возникающее при щелчке(левой) кнопкой мыши на компоненте или при других способах нажатия на управляющий элемент;

· onMouseDown – событие, возникающее при нажатии любой кнопки мыши;

· onMouseUp – событие, возникающее при отпускании кнопки мыши;

· onDblClick - событие, возникающее при двойном нажатии(левой) кнопки мыши;

· onKeyDown – событие, возникающее при нажатии клавиши на клавиатуре;

· onKeyUp – событие, возникающее при отпускании клавиши на клавиатуре;

· onCreate - событие, возникающее один раз при создании формы;

· onClose – событие, возникающее призакрытии формы.

Обработчик событий для компонента выбирается в ObjectInspector во вкладке Events или двойным щелчком левой кнопки мыши на этом компоненте.

1.2

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

lbl1: TLabel;

lbl2: TLabel;

btn1: TButton;

edt1: TEdit;

procedure btn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);

varr,s:Real;

begin

r:=StrToFloat(edt1.text);

s:=pi*sqr(r);

lbl2.Caption:='Площадькругаравна'+

FloatToStrF(s,ffGeneral,7,2)

end;

end.

1.3

Разработка приложений в Delphi. Понятие событий. - student2.ru

3.2 Линейные алгоритмы

Начало
7. У=ln Разработка приложений в Delphi. Понятие событий. - student2.ru sin Разработка приложений в Delphi. Понятие событий. - student2.ru +b2.1x. a=1.3; b=2,4; x=5.5; k=2.

y

a=1.3; b=2,4; x=5.5; k=2

Y=ln((x+b)/2)*sin SQRT(exp (k*ln (a))+exp(2.1*ln(b))*x    

y

конец

Алг Нахо-д у

Пост a=1.3; b=2,4; x=5.5; k=2

Цел y

Нач

Y:=ln((x+b)/2)*sin SQRT(exp (k*ln (a))+exp(2.1*ln(b))*x

Вывод у

Кон

8.y= Разработка приложений в Delphi. Понятие событий. - student2.ru – eI P tg(x+a) a=1.4 x=1.3 i=4

Начало
Aлг

a=1.4 x=1.3 p=3.14 i=4   p

у

y:=(ln(x)/sin x)-( exp( I *p*sin (x+a)/cos(x+a)))

y
конец

Алг Нахо-д у

Пост a=1.4 x=1.3 i=4

Цел у

Нач

y:=(ln(x)/sin x)-( exp( I *p*sin (x+a)/cos(x+a)))

вывод у

кон

9.y=k sin(a+ex+b)2 k=3; a=0.3; x=2.6; b=1.5

Алгоритм

Начало
Aлг

k=3; a=0.3; x=2.6; b=1.5

у

y:=k*SQR(sin(a+(exp((x+b)*ln(e)))) )

y
конец

Алг Нахо-д у

Пост k=3; a=0.3; x=2.6; b=1.5

Цел у

Нач

y:=k*SQR(sin(a+(exp((x+b)*ln(e)))) )

вывод у

кон

Работа со списками

Компоненты ListBox и ComboBox отображают списки строк. Они отличаются друг от друга прежде всего тем, что ListBox только отображает данные и позволяет пользователю выбрать из них то, что ему надо, a ComboBox позволяет также редактировать данные. Кроме того различается форма отображения списков. ListBox отображает список в раскрытом виде и автоматически добавляет в список полосы прокрутки, если все строки не помещаются в окне компонента. ComboBox позволяет отображать список как в развернутом виде, так и в виде выпадающего списка, что обычно удобнее, так как экономит площадь окна приложения .

Класс TListBox является наследником класса TWinControl и имеет собственные свойства, представленные в таблице

Основные свойства ListBox
Свойство Тип Описание
AutoComplete Boolean Определяет, должен ли список реагировать на нажатие клавиш таким образом, чтобы находить и выделить совпадающий элемент
BorderStyle TBorderStyle Определяет, должна или нет быть рамка вокруг списка. Допустимые значения: bsNone, bsSingle
Columns Integer Определяет количество колонок, видимых без горизонтальной прокрутки
Count Integer Указывает на количество элементов списка
ItemIndex Integer Определяет порядковый номер выбранного элемента, начиная с 0. Если не выбрано ни одного, то устанавливается в -1
Items TStrings Содержит строки списка
MultiSelect Boolean Определяет, допустимо или нет производить множественный выбор
SelCount Integer Указывает на количество выбранных элементов
Selected arrayofBoolean Определяет, выбран или нет тот или иной элемент списка
Sorted Boolean Определяет, должен ли список быть отсортирован
TopIndex Integer Определяет порядковый номер элемента, который является самым верхним в видимой части списка
Пример компонентов выбора из списков Разработка приложений в Delphi. Понятие событий. - student2.ru
   

Основное свойство обоих компонентов, содержащее список строк, — Items, имеющее рассмотренный ранее тип TStrings. Заполнить его во время проектирования можно, нажав кнопку с многоточием около этого свойства в окне Инспектора Объектов. Во время выполнения работать с этим свойством можно, пользуясь свойствами и методами класса TStrings - Clear, Add и другими.

В компоненте ListBox имеется свойство MultiSelect, разрешающее пользователю множественный выбор в списке (на рисунке это свойство установлено в true в среднем верхнем списке). ЕслиMultiSelect = false (значение по умолчанию), то пользователь может выбрать только один элемент списка. В этом случае можно узнать индекс выбранной строки из свойства ItemIndex, доступного только во время выполнения. Если ни одна строка не выбрана, то ItemIndex = -1. Начальное значение ItemIndex невозможно задать во время проектирования. По умолчаниюItemIndex = -1. Это означает, что ни один элемент списка не выбран. Если вы хотите задать этому свойству какое-то другое значение, т.е. установить выбор по умолчанию, который будет показан в момент начала работы приложения, то сделать это можно, например, в обработчике события OnCreate формы, введя в него оператор вида

ListBox1.ItemIndex:=0;

Если допускается множественный выбор (MultiSelect = true), то значение ItemIndex соответствует тому элементу списка, который находится в фокусе. При множественном выборе проверить, выбран ли данный элемент, можно проверив свойство Selected[Index: Integer] типа Boolean.

На способ множественного выбора при MultiSelect = true влияет еще свойство ExtendedSelect. Если ExtendedSelect = true, то пользователь может выделить интервал элементов, выделив один из них, затем нажав клавишу Shift и переведя курсор к другому элементу. Выделить не прилегающие друг к другу элементы пользователь может, если будет удерживать во время выбора нажатой клавишу Ctrl. Если же ExtendedSelect = false, то клавиши Shift и Ctrl при выборе не работают.

Свойство Columns определяет число столбцов, в которых будет отображаться список, если он не помещается целиком в окне компонента ListBox (в среднем верхнем списке на рисунке свойство Columns равно 2).

Свойство Sorted позволяет упорядочить список по алфавиту. При Sorted = true новые строки в список добавляются не в конец, а по алфавиту.

Свойство Style, установленное в lbStandard (значение по умолчанию) соответствует списку строк. Другие значения Style позволяют отображать в списке не только текст, но и изображения.

Загрузка строк из файла.

Считывание происходит из простого текстового файла. Каждая строка - новая запись. Это может быть перечень чего либо для нашего компонента ListBox/ComboBox. Лично я накопал эту процедуру когда делал мини программу для запуска команды mstsc и конечно же обращаться к компилятору для изменения списка серверов не хотелось.

ListBox1.Items.LoadFromFile('list.txt');

или

ComboBox1.Items.LoadFromFile('list.txt');

где 1 - номер нашего компонента, а list.txt - файл загрузки. Эту процедуру удобно прописать в событие OnCreate формы, для загрузки файла сразу при запуске программы.

Сохранение строк в файл.

Похожая процедура существует и для сохранения строк в файл

ListBox1.Items.SaveFromFile('list.txt');

она может быть полезна в тандеме со следующими. Далее для ComboBox по аналогии.

Наши рекомендации