Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Инфоурок / Другое / Другие методич. материалы / Лабораторная работа Программирование Среда Delphi
ВНИМАНИЮ ВСЕХ УЧИТЕЛЕЙ: согласно Федеральному закону № 313-ФЗ все педагоги должны пройти обучение навыкам оказания первой помощи.

Дистанционный курс "Оказание первой помощи детям и взрослым" от проекта "Инфоурок" даёт Вам возможность привести свои знания в соответствие с требованиями закона и получить удостоверение о повышении квалификации установленного образца (180 часов). Начало обучения новой группы: 26 апреля.

Подать заявку на курс
  • Другое

Лабораторная работа Программирование Среда 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


Автор
Дата добавления 30.11.2016
Раздел Другое
Подраздел Другие методич. материалы
Просмотров37
Номер материала ДБ-402574
Получить свидетельство о публикации

"Инфоурок" приглашает всех педагогов и детей к участию в самой массовой интернет-олимпиаде «Весна 2017» с рекордно низкой оплатой за одного ученика - всего 45 рублей

В олимпиадах "Инфоурок" лучшие условия для учителей и учеников:

1. невероятно низкий размер орг.взноса — всего 58 рублей, из которых 13 рублей остаётся учителю на компенсацию расходов;
2. подходящие по сложности для большинства учеников задания;
3. призовой фонд 1.000.000 рублей для самых активных учителей;
4. официальные наградные документы для учителей бесплатно(от организатора - ООО "Инфоурок" - имеющего образовательную лицензию и свидетельство СМИ) - при участии от 10 учеников
5. бесплатный доступ ко всем видеоурокам проекта "Инфоурок";
6. легко подать заявку, не нужно отправлять ответы в бумажном виде;
7. родителям всех учеников - благодарственные письма от «Инфоурок».
и многое другое...

Подайте заявку сейчас - https://infourok.ru/konkurs


Выберите специальность, которую Вы хотите получить:

Обучение проходит дистанционно на сайте проекта "Инфоурок".
По итогам обучения слушателям выдаются печатные дипломы установленного образца.

ПЕРЕЙТИ В КАТАЛОГ КУРСОВ


Идёт приём заявок на международный конкурс по математике "Весенний марафон" для учеников 1-11 классов и дошкольников

Уникальность конкурса в преимуществах для учителей и учеников:

1. Задания подходят для учеников с любым уровнем знаний;
2. Бесплатные наградные документы для учителей;
3. Невероятно низкий орг.взнос - всего 38 рублей;
4. Публикация рейтинга классов по итогам конкурса;
и многое другое...

Подайте заявку сейчас - https://urokimatematiki.ru

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

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