Результат исследование студентов в проекте Работа с файлами Deiphi
Содержание
Авторы и участники проекта
и участники группы Студенты
Тема исследования группы
Использование файлов для обработки учебной информации
Проблемный вопрос (вопрос для исследования)
Как использовать файлы для обработки учебной информации?
Цели исследования
1.Выяснить, какие процедуры служат для работы с файлами 2.Составить алгоритм и программу для решения задачи обработки учебной информации 3.Выполнить анализ результатов
Результаты проведённого исследования
Для демонстрации возможностей Delphi при работе с файлами нами была выбрана следующая задача:
Создать файл, содержащий сведения о студентах. Каждая запись должна содержать: номер по списку, фамилию, имя, отчество; год рождения; адрес. Выбрать сведения о студентах, проживающих в Нижнем Новгороде.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids;
type
TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; Label1: TLabel; StringGrid1: TStringGrid; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var i,s:integer;
f: TextFile; // файл
fStudent: String[80]; // имя файла
iStudent: integer;
begin
fStudent:=Edit1.Text;
AssignFile(f, fStudent);
Rewrite(f);
for i:=0 to 15 do
if StringGrid1.Cells [3,i]= 'Нижний Новгород' then writeln(f,StringGrid1.Cells [1,i]);
CloseFile(f); // закрыть файл
ShowMessage('Данные ЗАПИСАНЫ в файл ');
Вывод
Процедуры в Delphi для работы с файлами: Procedure AssignFile(var F; FileName: String); Для избежания конфликтов, AssignFile заменяет стандартную процедуру Assign в Delphi. Однако для обратной совместимости вы можете использовать Assign. Процедура AssignFile сопоставляет имя внешнего файла с файловой переменной.
Procedure CloseFile(var F); Из-за конфликтов наименования, процедура CloseFile заменяет стандартную процедуру Close из Borland Pascal. Используйте CloseFile чтобы разорвать связь между файловой переменной и внешним дисковым файлом и закрыть файл.
Function Eof(var F): Boolean; (типизированные или нетипизированные файлы)
Function Eof[(var F: Text)]: Boolean; (текстовые файлы) Проверяет, является или нет текущая позиция файла концом файла. Eof(F) возвращает True, если текущая позиция файла находится за последним символом файла или если файл пуст; иначе, Eof (F) возвращает False.
Procedure Erase(var F); Удаляет внешний файл, связанный с F.
Function FilePos(var F): LongInt; Возвращает текущую позицию файла внутри файла.
Procedure Reset(var F [: File; RecSize: Word]);
Procedure Rewrite(var F: File [; Recsize: Word]); Создает и открывает новый файл.
Procedure Seek(var F; N: LongInt); Перемещает текущую позицию файла к определенному компоненту. Вы можете использовать процедуру только с открытыми типизированными или нетипизированными файлами.
Procedure Append(var F: Text); Открывает существующий текстовый файл для добавления информации в конец файла (дозаписи). Если внешнего файла с данным именем не существует, происходит ошибка времени выполнения.
Function Eoln[(var F: Text)]: Boolean;
Проверяет, является ли текущая позиция файла концом строки текстового файла.
Eoln(F) возвращает True, если текущая позиция файла - в конце строки или файла; иначе Eoln(F) возвращает False. Procedure Read(F, V1 [, V2, ..., Vn]);
(типизированные и нетипизированные файлы) Procedure Read([var F: Text;] V1 [, V2, ..., Vn]);
(текстовые файлы)
Для типизированных файлов процедура читает компонент файла в переменную. При каждом считывании текущая позиция в файле продвигается к следующему элементу.
Для текстовых файлов читается одно или несколько значений в одну или несколько переменных.
С переменными типа String Read считывает все символы вплоть до следующей метки конца строки (но не включая ее), или пока функция Eof(F) не примет значение True. Переменной присваивается получившаяся в ре-зультате символьная строка.
В случае переменной целого или вещественного типа процедура ожидает поступления последовательности символов, образующих число по правилам синтаксиса языка Object Pascal. Считывание прекращается при обнаружении первого пробела, символа табуляции или метки конца строки, или в том случае, если функция Eof(F) принимает значение True. Если чи-словая строка не соответствует ожидаемому формату, то происходит ошибка ввода-вывода. Procedure Readln([var F: Text;] V1 [, V2, ..., Vn]);
Является расширением процедуры Read и определена для текстовых файлов. Считывает строку символов в файле (включая маркер конца строки) и переходит к началу следующей строки. Вызов функции Readln(F) без па-раметров приводит к перемещению текущей позиции файла на начало сле-дующей строки, если она имеется, в противном случае происходит переход к концу файла. Function SeekEof[(var F: Text)]: Boolean;
Возвращает признак конца файла и может использоваться только для открытых текстовых файлов. Обычно применяется для считывания числовых значений из текстовых файлов. Function SeekEoln[(var F: Text)]: Boolean;
Возвращает признак конца строки в файле и может использоваться только для открытых текстовых файлов. Обычно применяется для считывания числовых значений из текстовых файлов.
Procedure Write([var F: Text;] P1 [, P2, ..., Pn]); текстовые файлы) Записывает одну или более величин в текстовый файл. Каждый параметр записи должен иметь тип Char, один из целочисленных типов (Byte, ShortInt, Word, LongInt, Cardinal), один из типов с плавающей запятой (Single, Real, Double, Extended, Currency), один из строковых типов (PChar, AnsiString, ShortString), или одного из логических типов (Boolean, Bool).
Procedure Write(F, V1, ..., Vn); (типизированные файлы) Записывает переменную в компонент файла. Переменные V1,...,Vn должны быть того же типа, что и элементы файла. При каждой записи переменной текущая позиция в файле передвигается к следующему элементу.
Procedure Writeln([var F: Text;] P1 [, P2, ..., Pn]); (текстовые файлы) Выполняет операцию Write, затем помещает метку конца строки в файл. Вызов Writeln(F) без параметров записывает в файл маркер конца строки. Файл должен быть открыт для вывода.