Читайте также: |
|
Цель работы:
Решение задач с использованием текстовых файлов.
Постановка задачи.
Написать приложение, реализующее различные задачи по обработке текстовых файлов.
Примерный интерфейс приложения:
Общий вид приложения.
Используемые компоненты:
Form, Label, BitBtn, Image, ImageList, ToolBar, OpenDialog, SaveDialog.
Новый компонент, используемый в данном приложении ImageList, ToolBar (страница Win32), OpenDialog, SaveDialog (страница Dialogs).
ToolBar - компонент, который используются для построения инструментальных панелей.
Занесение компонентов на панель ToolBar можно осуществлять обычным способом — переносом их из палитры компонентов. Но для занесения кнопок имеется и более простой вариант. Щелкните на ToolBar правой кнопкой мыши и выберите из всплывшего меню команду New Button. На форме появится очередная кнопка — объект типа TToolButton. Ее вид и поведение определяется ее свойством Style, которое по умолчанию равно tbsButton — кнопка. Изображение на кнопке определяется свойством ImageIndex. Оно определяет индекс изображения, хранящегося во внешнем компоненте ImageList. Указание на этот компонент задается свойством Images компонента ToolBar.
Некоторые свойства компонента ToolBar:
Align - расположение компонента по отношению к форме;
Images – список изображений для кнопок панели;
ButtonWidth – ширина кнопки;
ButtonHeight – высота кнопки;
Wrapable – автоматический перенос кнопки в следующий ряд панели, если она не помещается в предыдущем.
ImageList - набор изображений одинаковых размеров, на которые можно ссылаться по индексам, начинающимся с 0. Этот компонент позволяет организовать эффективное и экономное управление множеством пиктограмм и битовых матриц. Он может включать в себя монохромные битовые матрицы, содержащие маски для отображения прозрачности рисуемых изображений.
Изображения в компонент TImageList могут быть загружены в процессе проектирования с помощью редактора списков изображений. Окно редактора вызывается двойным щелчком на компоненте TImageList или щелчком правой кнопки мыши и выбором команды контекстного меню ImageList Editor.
В окне редактора списков изображений вы можете добавить в списки изображения, пользуясь кнопкой Add, удалить изображение из списка кнопкой Delete, очистить весь список кнопкой Clear. При добавлении изображения в список открывается обычное окно открытия файлов изображений, в котором вы можете выбрать интересующий вас файл. При добавлении в список изображений для кнопок надо иметь в виду, что они часто содержат не одно, а два и более изображений. В этих случаях при попытке добавить изображение задается вопрос: «Bitmap dimensions for... are greater then imagelist dimensions. Separate into... separate bitmaps?» (Размерность изображения... больше размерности списка. Разделить на... отдельных битовых матрицы?). Если вы ответите отрицательно, то все изображения уменьшатся в горизонтальном размере и лягут как одно изображение. Использовать его в дальнейшем будет невозможно. Поэтому на заданный вопрос надо отвечать положительно. Тогда загружаемая битовая матрица автоматически разделится на отдельные изображения и потом вы можете удалить те из них, которые вам не нужны, кнопкой Delete.
Каждое загруженное в список изображение получает индекс. Именно на эти индексы впоследствии вы можете ссылаться в соответствующих свойствах разделов меню, списков, кнопок и т.д., когда вам надо загрузить в них то или иное изображение. Изменить последовательность изображений в списке можно перетащив изображение мышью на новое место.
Группа радио-кнопок Options определяет способ размещения изображения битовой матрицы с размерами, не соответствующими размерам, принятым в списке:
Crop - отображается часть изображения, помещающаяся в размер
списка, начиная с левого верхнего угла
Stretch - размеры изображения изменяются, становясь равными
размерам списка. При этом возможны искажения
Center - изображение центрируется, а если его размер больше размера
списка, то не помещающиеся области отсекаются
Некоторые основные свойства TImageList:
Height - высота изображений в списке
Width - ширина изображений в списке
AllocBy - определяет количество изображений, на которое увеличивается список для добавления новых изображений
Компоненты OpenDialog и SaveDialog являются невизуальными, т.е. место размещения их на форме роли не играет. При обращении к этим компонентам вызываются стандартные диалоговые окна, вид которых зависит от версии WINDOWS и настройки системы. Приведем список диалоговых компонент:
OpenDialog – создает окно диалога для открытия файла;
SaveDialog – создает окно диалога для сохранения файла;
Основной метод этих компонент – EXECUTE. Этот метод открывает(активизирует) соответствующее диалоговое окно. С вызова этого метода необходимо начинать работу с диалоговыми компонентами. После открытия окна диалога пользователь может произвести необходимый выбор, результаты которого запоминаются в свойствах диалоговой компоненты. Т.е. если пользователь выбрал или задал имя файла, то оно присваивается свойству FileName.
Рекомендуемый порядок выполнения работы.
1. Установить на Form1 компоненты в соответствии с указанным интерфейсом (Image, ImageList, ToolBar).
2. Настроить компоненты и их свойства в соответствии с требуемым интерфейсом.
3. Связать компоненты ImageList и ToolBar через свойство Images.
4. Написать процедуры обработки события OnClick для каждой кнопки. Каждая процедура реализует одну задачу по обработке текстового файла.
5. Откомпилировать проект и оттестировать правильность выполнения каждой задачи.
Задачи для самостоятельного решения.
1. Напишите функцию, которая находит количество пустых строк в файле.
2. Напишите функцию, которая находит максимальную длину строки в файле.
3. Напишите функцию, которая находит количество строк в файле, начинающихся с буквы "v".
4. Напишите функцию, которая находит количество строк в файле, заканчивающихся буквой "d".
5. Напишите функцию, которая находит количество строк в файле, начинающихся и заканчивающихся одной и той же литерой.
6. Напишите функцию, которая определяет, сколько раз в файле встретилось слово "begin".
7. Напишите процедуру, которая находит в файле, содержащем текст программы на Паскале, идентификаторы переменных.
8. Напишите процедуру, которая вставляет в начало каждой строки файла, содержащего текст программы на Паскале, комментарии вида
{ 1} { 2} с номерами строк на 4 позициях.
9. Напишите процедуру, которая удаляет из файла, содержащего текст программы на Паскале, все комментарии вида {.... }.
Дата добавления: 2015-08-27; просмотров: 87 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Операции сохранения | | | Хирургическое лечение при заболеваниях височно-нижнечелюстного сустава |