Инфоурок / Другое / Другие методич. материалы / Лабораторная работа Программирование Среда Delphi

Лабораторная работа Программирование Среда Delphi


библиотека
материалов

Лабораторная работа №32


Лабораторная работа №32


Тема 3.1: Среда программирования Delphi

Цель: Получить практические навыки визуального программирования в интегрированной среде разработки Delphi.

Оборудование: IBM – совместимые компьютеры.

Место проведения: Компьютерный класс.

Техника безопасности: См. инструкцию.

Ход работы:

Класс TStrings - один из основополагающих классов в Delphi. Работа очень многих компонентов построена на имеющемся в их составе свойстве класса TStrings. Например, это свойство Items у ListBox и RadioGroup, Lines у Memo и т.д. и т.п. Класс TStrings применяется для хранения любых объектов наследников класса TObject и связанных с ними текстовых строк. Свойства класса TStrings называются наборами строк.

TStrings – абстрактный класс. Обратиться к нему можно лишь при «по-средничестве» соответствующего компонента. Если необходимо создать экземпляр класса TStrings вне компонентов, используйте объект-потомок TStringList,наследующий свойства и методы TStrings. Например,

var SL: TStringList; begin

SL := TStringList.create; // Но не SL := TString.create! SL.add 'Строка'); end;

К строкам и объектам, хранящимся в TStrings, можно обратиться с помощью индексированных свойств

property Strings[i: integer]: string; default; property Object [i: integer]: TObject;

Атрибут default означает, что имя индексированного свойства может быть опущено, например, следующие обращения равнозначны:

ListBoxl.items.strings[!]:='Строка' ;

ListBoxl.items[1]:—'Строка';

Для программиста свойство типа TStrings выглядит как обычный массив строк, но индекс в таком массиве находится в диапазоне целых чисел 0 - 32767. Пример: Items[0]:=’text1’ - записать строку в 1-й элемент набора строк, Items[1]:=’text2’ - во второй элемент и т.д. Общее число строк можно опреде-лить, обратившись к свойству Count (тип integer) класса TStrings.

Класс TStrings также применяется для хранения пар вида «параметр-

значение». При чтении (записи) свойства

property Values[const Name: string]: string;

ищется строка, содержащая подстроку вида Name=значение и возвраща­ется (записывается) значение после символа = . Например, ListBox1.Items.Values[‘y’]:=1; приведет к появлению в списке строки y=1.


Другие свойства и методы класса TStrings:

property Count: inte­ger;

Число пар строк и объектов.

function Add(const S: string): integer;

Добавляет строку в конец набора и возвра­щает присвоенный ей номер.

function AddOb-ject(const S: string; AObject: Tobject): in­teger;

Добавляет строку и объект. Возвращает присвоенный паре номер

procedure AddStrings (Strings: TStrings);

Добавляет в конец набора другой набор TSrings.

procedure InsertObject (I: integer; const S: string; AObject: TOb-ject);

Вставляет объект AObject и строку S под индексом I.

procedure Delete (I: integer);

Удаляет строку с индексом I.

function IndexOf (const S: string): integer;

Возвращает номер в наборе строки S. Если она не найдена, функция возвращает -1.

function Equals (Strings: TStrings): boolean;

Сравнивает набор строк вызвавшего этот метод объекта с набором Strings и возвраща­ет True, если они совпадают.

procedure Move(I1,I2:integer);

Перемещает пару строка объект с позиции I1 в позицию I2.

procedure Exchange (I1,I2: integer);

Меняет местами пары строка^объект с индексами I1 и I2.

procedure LoadFromFile (const FileName: string);

Загружает набор строк из файла

procedure SaveToFile (const FileName: string);

Сохраняет набор строк в файле

Рассмотрим следующий пример. Создадим приложение, в котором выбранные кнопки «прячутся» в списке ListBox, а при выборе их из списка появляются на прежнем месте. Доступ к содержимому списка происходит через свойство Items типа TStrins. Порядковый номер выбранного элемента списка можно узнать с помощью свойства ItemIndex компонента ListBox. Нумерация начинается с нуля.

1. Разместите на форме три кнопки Button1, Button3, Button3, строку Label и список ListBox1, как это показано на рисунке 1.

hello_html_ee8ea30.png


Рисунок 1 – Форма программы


2. Создайте обработчик события OnClick для кнопки Button1:

procedure TForm1.Button1Click(Sender: TObject); begin

(Sender as TControl).visible := False;

ListBox1.Items.AddObject((Sender as TButton).caption,

Sender); end;

Метод AddObject добавляет в список и заголовок кнопки, и саму кнопку.

Свойство Visible позволяет скрывать элемент, не уничтожая его.

3. Назначьте этот обработчик аналогичным событиям других кнопок, как
это делалось в п.7 предыдущей лаб.работы.

Комментарий. Параметр Sender типа TObject описан в заголовках проце­дур-обработчиков событий. Через этот параметр передается ссылка на объект-источник события. Так как Sender относится к классу TObject - абстрактному классу на верху иерархии компонентов Delphi, то в процедуру может быть передан любой компонент (будучи наследником TObject он тоже TObject). Параметр Sender обычно игнорируют, но его необходимо использовать, когда несколько компонентов обращаются к одному и тому же обработчику событий, как в данном примере. Тогда Sender позволяет узнать, кто конкретно этот обработчик вызвал.

Оператор as в примере сообщает компилятору, что объект Sender следует рассматривать как принадлежащий классу «кнопка».

4. Создайте обработчик для события OnClick объекта ListBox1:

procedure TForm1.ListBox1Click(Sender: TObject); begin

with ListBox1 do begin

(Items.Objects[ItemIndex] as TButton).visible := true; Items.Delete(ItemIndex); end; end;

При выполнении программа будет иметь следующий вид (Рисунок 2).


hello_html_349eb453.jpg

Рисунок 2 – Работа программы


Задание:

Измените программу, чтобы в список можно было заносить разнородные элементы: кнопки, панели и др. Более подробную информацию об ис­пользовании операторов is и as можно получить в [1].



Контрольные вопросы

1. Каково назначение и возможности среды визуального программирования Borland Delphi?

2. Назначение окон Borland Delphi.

3. Каково назначение палитры компонент?

4. Назначение пиктографических кнопок среды Borland Delphi.

5. Описать окно кода программы и инспектора объектов.


Литература

  1. Культин Н. Б. Основы программирования в Delphi XE. — СПб.: БХВ-Петербург, 2011. — 416 с.: ил. + CD-ROM — (Самоучитель)

  2. Семакин И.Г Основы программирования и баз данных: учебник для студ. учреждений сред. проф. образования. — М.: Издательский центр «Академия», 2014. — 224 с.

  3. Семакин И.Г., Шестаков А.П. Основы алгоритмизации и программирования: учебник для студ учреждений сред. проф. образования — М. : Издательский центр «Акаде­мия», 2013.— 304 с.

  4. Семакин И. Г. Основы алгоритмизации и программирования. Практикум: учеб. пособие для студ учреждений сред. проф. обра­зования / Семакин И. Г., Шестаков А. П. — М.: Издательский центр «Академия», 2013. — 144 с.


4


Только до конца зимы! Скидка 60% для педагогов на ДИПЛОМЫ от Столичного учебного центра!

Курсы профессиональной переподготовки и повышения квалификации от 1 400 руб.
Для выбора курса воспользуйтесь удобным поиском на сайте KURSY.ORG


Вы получите официальный Диплом или Удостоверение установленного образца в соответствии с требованиями государства (образовательная Лицензия № 038767 выдана ООО "Столичный учебный центр" Департаментом образования города МОСКВЫ).

Московские документы для аттестации: KURSY.ORG


Общая информация

Номер материала: ДБ-402574

Похожие материалы



Очень низкие цены на курсы переподготовки от Московского учебного центра для педагогов

Специально для учителей, воспитателей и других работников системы образования действуют 60% скидки (только до конца зимы) при обучении на курсах профессиональной переподготовки (124 курса на выбор).

После окончания обучения выдаётся диплом о профессиональной переподготовке установленного образца с присвоением квалификации (признаётся при прохождении аттестации по всей России).

Подайте заявку на интересующий Вас курс сейчас: KURSY.ORG