Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab01.doc
Скачиваний:
1
Добавлен:
15.08.2019
Размер:
60.93 Кб
Скачать

Задание

  1. Написать программу «Калькулатор». Аналогичную калькулятору в Windows. Программа должна выполнять следующие операции: сложение, умножение, вычитание, деление, sin, cos, tg, ctg, возведение в произвольную степень и.т.д

  2. Написать программу для тестирования знаний.

  3. Написать программу, для ввода данных о заказе. Пользователь должен указать Ф.И.О, адрес, выбрать в выпадающем списке тип товара. После нажатия на кнопку «Заказать». Данные о заказе, одной строкой, должны отобразиться в компоненте ListBox.

  4. Написать программу, имитирующую регистрацию пользователей. Пользователь должен указать свой никнейм, выбрать из списка страну проживания, указать почтовый ящик, дважды заполнить пароль (при заполнение пароля вместо цифр должен отображаться символ @). Данные после нажатия на кнопку «Зарегистрироваться» необходимо отображать в компоненте Listbox.

Обзор основных компонентов Delphi

TLabel

Модуль STDCTRLS

Страница Палитры компонентов Standard

Компонент представляет собой статический текст. С помощью этого компонента на рабочей поверхности формы можно отобразить информацию, сделать пояснения и показать названия других компонентов. Но он имеет и другую важную функцию — если в составе текста TLabel есть символы-акселераторы, информация о их нажатии может передаваться от TLabel другому элементу управления.

Свойства компонента приведены ниже:

property Caption: TCaption; TCaption = string[255] - Содержит строку с выводимым текстом;

property Alignment: Talignment - устанавливает правило выравнивания текста — по правому, левому краю или по центру клиентской области;

property AutoSize: Boolean - в случае True происходит автоматическое приведение размеров компонента к размерам текста и высоте шрифта;

property ShowAccelChar: Boolean - показывает, отображается ли в TLabel акселератор (символ, перед которым стоит знак амперсанда — '&'). Если оно равно False, амперсанд никак не интерпретируется. В случае True акселератор выделяется в строке подчеркиванием и нажатие клавиш <А11>+<символ> приводит к передаче фокуса окну FocusControl (т. к. TLabel сам не является оконным компонентом);

property FocusControl: TwinControl - определяет оконный компонент, которому посылаются сообщения о вводе акселератора;

property Transparent: Boolean - прозрачность фона компонента. Если свойство установлено в True, то при перерисовке элемента управления не происходит закрашивание клиентской области. В противном случае — происходит закрашивание кистью bsSolid и цветом Color;

property WordMrap: Boolean - определяет возможность разрыва слов в случае, если длина выводимого текста превышает ширину компонента.

TButton

Модуль STDCTRLS

Страница Палитры компонентов Standard

Обычная кнопка Windows. В этом компоненте опубликованы только приведенные выше свойства Default, Cancel, Caption, ModalResult и OnClick. Двойной щелчок на кнопке не предусмотрен.

TEdit

Модуль STDCTRLS

Страница Палитры компонентов Standard

Этот компонент не содержит собственного кода, в нем только опубликованы свойства его предка TCustomEdit. Он представляет собой редактируемую строку (далее — просто редактор).

property BorderStyle: TborderStyle - стиль обрамления этого компонента;

property AutoSize: Boolean - по умолчанию равен bsSingle. Если свойство равно True, компонент изменяет свою высоту в зависимости от размера шрифта (свойство Font). Для того чтобы изменения имели место, должен еще быть установлен стиль обрамления bsSingle.

Вводимый в редактор текст может автоматически подвергаться некоторым преобразованиям.

Преобразование, задаваемое свойством CharCase, позволяет автоматически преобразовывать все символы только в верхний или только в нижний регистр:

property CharCase: TEditCharCase;

TEditCharCase = (ecNormal, ecUpperCase, ecLowerCase);

По умолчанию установлен стиль ecNormal и преобразования не происходит. Аналогично, свойство

property OEMConvert: Boolean - определяет необходимость автоматического преобразования вводимых символов из кодировки OEM в ANSI и обратно. Такое свойство часто бывает нужно при обработке текста в кодировке MS-DOS.

Два следующих свойства описывают поведение выделенного текста при переходе фокуса:

property AutoSelect: Boolean - описывает реакцию редактирующего элемента при получении фокуса. Если оно установлено в True (по умолчанию это так), то при получении фокуса ввода весь текст в нем выделяется независимо от состояния свойства SelText. Если AutoSelect установлено в False, то при получении фокуса выделяется лишь то, что было выделено до его утери.

property HideSelection: Boolean - после утери фокуса редактором выделенный в нем текст обычно теряет цветовое выделение. Чтобы оно оставалось, установите False;

property MaxLength: Integer - Ограничение на длину текста. определяет максимальную длину текста редактора в символах. Если значение этого свойства равно 0, то ограничений на длину текста нет.

property PasswordChar: Char - предназначено для ввода пароля с использованием редактора. Его значение — это символ, используемый для отображения вместо любых вводимых символов;

property Readonly: Boolean — запрещает редактировать текст, если значение свойства установлено — True;

Вы можете отследить изменения текста в редакторе, обрабатывая поступающие события - property OnChange: TnotifyEvent;

TMemo

Модуль STDCTRLS

Страница Палитры компонентов Standard

Компонент представляет собой многострочный редактор текста. Содержимое редактора представлено как объект, содержащий текст в виде набора строк - property Lines: TStrings;

property Alignment: Talignment - Текст в редакторе может выравниваться по левому, правому краям и по центру TAlignment = (taLeftJustify, taRightJustify, taCenter);

При наборе текста пользователь может ввести различные управляющие символы, в частности, клавишами <Enter> и <ТаЬ>. Эти символы могут быть обработаны редактором, а могут быть сразу переданы форме. В случае, если в следующих свойствах установлено значение True:

property WantReturns: Boolean;

property WantTabs: Booleaюn

Обратим внимание на то, что если установлено WantTabs, то с помощью клавиатуры передать фокус такому редактору можно, а после этого отдать другому компоненту — нельзя. Если свойства равны False, символы передаются форме. В этом случае для ввода этих символов в редактор можно воспользоваться комбинациями <Ctrl>+<Enter> и <Ctrl>+<Tab> соответственно;

(property Wordwrap: Boolean - отвечает за поведение редактора при достижении правой границы во время набора текста. Если свойство равно True, то при этом происходит переход на новую строку. В случае False при достижении правой границы происходит горизонтальная прокрутка текста и пользователь может продолжать набор; на новую строку можно перейти, нажав <Enter>;

property ScrollBars: TscrollStyle (TScrollStyle = (ssNone, ssHorizontal, ssVertical, ssBoth)) - устанавливает наличие полос прокрутки в вертикальном и горизонтальном направлениях. Если есть горизонтальная полоса, то свойство Wordwrap теряет смысл, вместо переноса происходит прокрутка;

Следующие свойства аналогичны определенным в TEdit — BorderStyle, HideSelection, MaxLength, OEMConvert и ReadOnly.

TListBox

Модуль STDCTRLS

Страница Палитры компонентов Standard

Этот компонент соответствует списку выбора — стандартному элементу управления Windows. С его помощью пользователь может выбрать одну из строк, которые хранятся в свойстве:

property Items: Tstrings - в списке Items. Strings хранится текст строк, а список Items.Objects пользователь может использовать для хранения связанных с ними объектов, например, картинок для нестандартно изображаемого списка. Индекс текущего (сфокусированного) элемента списка содержится в свойстве -property Itemlndex: Integer. Не путайте сфокусированный элемент (стандартно он помещается в рамку из точек) и выделенный (цветным фоном), они могут не совпадать. Смысл этих понятий будет объяснен ниже. Значение индекса Itemlndex лежит в диапазоне от 0 до Items.Count-1. Он доступен для чтения и записи;

property Toplndex: Integer - индекс первого видимого элемента в списке. Он будет ненулевым в том случае, когда все элементы не помещаются в окне списка, и была сделана прокрутка.

Когда в списке нужно предусмотреть выделение одновременно более одного элемента, оперируйте свойствами - property MultiSelect: Boolean и property ExtendedSelect: Boolean. Если MultiSelect установлено в False, то в списке одновременно не может быть выделено несколько элементов и значение ExtendedSelect не играет роли. В противном случае дело обстоит так. При ExtendedSelect = False каждый раз изменяется состояние только сфокусированного элемента. Каждый щелчок мышью или нажатие пробела меняет его состояние выделения на противоположное. Если ExtendedSelect = True, то выбор происходит при передвижении мыши с нажатой левой кнопкой, каждом щелчке мышью на новом элементе списка при нажатых <Ctri> или <Shift>, или при нажатии <Shift>+<t/4 -> .

property SelCount: Integer количество выделенных элементов.

Проверку и установку выделения для каждого элемента можно провести, используя свойство property Selected[Index: Integer]: Boolean.

property Sorted: Boolean — Устанавливает строки в алфавитном порядке.

Элементы списка могут появляться как в одном столбце — Друг под другом, так и в нескольких соседних. В этом случае список может иметь горизонтальную полосу прокрутки. Число столбцов определяется свойством - property Columns: Integer. Если столбец один, то значение этого свойства равно 0.

Очистить список можно при помощи метода -procedure Clear.

TComboBox

Модуль STDCTRLS

Страница Палитры компонентов Standard

Этот стандартный элемент управления Windows — комбинированный список -— имеет много общего с TListBox. Он состоит из собственно списка и помещенного рядом поля ввода редактирующего элемента. Таким образом, пользователь может выбрать одно из готовых значений какой-то величины или ввести свое.

Стиль компонента в части правил взаимного сочетания списка и редактора определяется свойством:

property Style: TComboBoxStyle;

TComboBoxStyle = (csDropDown, csSimple, csDropDownList, csOwnerDrawPixed, csOv'nerDrawVariable);

Его значения имеют следующий смысл:

csSimple — весь список виден все время. Текущий выбор отображается в редакторе, его можно изменить;

csDropDown — список открывается (выпадает) и скрывается при нажатии кнопки, расположенной справа от текста. Такой список будем называть вьша дающим;

csDropDownList —список выпадающий, но редактирующий элемент заменен статическим текстом и вводить свои данные пользователь не может;

csOwnerDrawFixed — определяемый пользователем стиль списка с постоянной высотой элемента;

csOwnerDrawVariable — определяемый пользователем стиль списка с переменной высотой элемента.

Принципы пользовательской отрисовки списка для csOwnerDrawFixed и csOwnerDrawVariable, а также связанные с этим методы и события остались такими же, как в TListBox. По умолчанию устанавливается сталь csDropDown.

Приведенные свойства и методы имеют то же назначение что и для объектов кдасса TListbox

- property Items: TStrings;

- Itemlndex: Integer;procedure Clear;

- property Sorted: Boolean/

Текст, содержащийся в редактирующем элементе списка, доступен через свойство- property Text: Tcaption.

Максимальная длина ограничена числом символов, равным значению свойства property MaxLength: Integer. Если MaxLength равно 0, то ограничений на длину строки нет (до 255 символов). При изменении текста (а также при смене выбранного элемента) возникает событие OnChange. Часть текста может быть выделена.

Три свойства содержат выделенный текст, его положение и длину:

property SelText: string;

property SelStart: Intege;

property SelLength: Integer.

Метод procedure SelectAll выделяет весь текст.

Значение свойства property DroppedDown: Boolean соответствует состоянию списка: True соответствует открытому ("выпавшему") списку. С его помощью можно показывать или скрывать список из программы. При изменении состояния списка возникает событие property OnDropDown: TnotifyEvent.

Максимальное число элементов, которые показываются при выпадении списка:

property DropDownCount: integer. По умолчанию оно равно 8.

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