Введение в среду визуального программирования Turbo Delphi. Часть 3
Покупка
Новинка
Тематика:
Программирование в среде Delphi
Авторы:
Борисов Станислав Васильевич, Комалов Сергей Сергеевич, Пащенко Олег Борисович, Серебрякова Ирина Леонидовна
Год издания: 2013
Кол-во страниц: 86
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-7038-3734-4
Артикул: 842059.01.99
Пособие является практическим руководством для освоения среды визуального программирования Turbo Delphi. Рассмотрены особенности использования текстовых файлов, стандартные диалоги, динамические массивы, списковые структуры и примеры обработки исключительных ситуаций. Для студентов младших курсов всех специальностей МГТУ им. Н.Э. Баумана, владеющих основами программирования на языке Паскаль.
Тематика:
ББК:
УДК:
- 004: Информационные технологии. Вычислительная техника...
- 681: Точная механика. Автоматика. Приборостроение
ОКСО:
- ВО - Бакалавриат
- 01.03.02: Прикладная математика и информатика
- 02.03.02: Фундаментальная информатика и информационные технологии
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Московский государственный технический университет имени Н.Э. Баумана ВВЕДЕНИЕ В СРЕДУ ВИЗУАЛЬНОГО ПРОГРАММИРОВАНИЯ TURBO DELPHI Часть 3 Рекомендовано Научно-методическим советом МГТУ им. Н.Э. Баумана в качестве учебного пособия по программированию для изучающих дисциплину «Информатика» Москва Издательство МГТУ им. Н.Э. Баумана 2013 1
УДК 681.3.06(075.8) ББК 32.973.26-018.2 В24 Рецензенты: Т.И. Вишневская, А.Е. Синеев В24 Введение в среду визуального программирования Turbo Delphi : учеб. пособие : ч. 3 / С. В. Борисов, С. С. Комалов, О. Б. Пащенко, И. Л. Серебрякова. — М.: Изд-во МГТУ им. Н.Э. Баумана, 2013. — 82, [6] с. : ил. ISBN 978-5-7038-3734-4 Пособие является практическим руководством для освоения среды визуального программирования Turbo Delphi. Рассмотрены особенности использования текстовых файлов, стандартные диалоги, динамические массивы, списковые структуры и примеры обработки исключительных ситуаций. Для студентов младших курсов всех специальностей МГТУ им. Н.Э. Баумана, владеющих основами программирования на языке Паскаль. УДК 681.3.06(075.8) ББК 32.973.26-018.2 ISBN 978-5-7038-3734-4 МГТУ им. Н.Э. Баумана, 2013 2
ВВЕДЕНИЕ Система Turbo Delphi — это среда разработки приложений, ориентированных на работу в среде операционных систем Microsoft Windows 2000 Professional, Microsoft Windows XP Professional или Microsoft Windows Server 2003. В данном пособии использована версия системы Turbo Delphi Explorer, предназначенная для целей обучения программированию. Авторы надеются, что читатель как минимум ознакомился с информацией, представленной в частях 1 и 2 учебного пособия «Введение в среду визуального программирования Turbo Delphi» [1, 2]. В представленную работу включены разделы, посвященные созданию приложений, использующих текстовые файлы и стандартные диалоги, обработке исключительных ситуаций, использованию динамических массивов, списковым структурам. Все приложения реализованы в рамках визуальной среды и ориентированы на начинающих программистов. В пособии представлено достаточно наглядных примеров, позволяющих легко разобраться с особенностями программирования реальных задач. Каждый раздел содержит краткие информационные сведения, постановку задачи, описание необходимых для ее реализации средств, соответствующего кода и комментариев к нему. Учебное пособие служит дополнительным вспомогательным материалом при самостоятельном освоении перечисленных возможностей системы Turbo Delphi и может быть адресовано студентам МГТУ им. Н.Э. Баумана, изучающим общеуниверситетскую дисциплину «Информатика» на 1-м курсе обучения. 3
1. ТЕКСТОВЫЙ ФАЙЛ. СТАНДАРТНЫЕ ДИАЛОГИ 1.1. ТЕКСТОВЫЙ ФАЙЛ Текстовый файл является последовательным файлом. Напомним, что доступ к элементам такого файла может быть получен только последовательно, т. е. сначала предоставляется доступ к первому элементу файла, затем ко второму и так далее до конца файла. Текстовый файл состоит из символов кода ASCII, которые могут быть объединены в строки разной длины (возможны и пустые строки). Текстовый файл можно создавать и редактировать с помощью любого текстового редактора, поддерживающего сохранение файлов в коде ASCII. Строки такого файла завершаются невидимыми управляющими символами с кодами 13 (возврат каретки) и 10 (перевод строки). Такая пара символов называется признаком конца строки и занимает два байта. Этот факт следует учитывать при работе со строками текстового файла. Для занесения в файл признака конца строки после ее набора нужно нажать клавишу <Enter>. Признак конца строки может быть опознан с помощью логической функции EoLn(). Рассмотренные в работе [2] процедуры работы с файлами являются основными и используются для работы с текстовыми файлами. Однако можно указать на некоторые особенности работы с текстовыми файлами: 1) текстовый файл можно открыть для записи, считывания и добавления в конец файла; 2) оператор Reset() открывает файл только для чтения; 3) нельзя одновременно выполнять ввод из текстового файла и вывод в него. Файл необходимо открыть для работы в одном из этих режимов, закрыть и открыть вновь для работы в другом режиме; 4
4) при работе с текстовым файлом список ввода-вывода может содержать переменные символьного, строкового и любого числового типа; 5) при считывании значения символьной переменной считывается очередной символ. При считывании значения числовой переменной символы считываются вплоть до пробела, символа табуляции, конца строки или конца файла и интерпретируются как одно значение; 6) создать текстовый файл можно с помощью текстового редактора или программным образом; 7) для получения доступа к текстовому файлу нужно объявить переменную типа TextFile. Список некоторых встроенных подпрограмм, предназначенных для работы с текстовыми файлами, представлен в табл. 1. Таблица 1 Подпрограмма Назначение Функция Eoln() Возвращает значение True, если указатель файла находится в конце строки SeekEof() Возвращает значение True, если до конца файла остались только символы-разделители SeekEoln() Возвращает значение True, если до конца текущей строки остались только символы-разделители Процедура Append() Открывает существующий файл для добавления текста в его конец Readln() Читает данные из файла с новой строки Writeln() Записывает в файл данные и символы конца строки Примечания: 1. Процедура Readln() считывает текущий компонент строки файла и перемещает указатель на начало следующей строки. Одним вызовом этой процедуры можно прочитать несколько переменных, причем они не обязательно должны находиться в одной строке. Если строка закончилась, а список переменных еще не исчерпан, то начинают считываться переменные из следующей строки. 2. Процедура Writeln() записывает значение в текущую строку файла, проставляет признак окончания строки и перемещает указатель на начало следующей строки. 3. При выводе в текстовый файл можно использовать форматирование данных по позициям строки. В общем случае синтаксис имеет вид Write(f, v : m : n), где v — любая числовая или строковая переменная; m задает общее количество позиций для вывода переменной v. Если длина переменной v меньше m, то слева дополняются пробелы, а если больше, то в файл выводится больше символов, чем задано в v (т. е. выводятся все необходимые символы); n задает количество цифр после десятичной точки (если v — вещественная переменная). 5
Приведенный ниже фрагмент кода демонстрирует форматирование данных при выводе в текстовый файл: assignFile (f, ‘File.txt’); rewrite (f); for i := 1 to 5 do write (f, i:3); closeFile (f); В результате выполнения этого фрагмента данные в файл File.txt будут записаны в виде 1 2 3 4 5. Без форматирования данные в строке файла были бы записаны в виде 12345. 1.2. СТАНДАРТНЫЕ ДИАЛОГИ Страница Dialogs содержит компоненты, которые предназначены для добавления в приложение стандартных диалогов системы Windows, обеспечивающих интерфейс для таких действий, как открытие, сохранение файла, поиск текста в файле и др. Такой диалог открывается при вызове метода Execute. Для настройки появления и поведения диалога используется свойство Options. Для того чтобы закрыть диалог программно, нужно вызвать метод CloseDialog. Диалоговые окна присутствуют на форме в виде пиктограмм, а во время выполнения программы они невидимы. Все стандартные диалоговые окна не выполняют никакой функции кроме обмена информацией с пользователем. Рассмотрим некоторые компоненты страницы Dialogs и некоторые связанные с ними свойства, методы и события. 1.2.1. Компоненты OpenDialog и SaveDialog Эти два компонента имеют идентичные свойства, методы и события. Первый используется для открытия файлов, второй — для их сохранения. Некоторые свойства компонентов OpenDialog и SaveDialog приведены в табл. 2. 6
Таблица 2 Свойство Описание FileName Содержит путь поиска и выбранный файл при успешном завершении диалога. Если необходимо, чтобы окно диалога появилось с уже назначенным именем файла, необходимо присвоить этому свойству соответствующее значение перед вызовом диалога Filter Определяет маски файлов, обеспечивающих фильтрацию файлов, представленных в раскрывающемся списке окна диалога. Это свойство можно установить на этапе разработки с помощью специального редактора или программно DefaultExt Трехсимвольная строка, определяющая расширение имени файла по умолчанию (освобождает пользователя от набора расширения в поле редактирования «Имя файла» окна диалога) Title Определяет текст, который появляется в заголовке окна диалога 1.2.2. Компоненты FindDialog и ReplaceDialog Эти два компонента имеют идентичные свойства, методы и события. Первый используется для поиска текста, второй — для замены текста. Окна содержат управляющие элементы, позволяющие задать текст поиска, текст замены (для компонента ReplaceDialog), направление поиска, значимость регистра букв и режим поиска целого слова. Некоторые свойства компонентов FindDialog и ReplaceDialog приведены в табл. 3. Таблица 3 Свойство Описание FindText Содержит строку поиска. Значение этого свойства можно установить заранее либо ввести или изменить во время ведения диалога. После щелчка по кнопке <Найти далее> это свойство будет содержать самую последнюю строку, которая была в окне редактирования «Что» перед закрытием диалога 7
Окончание табл. 3 Свойство Описание ReplaceText Содержит строку замены. Значение этого свойства можно установить заранее либо ввести или изменить во время ведения диалога. После щелчка по кнопке <Заменить> или <Заменить все> это свойство будет содержать самую последнюю строку, которая была в окне редактирования «Чем» перед закрытием диалога Options: Дает возможность осуществлять тонкую настройку внешнего вида и действий обоих окон. Это свойство имеет много значений: frFindNext Если значение равно True, то был сделан щелчок по кнопке <Найти далее> frDown Если значение True, то в окне диалога выбрана кнопка «Вниз» и устанавливается прямое направление поиска; если False, то выбрана кнопка «Вверх» и устанавливается обратное направление поиска frWholeWord Если значение True, то в окне диалога отмечен контрольный индикатор Match Whole Word (слово целиком) frDisbleMatchCase Если значение True, то контрольный индикатор MatchCase (регистр) недоступен, если False — индикатор доступен frDisableUpDown Если значение True, кнопки указания направлений «Вверх» и «Вниз» недоступны для пользователя, если False — кнопки доступны frDisabl WholeWord Если значение True, контрольный индикатор MatchWholeWord недоступен для пользователя, если False — индикатор доступен frHid MatchCase Если значение True, контрольный индикатор MatchCase скрыт, если False — видим frHideWholeWord Если значение True, контрольный индикатор MatchWholeWord невидим, если значение False — видим frHideUpDown Если значение True, кнопки направлений «Вверх» и «Вниз» невидимы, если значение False — видимы frMatchCase Если значение True, контрольный индикатор MatchCase отмечен, если значение False — не отмечен. Установка этого индикатора возможна как на этапе разработки, так и во время выполнения приложения frReplace Флажок устанавливается системой, чтобы приложение заменяло текущее значение строки FindText на строку ReplaceText (для окна Replace) frReplaceAll Флажок устанавливается системой, чтобы приложение заменяло значение строки FindText на строку RеplaceText во всех случаях (для окна Replace) 8
Некоторые методы компонентов FindDialog и ReplaceDialog приведены в табл. 4. Таблица 4 Событие Описание OnFind Событие происходит после щелчка на кнопке <Найти далее> OnReplace Событие происходит после щелчка на кнопке <Найти> или <Найти далее> Пример. Для демонстрации изложенных в этом разделе возможностей реализуем в предельно упрощенном виде некоторые этапы процесса подготовки учебного пособия к изданию. Сначала сформулируем свойственные этому процессу действия. Условный редактор получает текст пособия в виде внешнего файла. Для ускорения процесса редактирования этого пособия он по некоторому признаку (в примере — начало главы) делит исходный файл на частичные файлы. Далее с этими файлами работают несколько корректоров. Завершением работы с частичным файлом (кроме непосредственной правки текста) является размещение в конце файла некоторого текста (в примере — «Виза корректора»). На следующем этапе редактор устанавливает наличие текста «Виза корректора» в частичных файлах, удаляет его и, если со всеми частичными файлами работа завершена, объединяет эти файлы в один скорректированный файл. Одновременно с разделением исходного файла автоматически формируется списочный файл, который содержит информацию о числе полученных частичных файлов и пути доступа к ним. Отметим, что целью создания этого приложения является желание минимизировать действия редактора. Для организации интерфейса разместим на форме необходимые компоненты. Значения некоторых свойств формы и основных компонентов приведены в табл. 5. Таблица 5 Объект Свойство Значение Caption Организация стандартного диалога, работа с текстовым файлом Form1 Name frmMain Scaled False 9