- •Оглавление
- •20.1. Практическая работа 83
- •Глава I. Знакомство со средой Delphi
- •1.1. Общие сведения
- •Глава II. Создание приложений в среде Delphi
- •2.1. Характеристика проекта
- •2.2. Файл проекта
- •2.3. Файл формы
- •2.4. Файл модуля
- •2.5. Файл ресурсов
- •2.6. Практическая работа
- •Глава III. Использование компонентов
- •3.1. Понятие компонента
- •3.2. Страница Standard.
- •3.3. Страница Additional.
- •3.4. Страница Win32.
- •3.5. Страница System.
- •3.6. Страница Data Access.
- •3.7. Страница Data Controls.
- •3.8. Страница qReport.
- •3.9. Страница Dialogs.
- •3.10. Основные свойства объектов.
- •Глава IV. Работа с кнопками
- •4.1. Стандартная кнопка Button.
- •4.2. Кнопка с рисунком BitBtn.
- •4.3. Кнопка быстрого доступа SpeedButton.
- •4.4. Практическая работа
- •4.5. Самостоятельная работа
- •Глава V. Поля редактирования
- •5.1. Edit-однострочный редактор
- •5.2. Memo-многострочный редактор
- •5.3. Практическая работа
- •5.4. Самостоятельная работа
- •5.5. MaskEdit - специальный редактор
- •5.6. Практическая работа
- •6.3. Структура программы.
- •6 .4. Типы данных
- •6.4.1. Простые типы данных
- •6.4.2. Структурные типы данных
- •6.4.3. Функции и процедуры работы со строками
- •6.4.4. Функции преобразования строк в другие типы.
- •6.5. Операторы языка
- •6.6. Практическая работа.
- •6.8. Самостоятельная работа
- •6.9. Самостоятельная работа
- •6.10. Самостоятельная работа
- •6.11. Обработка исключительных ситуаций
- •Глава VII. Классы в Object Pascal.
- •7.1. Понятие класса
- •7.2. Поля класса
- •7.3. Методы класса
- •Глава VIII. Процедуры и функции, реализующие диалоги
- •8.1. Процедура ShowMessage.
- •8.2. Функция MessageDlg.
- •8.3. Функция MessageDlgPos.
- •8.4. Функция InputBox
- •9.2. Практическая работа
- •9.3. Самостоятельная работа
- •Глава X. Работа со списками
- •10.1. Простой список ListBox.
- •10.2. Комбинированный список ComboBox.
- •10.3. Общая характеристика списков
- •10.3.1. Свойства
- •10.3.2. Методы
- •10.4. Объект UpDown
- •10.5. Практическая работа
- •10.6. Самостоятельная работа
- •10.7. Самостоятельная работа
- •10.8. Самостоятельная работа
- •Глава XI. Объекты MainMenu и PopupMenu.
- •11.1. Основные свойства объектов
- •11.2. Игра «Крестики-нолики»
- •11.3. Самостоятельная работа
- •Глава XII. Использование переключателей.
- •12.1. Объект CheckBox
- •12.2. Объект RadioButton
- •12.3. Объект RadioGroup
- •12.4. Практическая работа
- •12.5. Самостоятельная работа
- •12.6. Самостоятельная работа
- •Глава XIII. Регуляторы величины
- •13.1. Объект ScrollBar
- •13.2. Практическая работа
- •13.3.Объект TrackBar
- •13.4. Самостоятельная работа
- •13.5. Самостоятельная работа
- •13.6. Компонент ProgressBar
- •Глава XIV. Объединение элементов управления
- •14.1. Объект Panel.
- •14.2. Область прокрутки ScrollBox
- •14.3. Фреймы Frame.
- •14.4. Практическая работа
- •14.5. Самостоятельная работа
- •Глава XV. Работа с таблицами
- •15.1. Объекты StringGrid и DrawGrid
- •15.2. Проект «Олимпиада»
- •15.3. Практическая работа
- •15.4. Самостоятельная работа
- •15.5. Самостоятельная работа
- •Глава XVI.Страница Dialogs
- •16.1. Стандартные диалоговые окна Windows
- •16.2. Общие свойства OpenDialog и SaveDialog:
- •16.3. Общие свойства OpenPicyureDialog и SavePictureDialog:
- •16.4. Практическая работа
- •16.5.Объект FontDialog
- •16.6. Объект ColorDialog
- •16.7. Практическая работа
- •16.8. Объекты FindDialog и ReplaceDialog
- •16.9. Проект «Примитивный редактор текста»
- •Глава XVII. Элементы с закладками
- •17.1. Однострочный блокнот TabControl.
- •17.2. Практическое задание
- •17.3. Самостоятельная работа
- •17.4. Многостраничный блокнот PageControl.
- •17.5. Практическая работа
- •Глава XVIII. Иерархические структуры
- •18.1. Объект TreeView
- •18.2. Практическая работа
- •18.3. Самостоятельная работа
- •18.4.Объект ListView
- •18.5. Практическое работа
- •Глава XIX. Работа с датами и временем
- •19.1. Объект DateTimePicker
- •19.2. Объект MonthCalendar
- •19.3. Объект Calendar.
- •19.4. Самостоятельная работа
- •19.5. Объект Timer
- •19.6. Практическая работа
- •19.7. Самостоятельная работа
- •Глава XX. Объект Animate
- •20.1. Практическая работа
- •20.2. Игра «угадай число»
- •Глава XXI. Панели инструментов
- •21.1. Объект ToolBar.
- •21.2. Объект ControlBar
- •21.3. Создание текстового редактора с использованием объекта RichEdit
- •Глава XXII. Графика в Delphi
- •22.1. Класс tCanvas
- •22.2. Класс tFont.
- •22.3. Класс tPen.
- •22.4. Класс tBrush
- •22.5. Класс tGraphic
- •22.6. Класс tPicture
- •22.7. PaintBox - окно для рисования
- •22.8. Практическая работа
- •22.9. Практическая работа
- •22.10. Самостоятельная работа
- •22.11. Объект Shape
- •22.12. Самостоятельная работа
- •22.13. Создание графического редактора
15.3. Практическая работа
Создадим программу для магазина. В таблицу можно добавлять, удалять и покупать товар со склада.
Поставьте на форму следующие компоненты: StringGrid1 (SG), 5 меток Label с заголовками «Код товара», «Название», «Цена», «Количество», «Введите количество покупаемого товара», 5 строк ввода Edit, 3 кнопки: «Купить», «Добавить товар», «Удалить товар», «Выход».
В таблице понадобится фиксированная строкадля названия колонок. Поэтому свойству FixedCols в Инспекторе Объектов присвоим значение 0.
Свойству ColCount зададим значение 4, а RowCount зададим значение 2, так как сначала товаров не будет.
Опишем процедуру заполнения фиксированных ячеек (процедура по созданию формы):
procedure TForm1.FormCreate(Sender: TObject);
begin
SG.Cells[0,0]:='Код товара';
SG.Cells[1,0]:='Название';
SG.Cells[2,0]:='Цена';
SG.Cells[3,0]:='Количество';
end;
Вторая процедура на кнопку «Добавить товар» будет заключаться в том, что из полей ввода в таблицу переносятся в соответствующие ячейки код, название, цена и количество товара, причем в выбранную пользователей строку.
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
SG.Cells[0,SG.row]:=edit1.Text;
SG.Cells[1,SG.row]:=edit2.Text;
SG.Cells[2,SG.row]:=edit3.Text;
SG.Cells[3,SG.row]:=edit4.Text;
SG.RowCount:=SG.RowCount+1;
// увеличиваем количество строк в таблице
SG.row:=SG.row+1;// делаем текущей следующий ряд
end;
StringGrid1.row – текущая строка, StringGrid1.col – текущий столбец.
Самостоятельно напишите процедуру для кнопок «Купить товар» и «Удалить товар», учитывая введенное количество товара.
15.4. Самостоятельная работа
С
оздать
проект, который содержит список клиентов.
Пользователь имеет возможность ввести
и отсортировать этот список.
15.5. Самостоятельная работа
Создайте проект для поиска минимального, максимального и заданного элементов в двумерном массиве. Если элемент найден, то его индекс выводится в метку. Для этого на форме расположите компонент StrinGrid (Sg), состоящий из 3 строк и 5 столбцов; три компонента RadioButton (Rb1, Rb2, Rb3) для указания выбора поиска.
Для осуществления поиска заданного элемента массива, используем компонент Edit, который доступен только тогда, когда ищем заданный элемент.
Глава XVI.Страница Dialogs
16.1. Стандартные диалоговые окна Windows
В Delphi имеются 10 элементов, находящихся на странице Dialogs палитры компонентов. Они реализуют диалоги общего назначения.
OpenDialog – выбор открываемого файла
SaveDialog – выбор сохраняемого файла
OpenPictureDialog – выбор открываемого графического файла
SavePictureDialog – выбор сохраняемого графического файла
FontDialog – настройка параметров шрифта
ColorDialog – выбор цвета
PrintDilog – вывод на принтер
PrinterSetupDialog – выбор принтера и настройка его параметров
FindDialog – ввод строки текста для поиска
ReplaceDialog – ввод строк текста для поиска и замены.
Для вызова любого стандартного диалога используется метод Execute – функция, которая создает и показывает на экране диалоговое окно. Вызов этого метода обычно располагается внутри обработчика какого-либо события. Execute – логическая функция. При закрытии диалога кнопкой ОК она возвращает значение True, а при отмене диалога – значение False;
После закрытия стандартного диалога он возвращает через свои свойства значения, выбранные или установленные в процессе диалога. Например, при открытии файла возвращаемым значением является имя открываемого файла (OpenDialog1.Filename), а при выборе цвета – новый цвет (Colordialog1.color).
