- Преподавателю
- Информатика
- План конспект + презентация по программированию в Delphi
План конспект + презентация по программированию в Delphi
Раздел | Информатика |
Класс | - |
Тип | Конспекты |
Автор | Жунусова З.Н. |
Дата | 15.12.2015 |
Формат | rar |
Изображения | Есть |
Компоненты создания списков и выпадающих списков.
Преподаватель: Жунусова Зауреш Нуркешевна
г.Астана Торгово-экономический колледж
Компонент Delphi ComboBox
Представляет собой комбинацию списка строк ListBox со строкой ввода Edit. При этом "список строк" компонента Delphi ComboBox вначале скрыт, и раскрывается при щелчке мышкой по треугольничку раскрытия, который находится справа в строке ввода:
Существует несколько типов выпадающих списков. За тип списка отвечает свойство Style.
-
CsDropDown - основной стиль. При нем вы можете не только выбирать значения из списка, но и вводить в строку свои.
-
CsDropDownList - при этом стиле можно только выбирать из списка.
-
CsownerDrawFixed - при этом стиле вы можете рисовать элементы сами с помощью графических средств. Высота элементов фиксированная.
-
CsOwnerDrawVariable - при этом стиле вы можете рисовать элементы сами. Отличается от предыдущего тем, что высота элементов не фиксированная.
-
CsSimple - только строка ввода без выпадающего списка. Компонент будет выглядеть, как TEdit.
Основными событиями компонента Delphi ComboBox являются:
Событие
Условие генерации
OnChange
Изменился текст в строке ввода.
OnDropDown
Список раскрывается. Это событие нужно обработать, если содержимое списка может изменяться во время работы программы. Тогда в обработчике этого события можно заново сформировать содержимое списка.
Практическая работа
Создадим приложение с использованием компонента ComboBox. На рисунке можно увидеть форму будущей программы.
Рис.1. Форма будущей программы
Теперь создадим обработчик события onchаnge для выпадающего списка comboBox1. Это событие происходит, когда пользователь выбрал какой-нибудь элемент списка. Для него мы напишем следующий текст программы:
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
Edit1.Text:=ComboBox1.Items.Strings[ComboBox1.ItemIndex];
end;
Теперь напишем код для кнопки Добавить:
procedure TForm1.AddButtonClick (Sender : TObject);
begin
ComboBox1.Items.Add ( ' Новая строка ' )
end;
Для кнопки Удалить код будет следующим:
procedure TForm1.DelButtonClick (Sender : TObject);
begin
ComboBox1.Items.Delete (ComboBox1.ItemIndex) ;
end;
Практическая работа на закрепление «Калькулятор с выпадающим списком».
Разместите на форме три окна ввода (Edit) , две кнопки (Button), и выпадающий список (ComboBox).
В инспекторе объектов для каждого размещенного на форме элемента установите размер шрифта равный 18. Для этого у каждого элемента измените свойство Font.
Для кнопок свойства Caption замените на ВЫЧИСЛИТЬ и ВЫХОД.
Для выпадающего списка щелкните на свойстве Items. В открывшемся диалоговом окне введите названия арифметических действий СЛОЖИТЬ, ВЫЧЕСТЬ, УМНОЖИТЬ, РАЗДЕЛИТЬ.
Внешняя сторона программы готова. Можно изменить цвет элементов формы и надписей. Цвет элементов меняется в свойстве Color, у каждого объекта. Цвет надписи изменяется в свойстве Font.
Двойным щелчком по кнопке с надписью ВЫХОД сгенерируйте событие для завершения работы программы.
procedure Button2OnClick;
begin
Form1.close;
end;
Для кнопки с надписью ВЫЧИСЛИТЬ сгенерируйте процедуру для вычисления в зависимости от того, какой из элементов списка выбран.
procedure Button1OnClick;
var a,b,c:real;
k:integer;
begin
a:=strToFloat(edit1.text);
b:=strToFloat(edit2.text);
k:=ComboBox1.ItemIndex;
if (k=1) then c:=a+b;
if (k=2) then c:=a-b;
if (k=3) then c:=a*b;
if (k=4) then c:=a/b;
edit3.text:=floatToStr(c);
end;
Практическая работа «Разработка проекта СЛОВАРЬ»
Постановка задачи
Разработать программу для составления словаря новых терминов.
Должна иметься возможность внесения в словарь изменений, дополнений или сокращения его. На форме должны отображаться текущий номер записи и общее количество записей в словаре.
План разработки программы
1. Открыть новый проект.
2. Разместить на форме экземпляры компонентов в соответствии с рисунком.
3. Сохранить код программы и проект под именами, например, Unit4.pas и Pr4.dpr.
4. Запустить программу, затем закрыть окно проекта, щелкнув на кнопке Выход.
5. Выполнить следующие действия:
Выделенный объект
Вкладка окна
Object Inspector
Имя свойства/
Имя события
Значение/Действие
Form1
Properties
Caption
Словарь
BitBtn1
Properties
Caption
&Выход
Kind
bkClose
ComboBox1
Properties
Text
Вставка пробела
Item
Открытие двойным щелчком списка String list editor. Ввод нескольких терминов, сохранение их в файле Glostext.txt, предварительно убедившись, что выбрана нужная папка (см. практическую работу №4 п.7).
6. Запустить программу, щелкнуть на стрелке компонента ComboBox1, выбрать из открывшегося списка любой термин, а затем убедиться, что текст, набираемый в строке ввода, в список не вносится. После этого закрыть проект кнопкой Выход.
7. Выполнить следующие действия:
Выделенный объект
Вкладка окна
Object Inspector
Имя свойства/
Имя события
Значение/Действие
Button1
Properties
Caption
Довавить
Events
OnClick
ComboBox1.Items.Add (ComboBox1.Text);
if ComboBox1.ItemIndex = -1 then ComboBox1.Text :='';
Последний оператор очищает строку ввода после того, как текст из нее попадает в список.
8. Запустить программу и убедиться, что набранные в строке ввода слова после нажатия кнопки Добавить добавляются в список ComboBox1.
9. Выполнить следующие действия:
Выделенный объект
Вкладка окна
Object Inspector
Имя свойств/
Имя события
Значение/Действие
Button2
Properties
Caption
Удалить
Events
OnClick
If MessageDlg('Вы действительно хотите удалить запись?',
mtWarning, [mbYes, mbNo], 0) = mrYes then
ComboBox1.Items.Delete(ComboBox1.ItemIndex);
Пояснения.
Условие If MessageDlg... означает, что при нажатии кнопки Удалить появится диалоговое окно с вопросом 'Вы действительно хотите удалить запись?' с двумя кнопками Yes и No. Предварительно выбранный термин будет удален из списка только при нажатии кнопки Yes.
MessageDlg является функцией с четырьмя аргументами:
1. Сообщение, которое нужно отобразить, в одинарных кавычках.
2. Тип диалогового окна - константы: mtWarning, mtError, mtInformation, mtConformation, определяющие специальную пиктограмму и заголовок диалогового окна.
3. Список констант в квадратных скобках, определяющих присутствующие в окне кнопки. Возможные значения - mbYes, mbNo, mbCancel, mbHelp.
4. Число, с которым ассоциирована тема справки. Оно отлично от нуля, если в окне присутствует кнопка mbHelp, а программа имеет связанный с ней файл справки Windows.
Функция MessageDlg возвращает константу, определяющую нажатую пользователем кнопку.
10. Запустить программу, добавить в список и (или) удалить несколько строк, закрыть ее, а затем снова запустить. Заметим, что внесенные изменения не сохранились. Это связано с тем, что в ComboBox загружается первоначальный список.
11. Выполнить следующие действия:
Выделенный объект
Вкладка окна
Object Inspector
Имя свойства/
Имя события
Значение/Действие
Button4
Properties
Caption
Сохранить
Events
OnClick
ComboBox1.Items.SaveToFile ('glostext.txt');
Form1
Events
OnCreate
ComboBox1.Items.LoadFromFile ('glostext.txt');
Пояснения.
Теперь при создании формы в список ComboBox1 будет загружаться содержимое файла 'Glostext.txt', а измененный список запоминается в нем при нажатии кнопки Сохранить.
12. Выполнить следующие действия:
Выделенный объект
Вкладка окна
Object Inspector
Имя свойства/
Имя события
Значение/Действие
Button3
Properties
Caption
Редактировать
ComboBox1
Events
OnClick
num:= ComboBox1.ItemIndex;
Предварительно описать в разделе Var целочисленную переменную num.
Button3
Events
OnClick
ComboBox1.Items.Delete (num);
ComboBox1.Items.Add (ComboBox1.Text);
if ComboBox1.ItemIndex = -1 then ComboBox1.Text:='';
Пояснения.
1. Для исправления ошибок, замеченных в строках списка, выделенную строку надо удалить из списка, а исправленную строку (т.е. содержимое строки ввода) добавить в список.
2. Новая переменная num необходима для сохранения номера выбранной строки. При внесении изменений выбранной строкой становится строка ввода, для которой ItemIndex = -1.
13. Для кнопок Добавить, Редактировать, Удалить для сохранения внесенных изменений необходимо добавить:
Вкладка окна
Object Inspector
Имя свойства/
Имя события
Значение/Действие
Events
OnClick
ComboBox1.Items.SaveToFile ('Glostext.txt');
14. Запустить программу и убедиться, что если выбрать строку, исправив ее, а затем щелкнуть на кнопке Редактировать, то измененная строка попадет в конец списка.
15. Предусмотреть режим работы со списком, допускающий только чтение.
Выделенный объект
Вкладка окна
Object Inspector
Имя свойства/
Имя события
Значение/Действие
CheckBox1
Properties
Caption
Только чтение
Events
OnClick
if CheckBox1.Checked = False then ComboBox1.Style:= csDropDown else ComboBox1.Style:= csDropDownList;
Свойство Checked у выбранного выключателя имеет значение True, а в исходном состоянии - значение False.
Пояснения.
Комбинированные списки бывают 3 типов:
простые (simple) - список всегда открыт;
раскрывающиеся (drop down) - список свернут;
неизменяемые (drop down list) - список свернут и возможен только выбор элемента из списка.
16. В режиме Только чтение, сделать недоступной кнопку Добавить:
Выделенный объект
Вкладка окна
Object Inspector
Имя свойства/
Имя события
Значение/Действие
CheckBox1
Events
OnClick
if CheckBox1.Checked = false then Button1.Enabled := true else
Button1.Enabled := false;
Аналогично сделать недоступными кнопки Редактировать, Удалить, Сохранить.
17. Сохранить проект окончательно, запустить и протестировать его.