
- •Ответственный за выпуск: Бивойно п.Г. , декан факультета электронных и информационных технологий, канд. Техн. Наук, доцент
- •Содержание
- •4.1.4 Разработка интерфейса проекта 66
- •5.1.7 Разработка интерфейса проекта 81
- •Введение
- •Лабораторная работа № 1. Знакомство с интегрированой средой разработки (иср)“Delphi 7”
- •Краткие теоретические сведения о иср “Delphi 7”
- •Конструктор стартовой формы
- •Главное окно иср “Delphi 7”
- •Главное меню
- •Панели инструментов
- •Палитра компонентов
- •Окно просмотра дерева объектов
- •Окно редактора кода
- •Закладка редактора кода модуля
- •Закладка редактора кода файла проекта
- •Окно Object Inspector
- •Закладка описания свойств объекта
- •События и процедуры обработки событий
- •Создание простейшего проекта
- •Разработка интерфейса проекта
- •Создание процедуры инициализации приложения
- •Создание процедуры вычисления результата
- •Улучшение проекта
- •Сохранение проекта
- •Продолжение работы с проектом на другом компьютере
- •Содержание отчета
- •Контрольные вопросы и задания
- •Рекомендованая литература
- •Лабораторная работа № 2. Вещественный тип данных. Расчеты по формулам
- •Краткие теоретические сведения
- •Язык программирования Object Pascal
- •Объекты, переменные и константы
- •Классы и типы
- •Объявление объектов и переменных
- •Вещественный тип данных
- •Выражение
- •Стандартные функции для данных вещественного типа
- •Инструкция присваивания
- •Форматирование результатов расчетов
- •Создание проекта «Расчет по формуле»
- •Создание интерфейса
- •Компонент ole-контейнер
- •Компонент Group Box
- •Компонент Memo
- •Завершение работы над интерфейсом
- •Создание процедур обработки событий Процедура очистки протокола
- •Процедура инициализации формы
- •Процедура выполнения расчета по формуле
- •Контольный пример
- •Трассировка процедуры
- •Содержание отчета
- •Контрольные вопросы
- •Рекомендованая литература
- •Лабораторная работа № 3. Подпрограммы Краткие теоретические сведения
- •Правила написания подпрограмм
- •Описание процедуры
- •Вызов процедуры
- •Описание функции
- •Вызов функции
- •Способы передачи параметров в подпрограммы
- •Передача параметров по значению
- •Передача параметров по наименованию
- •Расположение подпрограмм
- •Подпрограммы обработки событий класса формы
- •Другие подпрограммы класса формы
- •Размещение подпрограмм в модуле
- •Размещение подпрограмм в других модулях
- •Размещение подпрограмм внутри других подпрограмм
- •Область действия имен
- •Реализация проекта «Процедуры и функции»
- •Создание процедур и функций Процедуры инициализации
- •Процедура считывания коэффициентов уравнения
- •Функция для расчета по формуле
- •Использование дополнительного модуля
- •Завершение работы над проектом
- •Исследование созданного приложения
- •Анализ передачи параметров по наименованию
- •Анализ передачи параметров по значению
- •Содержание отчета
- •Контрольные вопросы
- •Операции над логическими данными
- •Логические выражения
- •Разветвляющиеся алгоритмы
- •Программирование разветвлений Условный оператор if…then…else
- •Оператор варианта case
- •Реализация проекта «Организация разветвлений»
- •Разработка интерфейса проекта
- •Компоненты для работы со списками
- •Процедуры обработки событий выбора из списка
- •Процедуры обработки событий onKeyPress
- •Решение квадратного уравнения
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 5. Построение циклов с инструкциями „while” и „repeat”
- •Краткие теоретические сведения
- •Циклические алгоритмы
- •Инструкция while…do
- •Инструкция repeat…until
- •Прерывание цикла
- •Итерационные алгоритмы
- •Пример итерационного алгоритма для вычисления кубического корня
- •Задание для самостоятельной работы
- •Алгоритмы вычисления сумм бесконечных рядов
- •Задание для самостоятельной работы
- •Создание проекта WhileRepeat
- •Разработка интерфейса проекта
- •Компоненты PageControl и TabSheet
- •Компонент CheckBox
- •Создание закладки для вычисления корня
- •Создание закладки для вычисления синуса
- •Создание процедур и функций Процедура для контроля ввода данных
- •Процедура вычисления кубического корня
- •Процедура вычисления синуса
- •Задания для расчетно-графической работы № 2
- •Содержание отчета
- •Контрольные вопросы
- •Целые типы данных
- •Символьные типы данных
- •Ограниченный тип данных.
- •Применение инструкции цикла for
- •Табулирование значений функций
- •Форматирование результатов при выводе таблиц
- •Строки символов
- •Операции над строками
- •Процедура Delete
- •Процедура Insert
- •Функция Pos
- •Функции Trim, TrimLeft, TrimRight
- •Создание проекта «Применение цикла for»
- •Разработка формы «Табулирование функции» Разработка интерфейса
- •Создание вспомогательных процедур и функций
- •Создание процедуры табулирования функции
- •Разработка формы «Таблица “символ-код”» Разработка интерфейса
- •Создание процедуры вывода таблицы символ-код
- •Разработка формы «Обработка последовательностей целых чисел»
- •Разработка интерфейса
- •Создание процедуры обработки последовательности целых чисел
- •Создание многодокументной (mdi)формы
- •Задание для самостоятельной работы
- •Содержание отчета
- •Контрольные вопросы
- •Рекомендованая литература
Процедура Delete
Объявление процедуры:
procedure Delete (var s : String; index, count : Integer);
Процедура удаляет из строки S до Count символов, начиная с позиции Index.
Если count определяет больше символов, чем возможно, удаляется максимально возможное число символов.
Если index выходит за пределы строки, удаление не производится.
Обратите внимание, так как строка передается в процедуру по ссылке, то в процедуру можно передавать только имя строки, но не значение.
Например, пусть значение строки s равно ‘Десна – прекрасная река’. После вызова процедуры Delete (s, 9, 11) значение строки s станет ‘Десна –река’.
Процедура Insert
Объявление процедуры:
procedure Insert (source: String; var s: String; index: Integer);
Процедура вставляет строку source в строку s, начиная с позиции index.
Если index < 1, он заменяется единицей. Если индекс больше длины строки, source добавляется к концу строки s.
Так же как и в предыдущем случае, строка s передается в процедуру по ссылке.
Например, пусть значение строки s равно ‘Десна – река’. После вызова процедуры Insert (‘прекрасная ’ s, 9) значение строки s станет ‘Десна – прекрасная река’.
Функция Pos
Объявление функции:
function Pos (substr, s : String): Integer;
Функция возвращает позицию (индекс) первого вхождения строки substr в строку s. Если substr нет в s, возвращается 0.
Например, выражение Pos(‘прекрасная ’, ‘Десна – прекрасная река’) вернет значение 9.
Функции Trim, TrimLeft, TrimRight
Объявление функций:
function Trim (const S: string): string;
function TrimLeft (const S: string): string;
function TrimRight (const S: string): string;
Функция Trim удаляет из строки S начальные и завершающие пробелы и управляющие символы, такие как табуляция, возврат каретки и перевод строки.
Функция TrimLeft удаляет из строки S начальные пробелы и управляющие символы.
Функция TrimRight удаляет из строки S завершающие пробелы и управляющие символы.
Пробелы находящиеся внутри строки не удаляются ни одной из этих функций.
Создание проекта «Применение цикла for»
В этой лабораторной работе мы создадим приложение, которое продемонстрирует возможности цикла for для обработки данных различных типов. Особенность данного приложения в том, что оно будет содержать несколько форм, и мы попытаемся их объединить, но вначале создадим каждую форму отдельно.
Откройте новый проект.
-
Разработка формы «Табулирование функции» Разработка интерфейса
В этой части проекта Вы должны обеспечить вывод таблицы значений функции, расчет которой Вы запрограммировали на лабораторной работе 2.
Создайте форму с интерфейсом, подобным рисунку 6.2.
Рисунок 6.2 – Интерфейс формы «Табулирование функции»
Формулу на форме изображать не обязательно, но табулировать следует функцию, которая соответствует вашему номеру зачетной книжки.
Измените имя формы, например, на frmTable. Это следует сделать обязательно, так как в проекте будет несколько форм, и их придется различать.
Создание вспомогательных процедур и функций
Подключите к форме модуль UnitDop.
В этом модуле уже должна быть функция для расчета по формуле, соответствующей вашему варианту. Если вы не сохранили модуль, создайте функцию заново и включите ее в в модуль UnitDop.
Обеспечьте контроль ввода данных в текстовые поля, используя событие onKeyPress и процедуру TestRealKey, созданную в четвертой лабораторной работе.
Напишите процедуру инициализации формы, которая обеспечит заполнение полей ввода данными, которые соответствуют контрольному примеру. Это ускорит отладку.
Проверьте работу вспомогательных подпрограмм.