Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика_СА_СМ_ДМ.doc
Скачиваний:
36
Добавлен:
02.05.2019
Размер:
3.46 Mб
Скачать

Использование компонента Memo

В некоторых случаях для ввода массива можно использовать компонент Memo. Компонент Memo позволяет вводить текст, состоящий из достаточно большого количества строк, поэтому его удобно использовать для ввода символьного или строкового массива.

Пример ввода:

for i:=1 to n do

a[i]:=Memo1.Lines[i-1]; // строки Memo пронумерованы с нуля

Создание меню

В Delphi для создания главного меню используется компонент TMainMenu, расположенный на странице Standard Палитры Компонентов. На этапе конструирования главное меню создается при помощи встроенного конструктора меню (Menu Designer).

Компонент TPopupMenu предназначен для создания контекстного меню. Контекстное меню может быть создано для любого оконного элемента управления. Для вызова контекстного меню необходимо поместить курсор мыши на оконный элемент и нажать правую кнопку мыши. Для установления связи между оконным элементом и компонентом TPopupMenu используется свойство PopupMenu оконного элемента, в котором следует указать имя соответствующего компонента TPopupMenu.

Компонент tMainMenu

Этот компонент позволяет создать главное меню формы. Наиболее важным из свойств является свойство Items – массив компонентов TMenuItem, являющихся элементами меню и имеющих событие OnClick, возникающее при щелчке левой клавишей мыши над компонентом.

Диалоговые панели File Open и File Save

Диалоговые панели File Open (открыть файл) и File Save (сохранить файл) имеют несколько общих свойств. Диалог File Open используется для открытия файла в приложении. Через диалоговую панель File Save вы получаете от пользователя имя, под которым должен сохраняться файл. Эта панель используется и как диалог Save As.

Компоненты TOpenDialog и TSaveDialog просто возвращают имя файла, введенное пользователем. Написание кода, который выполняет нужные действия над выбранным файлом, осуществляет программист.

Основные свойства компонентов TOpenDialog и TSaveDialog:

DefaultExt – определяет расширение, которое по умолчанию будет использоваться в диалоговой панели. Расширение по умолчанию – это расширение, которое автоматически добавляется к имени файла, если пользователь не задал расширение явно.

FileName – содержит имя файла, который выбирает пользователь. Установите значение этого свойства перед вызовом диалоговой панели, если хотите, чтобы при появлении диалога на экране поле ввода уже содержало имя файла. После того как пользователь нажмет ОК для закрытия диалога, это свойство будет содержать полный маршрут и имя выбранного файла.

Filter – содержит список типов файлов, которые пользователь может выбирать. Типы файлов выводятся в комбинированном списке File of type. С помощью этого свойства Вы можете задать типы файлов, которые нужны Вашему приложению. Например, простая программа редактирования текстов могла бы иметь фильтры для типов txt, ini и log.

На этапе проектирования программы можно задать нужные фильтры, используя диалоговую панель редактора фильтров (Filter Editor). Чтобы вызвать редактор фильтров, дважды щелкните в столбце Value инспектора объектов рядом со свойством Filter. Столбец Filter Name содержит текстовое описание типа файла. В столбце Filter указы-вается маска, которая будет использоваться при отборе файлов.

Хотя строку фильтра можно ввести непосредственно в столбец Value Инспектора объектов, удобнее всего использовать редактор фильтров. Одиночный фильтр определяется непосредственно в столбце Value. Описание и фильтр отделяются друг от друга символом "|". На-пример, чтобы задать один фильтр для всех типов файлов, Вы можете ввести следующую строку: All Files (*.*) | *.*

FilterIndex – используется для установки фильтра, который будет выбран при первом отображении диалоговой панели.

InitialDir – определяет каталог, который будет использоваться в качестве начального при отображении диалоговой панели File. Если для свойства InitialDir никакого значения не задано, будет использован текущий каталог (как это принято в Windows).

Title – используется для задания или чтения заголовка диалоговой панели. Если заголовок не определен, то используется стандартное значение по умолчанию: Open для компонента OpenDialog и Save для компонента SaveDialog.

Файлы

Файл — это именованная структура данных, представляющая собой последовательность элементов данных одного типа, причем количество элементов последовательности практически не ограничено. В первом приближении файл можно рассматривать как массив переменной длины неограниченного размера.

Как и любая структура данных (переменная, массив) программы, файл должен быть объявлен в разделе описания переменных. При объявлении файла указывается тип элементов файла.

В общем виде объявление файла выглядит так:

Имя:file of ТипЭлементов;

Примеры:

res: file of char; // файл символов

koef: file of real; // файл вещественных чисел

f: file of integer; // файл целых чисел

Файл, компонентами которого являются данные символьного типа, называется символьным, или текстовым. Описание текстового файла в общем виде выглядит так:

Имя: TextFile;

где:

  • имя — имя файловой переменной;

  • TextFile — обозначение- типа, показывающее, что Имя — это файловая переменная, представляющая текстовый файл.

Объявление файловой переменной задает только тип компонентов файла. Для того чтобы программа могла выводить данные в файл или считывать данные из файла, необходимо указать конкретный файл, т. е. связать файловую переменную с конкретным файлом (задать имя файла).

Имя файла задается вызовом процедуры AssignFile, связывающей файловую переменную с конкретным файлом.

Описание процедуры AssignFile выглядит следующим образом:

AssignFile (var f, ИмяФайла: string);

Имя файла задается согласно принятым в Windows правилам. Оно может быть полным, т. е. состоять не только непосредственно из имени файла, но и включать путь к файлу (имя диска, каталогов и подкаталогов).

Ниже приведены примеры вызова процедуры AssignFiie:

AssignFile(f, 'a:\result.txt');

fname:=('otchet.txt'); AssignFile(f,fname);