Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
24
Добавлен:
20.06.2014
Размер:
493.41 Кб
Скачать

9. Для закрепления практических приемов работы выполните упражнения 2 и 3 из раздела 3 самостоятельной работы.

2.3 Чтение текстового файла

Задание. Напишите программу, которая в поле Memo выводит содержимое текстового файла. Для получения от пользователя имени файла используйте стандартное диалоговое окно «Открытие файла». Рекомендуемый вид диалогового окна приведен на рисунке 3.

Рисунок 3. Рекомендуемый вид формы программы просмотра файла.

1.Приступая к решению задач этого раздела, необходимо вспомнить:

При выполнении файловых операций возможны ошибки.

Для обработки ошибок выполнения файловых операций нужно использовать инструкцию try ... Except.

2.Создайте проект. В Строке заголовка формы укажите название окна проекта.

3.На окне формы используйте следующие компоненты:

поле Memo для вывода содержимого текстового файла; командная кнопка для вызова диалоговое окно «Открытие файла»; компонента OpenDialog при помощи которого открывается

стандартное окно диалога «Открытие файла» и выбирается в окне файл. «Открытие файла»;

11

Родионов К.А. Лабораторный практикум

4. Разберите самостоятельно принцип работы программы. Обратите внимание на то, что очередная прочитанная строка файла добавляется в поле Memo1 при помощи метода Add.

Исходный текст программы приведен в листинге 3.

Листинг 3.

//просмотр-редактирование текстового файла

//щелчок на кнопке Открыть

procedure TForm1.Button1Click(Sender: TObject); var

f: TextFile;

// файл

fName: String[80];

//

имя файла

buf: String[80];

//

буфер для чтения строк

begin

if not OpenDialog1.Execute

then { пользователь закрыл диалог щелчком на кнопе Отмена } exit;

// пользователь выбрал файл fName := OpenDialog1.FileName; Form1.Caption := fName; AssignFile(f, fName);

try

Reset(f); // открыть для чтения except

on EInOutError do begin

ShowMessage('Ошибка доступа к файлу '+ fName); exit;

end;

end;

// чтение из файла while not EOF(f) do

begin

readln(f, buf); // прочитать строку из файла

Memo1.Lines.Add(buf); // добавить строку в поле Memo1 end;

CloseFile(f); // закрыть файл end;

procedure TForm1.FormCreate(Sender: TObject); begin // Определим фильтр

OpenDialog1.Filter := 'Текст|*.txt';

end;

end.

12

Родионов К.А. Лабораторный практикум

3 САМОСТОЯТЕЛЬНАЯ РАБОТА

Задание 1. Написать программу, которая вычисляет силу тока в электрической цепи. Рекомендуемый вид формы приведен на рисунке. Программа должна быть спроектирована таким образом, чтобы кнопка «Вычислить» была доступна только в том случае, если пользователь ввел величину сопротивления.

Рисунок 4. Рекомендуемый вид формы программы.

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

Задание 2. Написать программу, которая, используя закон Ома, вычисляет силу тока, напряжение или сопротивление электрической цепи. Рекомендуемый вид формы приведен на рис. 5. Во время работы программы, в результате выбора переключателя Ток, Напряжение или Сопротивление, текст, поясняющий назначение полей ввода, должен меняться.

13

Родионов К.А. Лабораторный практикум

Рисунок 5. Рекомендуемый вид формы программы.

Для контроля правильности ввода цифровой информации в текстовые поля используйте следующий код программы:

// Нажатие клавиши в поле Edit1

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key:Char); begin

case Key of

'0'..'9',#8: ; // цифры и <Backspase> #13: Edit2.SetFocus; // клавиша <Enter> '.',',':

begin

if Key = '.' then Key := ',';

// не позволяет вводить знак запятой повторно if Pos(',',Edit1.Text) <> 0 then Key := Chr(0);

end;

else Key := Chr(0); end;

end;

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

Задание 3. Вычисление площади треугольника.

1. Разработать программу вычисления периметра и площади треугольника по формуле Герона: S = p( p a)( p b)( p c) , где p =

(a+b+c)/2 (a,b,c стороны треугольника).

2. Результаты работы приложения и код программы поместите в отчет по лабораторной работе.

Задание 4. Чтение текстового файла результата.

1. Напишите программу, которая рассчитывает заданное количество чисел Фибоначчи и выводит их в текстовый файл. Числа Фибоначчи – это последовательность целых чисел, в которой два первых равны 1, а каждое следующее число равно сумме двух предыдущих. Для просмотра результата текстового файла используйте программу из задания п.2.3.

2. Результаты работы задачи и код программы поместите в отчет по лабораторной работе.

14

Родионов К.А. Лабораторный практикум

Контрольные вопросы

1.Какие компоненты называют базовыми?

2.Опишите компоненты палитры Standart.

3.Какой метод используется для добавления строки в поле Memo?

4.Опишите элемент управления для выбора одного варианта из нескольких?

5.Как обеспечивается контроль правильности ввода числовой информации?

6.Как обеспечивается контроль возможных ошибок при выполнении файловых операций?

7.Завершая редактирование текстового поля, каким образом обеспечить перенос фокуса ввода на следующее текстовое поле?

8.С какой целью применяют функции StrToFloat и

FloatToStr?

Отчет по лабораторной работе

Проекты задач выполненной лабораторной работы должны быть сохранены отдельные директории и представлены для тестирования и контроля преподавателю. Отчет по лабораторной работе должен содержать: цели и задачи работы, диалоговые окна программ, распечатку исходного кода программ.

15

Родионов К.А. Лабораторный практикум

Соседние файлы в папке Лаба 1