Цель: Ознакомить учащихся с основными свойствами и методами создания списков при составлении программ в среде Delphi
Сегодня на занятии мы познакомимся с созданием и программированием списков.
Как вы понимаете, что такое список?
Под списком будем понимать упорядоченную последовательность текстовых строк.
Вопрос учителя: Ребята, а где в повседневной жизни вы встречались с понятием “СПИСОК”?
Учащиеся: В журнале список учащихся, список дел на текущую неделю в еженедельнике.
Давайте познакомимся с различными видами списков, используемых при составлении программ в среде Delphi.
Откройте файл C:\МОИ ДОКУМЕНТЫ\ПРИМЕР1\пример1.exe.
Программное обеспечение урока.
Вашему вниманию представлена демонстрация трех, наиболее часто используемых видов списков.
Листинг программы представлен ниже.
unit example1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
ListBox1: TListBox;
ComboBox1: TComboBox;
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
Image2: TImage;
Label3: TLabel;
ColorBox1: TColorBox;
procedure ListBox1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure ColorBox1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ListBox1Click(Sender: TObject);
begin
case ListBox1.itemindex of
0:Image1.Picture.LoadFromFile('акула.bmp');
1:Image1.Picture.LoadFromFile('Дельфин.bmp');
2:Image1.Picture.LoadFromFile('Морская звезда.bmp');
3:Image1.Picture.LoadFromFile('морской конек.bmp');
4:Image1.Picture.LoadFromFile('Осьминог.bmp');
end;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
case ComboBox1.itemindex of
0:Image2.Picture.LoadFromFile('ананас.bmp');
1:Image2.Picture.LoadFromFile('банан.bmp');
2:Image2.Picture.LoadFromFile('виноград.bmp');
3:Image2.Picture.LoadFromFile('гранат.bmp');
4:Image2.Picture.LoadFromFile('груша.bmp');
5:Image2.Picture.LoadFromFile('яблоко.bmp');
end;
end;
procedure TForm1.ColorBox1Change(Sender: TObject);
begin
Form1.Color:=ColorBox1.Selected;
end;
end.
Оформление программы представлено на рис. 1.
Рис. 1
Учитель: В курсе БКП вы учились работать со многими готовыми программами. Вспомните, в каких программах вы встречались с рассмотренными видами списков.
Учащиеся: В Microsoft Word и Microsoft Excel – параметры шрифта.
Сегодня мы посмотрим, какие компоненты применяются для программирования списков, какими свойствами и методами они обладают.
На наших занятиях мы уже изучали компоненты, представляющие собой список текстовых строк. Это многострочный редактор Memo и группа зависимых переключателей RadioGroup.
Свойства указанных выше компонентов схожи со свойствами списков. Давайте вспомним их.
Для этого поиграем в игру “Домино”.
Правила игры:
- Игра проводится в парах.
- На каждый из десяти поставленных вопросов найти верный ответ среди предложенных 20 вариантов на карточках в конверте и вставить в окошки.
- На лицевой стороне холста указать фамилии, имена учащихся, выполнивших задания и вложить визитку в соответствующий конверт.
- Время выполнения задания – 12-15 мин.
После выполнения данного задания поменяться карточками с ребятами, сидящими за компьютером справа, Проверить выполнение заданий, поставить оценку и написать фамилии проверявших на визитке (находится на лицевой стороне холста) и вложить в соответствующий конверт.
Правильные ответы зачитываются преподавателем
Время проверки 20 – 30 секунд
Критерии оценки:
- 1 неверный ответ – отлично.
- 2 -3 неверных – хорошо.
- 4-5 неверных ответов – удовлетворительно.
- 6-10 неверных ответов – неудовлетворительно.
Вопросы и Ответы:
Вопрос | Предлагаемые варианты ответов | |
Правильные | Неправильные | |
Свойство, определяющее порядковый номер выбранного переключателя в радиогруппе | ItemIndex | ItemName |
Компонент, представляющий собой группу взаимозависимых переключателей | Radiogroup | Radiobutton |
Свойство радиогруппы, определяющее названия и количество переключателей | Items | Text |
Метод Memo для добавления строки текста в конец текста | Add | Load |
Метод Memo, позволяющий вставить строку текста перед заданной строкой | Insert | Insert |
Свойство Memo, определяющее количество строк текста и их содержание | Lines | MultiSelect |
Очистка Memo | Clear | Align |
Удаление строки текста из текста Memo | Delete | DeleteLines |
Метод, позволяющий загрузить данные из текстового файла в Memo | LoadFromFile | Visible |
Метод сохранения текста Memo в текстовый файл | SaveToFile | Save |
Вывод: мы повторили основные свойства и методы компонентов Memo и Radiogroup.
А теперь познакомимся со свойствами и методами простого списка ListBox.
Откройте файл C:\МОИ ДОКУМЕНТЫ\ПРИМЕР2\пример2.exe.
Внешний вид программы представлен на рис. 2.
Рис. 2
Листинг программы представлен ниже:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ComCtrls;
type
TForm1 = class(TForm)
ListBox1: TListBox;
Label1: TLabel;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
BitBtn1: TBitBtn;
Memo1: TMemo;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
FontDialog1: TFontDialog;
Edit1: TEdit;
CheckBox5: TCheckBox;
BitBtn4: TBitBtn;
CheckBox6: TCheckBox;
CheckBox7: TCheckBox;
Edit2: TEdit;
UpDown1: TUpDown;
Edit3: TEdit;
UpDown2: TUpDown;
procedure CheckBox1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure CheckBox3Click(Sender: TObject);
procedure CheckBox4Click(Sender: TObject);
procedure CheckBox5Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure CheckBox6Click(Sender: TObject);
procedure CheckBox7Click(Sender: TObject);
procedure UpDown1Click(Sender: TObject; Button: TUDBtnType);
procedure UpDown2Click(Sender: TObject; Button: TUDBtnType);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
If CheckBox1.Checked = true Then
BitBtn1.Enabled:=true
Else
Begin
BitBtn2.Visible:=false;
Memo1.Visible:=False;
BitBtn1.Enabled :=False;
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Memo1.Visible :=True;
BitBtn2.Visible:=True;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
var I:integer;
begin
ListBox1.Clear;
For I:=0 to Memo1.Lines.Count-1 do
ListBox1.Items.Add(Memo1.Lines[I]);
end;
procedure TForm1.CheckBox2Click(Sender: TObject);
begin
If CheckBox2.Checked = true Then
BitBtn3.Enabled:=true
Else
BitBtn3.Enabled:= false;
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
FontDialog1.Execute;
ListBox1.Font:=FontDialog1.Font;
end;
procedure TForm1.CheckBox3Click(Sender: TObject);
begin
If CheckBox3.Checked = true Then ListBox1.Sorted:=True
else
ListBox1.Sorted:=False;
end;
procedure TForm1.CheckBox4Click(Sender: TObject);
begin
if CheckBox4.Checked = True Then
BitBtn4.Enabled:=true
Else
Begin
BitBtn4.Enabled:=false;
Edit1.Text:='0';
End;
end;
procedure TForm1.CheckBox5Click(Sender: TObject);
begin
if CheckBox5.Checked = True Then
ListBox1.MultiSelect:=True
Else
ListBox1.MultiSelect:=False;
end;
procedure TForm1.BitBtn4Click(Sender: TObject);
begin
Edit1.Text:=Inttostr(ListBox1.SelCount);
end;
procedure TForm1.CheckBox6Click(Sender: TObject);
begin
if CheckBox6.Checked = True Then Begin
Edit2.Visible:=True;
UpDown1.Visible:=True;
end
Else
Begin
Edit2.Visible:=False;
UpDown1.Visible:=False;
End;
end;
procedure TForm1.CheckBox7Click(Sender: TObject);
begin
if CheckBox7.Checked = True Then Begin
Edit3.Visible:=True;
UpDown2.Visible:=True;
end
Else
Begin
Edit3.Visible:=False;
UpDown2.Visible:=False;
End;
end;
procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);
begin
ListBox1.Width:=UpDown1.Position;
end;
procedure TForm1.UpDown2Click(Sender: TObject; Button: TUDBtnType);
begin
ListBox1.Height:=UpDown2.Position;
end;
end.
Ребята самостоятельно знакомятся с новым компонентом ListBox и конспектируют в тетрадях.
ListBox (с. Standard)
Свойства:
Items – описание элементов списка.
Itemindex – номер выбранного элемента.
Multiselect – возможность выделения нескольких элементов списка.
ExtendedSelect – способ выделения элементов списка; False – выделение мышью; True- выделение при нажатой клавише <Ctrl>, <Shift>.
Selcount – число выбранных элементов списка.
Sorted – сортировка (алфавитный порядок) элементов списка.
Style – стиль списка.
Scrollbars
Значения:
lbStandard – стандартный стиль (по умолчанию)
lbOwnerDrawFixed – список с элементами фиксированной высоты, устанавливаемой свойством ItemHeight
Методы:
- Удаление элемента списка: Listbox1.items.Delete (N), N – номер элемента;
- Добавление в список нового элемента перед элементом с номером N: Listbox1.items.Insert (N,новый элемент);
- Добавление в конец списка нового элемента: ListBox1.Items.Add (добавляемый элемент);
- Запись элементов списка в файл: Listbox1.items.SaveToFile (полное имя файла);
- Запись в список содержимого файла:Listbox1.items.LoadFromFile(полное имя файла);
- Очистка списка: Memo1.clear;
- Удаление выделенного элемента списка: Listbox1.DeleteSelected;
- Комбинированный список (ComboBox –с. Standard ) – поле со списком.
Вопрос:
Назовите внешние отличительные особенности списка Combobox от списка ListBox?
Учащиеся:
Объединяет поле редактирования Edit и список ListBox.
В отличие от простого, комбинированный список допускает выбор только одного значения.
Список цветов ColorBox (c. Additional)
Текущий цвет – Selected
Закрепление изученных свойств и методов выполним с помощью практического задания.
Решение задачи оформить в тетрадях.
Условие задания:
Используя пример 2, создайте список со следующими характеристиками:
Список выпадающий.
Список содержит названия стран: Россия, Франция, Англия.
Элементы списка располагаются в алфавитном порядке.
По умолчанию выбранным элементом списка является Англия.
Параметры шрифта каждого элемента списка: шрифт – Arial, размер-18 пт, цвет – зеленый, полужирный курсив.
Запрограммировать список так, чтобы при выборе страны отображалось название ее столицы.
Закрепим изученные свойства списков теоретически.
Задание: каждому учащемуся заполнить кроссворд, можно пользоваться только компьютером.
Время выполнения задания: 5 минут.
Кроссворд с заданиями и ответами см. рис. 3.
Рис. 3
Поменяйтесь выполненными заданиями с соседом по парте.
Учителем раздаются карточки с правильными ответами.
Проверяющий указывает свою фамилию и выставляет оценку.
Оценка должна быть выставлена в соответствии с критериями:
- 1 неверный – отлично
- 2-3 неверных – хорошо
- 4 неверных ответов – удовлетворительно
- 5-11 неверных ответов – неудовлетворительно
Если оценка выставлена не объективно, то итоговая за занятие оценка проверяющего может быть изменена (в сторону уменьшения балла)