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




НазваниеФайл, это именованная структура данных, представляющая собой последовательность элементов данных одного типа, причем количество элементов последовательности
страница2/5
Дата конвертации15.02.2016
Размер0.68 Mb.
ТипДокументы
источникhttp://maispace.ru/docs/mailit/Файлы в Delphi.doc
1   2   3   4   5

Фрагмент программы обработки возможной ошибки открытия файла

AssignFile(f,filename);

{$I-}

Append(f); // открыть для добавления

{$I+}

if IOResult <> 0 // ошибка открытия

then Rewrite (f) ; // открытие файла для записи

1.6.Закрытие файла

Перед завершением работы программа должна закрыть все открытые файлы. Это делается вызовом процедуры close. Процедура close имеет один параметр — имя файловой переменной. Пример использования процедуры:


Close(f).

1.7.Простая база данных


Следующая программа ведет простую базу данных. При каждом ее запуске на

экране появляется диалоговое окно (рис. 4), в поля которого пользователь может ввести дату и температуру воздуха.






Рис. 4. Диалоговое окно программы База данных "Погода"


Дата вводится в поле Edit1, температура — в поле Edit2. Текст программы приведен в Примере 3.

Пример 3. Текст программного модуля

unit pogoda_;

implementation

{$R *.dfm}

const

DBNAME = 'a:\pogoda. db';

var

db: TextFile; // файл - база данных

procedure TForm1.FormActivate(Sender: TObject);

begin

AssignFile(db, DBNAME);

{$I-}

Append (db);

if IOResult = 0

then

begin

Edit1.Text := DateToStr(Date); //получить текущую дату

Edit2.SetFocus; // курсор в поле Edit2

end

else

begin

Rewrite(db);

if IOResult <> 0 then

begin

// сделать недоступными поля ввода

// и командную кнопку

Edit1.Enabled := False;

Edit2.Enabled := False;

Button1.Enabled := False;

ShowMessage('Ошибка создания '+DBNAME);

end;

end;

end;

// щелчок на кнопке Добавить

procedure TForm1.Button1Click(Sender: TObject);

begin

if (Length(editl.text)=0) or (Length(edit2.text)=0)

then ShowMessage(‘Ошибка ввода данных.'+#13+'Все поля

должны быть заполнены.')

else writeln(db, edit1.text,' ', edit2.text);

end;

// Событие OnClose возникает при закрытии формы

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

CloseFile(db); // закрыть файл БД

end;

end.

Файл базы данных открывает процедура FormActivate, которая обрабатывает событие OnActivate. Событие OnActivate возникает в момент активизации формы, поэтому процедура запускается автоматически, при активизации формы приложения. Если операция открытия файла завершается успешно, то в поле Edit1 записывается текущая дата. Информация о текущей дате возвращает функция Date. Для преобразования возвращаемого функцией Date значения (числа типа Double) в удобную для восприятия форму используется функция DateToStr. После записи даты в поле Edit1 процедура обработки события OnActivate с применением метода SetFocus устанавливает курсор в поле ввода температуры. Если в процессе открытия или создания нового файла возникает ошибка, то процедура делает недоступной кнопку Добавить и выводит информационное сообщение.

Процедура TForm1.Button1Click (процедура обработки события OnClick) запускается нажатием кнопки Добавить (Button1). В результате введенная информация записывается в базу данных — файл pogoda.db. Перед выполнением записи программа проверяет, все ли поля формы заполнены, и, если не все, то выводит информационное сообщение.

В результате работы процедуры в конец файла pogoda.db будет добавлена строка, содержащая дату (число, месяц, год) и температуру.

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

Закрывает базу данных процедура TForm1.FormClose, которая обрабатывает событие OnClose, возникающее при закрытии формы приложения.

После нескольких запусков программы файл pogoda.db может быть, например, таким;

9.05.2001 10

10.05.2001 12

11.05.2001 10

12.05.2001 7

2.Ввод из файла


Программа может вводить исходные данные не только с клавиатуры, но и из текстового файла. Для того чтобы воспользоваться этой возможностью, нужно объявить файловую переменную типа TextFile, назначить ей при помощи инструкции AssignFile имя файла, из которого будут считываться данные, открыть файл для чтения (ввода) и прочитать (ввести) данные, используя инструкцию read или readln.


2.1.Открытие файла

Открытие файла для ввода (чтения) выполняется вызовом процедуры Reset, имеющей один параметр — файловую переменную. Перед вызовом процедуры Reset с помощью функции AssignFile файловая переменная должна быть связана с конкретным файлом.

Например, следующие инструкции открывают файл для ввода:


AssignFile(f, 'c:\data.txt');

Reset(f);


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

Поэтому в программе следует предусмотреть возможность повторной попытки открытия файла после подтверждения повторения операции.

Как и при открытии файла для записи, программа может взять на себя задачу обработки возможной ошибки при открытии файла, проверяя значение функции IOResult.

Фрагмент программы, текст которого приведен в примере 4, использует значение функции IOResult для проверки результата открытия файла. Если попытка открыть файл вызывает ошибку, то программа выводит диалоговое окно с сообщением об ошибке и запросом на подтверждение повторного открытия файла.


Пример 4. Обработка ошибки открытия файла (фрагмент программы)


var

fname : string[80];

f : TextFile; // текстовый файл

res : integer; // значение IOResult

answ : word; // ответ пользователя

begin

fname := 'a;\test.txt';

AssignFile(f,fname);

Repeat

{$I-}

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

{$I+}

res:=IOResult;

if res <>0

then answ:=MessageDlg('Ошибка открытия '+fname+#13

+'Повторить попытку?',mtWarning,

[mbYes, mbNo],0);

until (res= 0) or (answ = mrNo);

if res <> 0

then exit; // завершение процедуры, инструкции, которые выполняются в случае успешного открытия файла

1   2   3   4   5

Похожие:

Файл, это именованная структура данных, представляющая собой последовательность элементов данных одного типа, причем количество элементов последовательности iconТема: Массивы. Виды массивов. Ввод, вывод массивов
В математике, экономике, информатике часто используются упорядоченные наборы данных, например, последовательности чисел, таблицы,...
Файл, это именованная структура данных, представляющая собой последовательность элементов данных одного типа, причем количество элементов последовательности iconРеферат Разработана кластерная восемнадцатигрупповая система химических элементов до
Периодической системе элементов, но и дополнительно по кластерам химических элементов, определять прогнозные свойства новых элементов...
Файл, это именованная структура данных, представляющая собой последовательность элементов данных одного типа, причем количество элементов последовательности icon1. Понятие системы управления базами данных
Основная особенность субд – это наличие процедур для ввода и хранения не только самих данных, но и описаний их структуры. Файлы,...
Файл, это именованная структура данных, представляющая собой последовательность элементов данных одного типа, причем количество элементов последовательности iconВопросы к экзамену по «Общей и неорганической химии»
Периодический закон и периодическая система химических элементов Д. И. Менделеева, закономерности изменения свойств элементов и их...
Файл, это именованная структура данных, представляющая собой последовательность элементов данных одного типа, причем количество элементов последовательности iconУрок в 9 классе по теме
Изучить естественное семейство сходных химических элементов главной подгруппы II группы периодической системы химических элементов,...
Файл, это именованная структура данных, представляющая собой последовательность элементов данных одного типа, причем количество элементов последовательности iconОснова Информационных систем, объект ее обработки база данных компьютеров
В широком смысле слова можно сказать, что бд – это совокупность сведений о конкретных объектах реального мира в какой-либо предметной...
Файл, это именованная структура данных, представляющая собой последовательность элементов данных одного типа, причем количество элементов последовательности iconРеферат по химии на тему: «Неметаллы»
Положение неметаллических элементов в периодической системе химических элементов. Нахождение в природе. Общие химический и физические...
Файл, это именованная структура данных, представляющая собой последовательность элементов данных одного типа, причем количество элементов последовательности iconПрограмма это последовательность команд, которую выполняет компьютер в процессе обработки данных
Ни компьютер в целом, ни его составные части не способны сами по себе обрабатывать информацию. Управляют работой компьютера программы,...
Файл, это именованная структура данных, представляющая собой последовательность элементов данных одного типа, причем количество элементов последовательности iconПрограмма работы с базой данных Blackfish sql "Книги" (books). Подкаталог delploy\database содержит базу данных, подкаталоги deploy\client и deploy\server соответственно клиентскую и серверную части приложения
Программы работы с базами данных требуют, чтобы файлы баз данных находились в каталоге D:\Database
Файл, это именованная структура данных, представляющая собой последовательность элементов данных одного типа, причем количество элементов последовательности iconСистема хранения данных о студенческих научных достижениях
База данных о студенческих научных достижениях предназначена для хранения и обработки данных о научно-исследовательских работах студентов...
Разместите кнопку на своём сайте:
Документы


База данных защищена авторским правом ©kzdocs.docdat.com 2012
обратиться к администрации
Документы
Главная страница