Результат исследование студентов в проекте Работа с файлами Deiphi — различия между версиями

Материал из НГПУ им. К.Минина
Перейти к: навигация, поиск
(Вывод)
(Вывод)
Строка 82: Строка 82:
 
==Вывод==
 
==Вывод==
 
Процедуры в Delphi для работы с файлами:
 
Процедуры в Delphi для работы с файлами:
Procedure AssignFile(var F; FileName: String);
+
'''Procedure AssignFile(var F; FileName: String);'''
 
Для избежания конфликтов, AssignFile заменяет стандартную процедуру Assign в Delphi. Однако для обратной совместимости вы можете использовать Assign. Процедура AssignFile сопоставляет имя внешнего файла с файловой переменной.  
 
Для избежания конфликтов, AssignFile заменяет стандартную процедуру Assign в Delphi. Однако для обратной совместимости вы можете использовать Assign. Процедура AssignFile сопоставляет имя внешнего файла с файловой переменной.  
 
+
'''
Procedure CloseFile(var F);
+
Procedure CloseFile(var F);'''
 
Из-за конфликтов наименования, процедура CloseFile заменяет стандартную процедуру Close из Borland Pascal. Используйте CloseFile чтобы разорвать связь между файловой переменной и внешним дисковым файлом и закрыть файл.  
 
Из-за конфликтов наименования, процедура CloseFile заменяет стандартную процедуру Close из Borland Pascal. Используйте CloseFile чтобы разорвать связь между файловой переменной и внешним дисковым файлом и закрыть файл.  
  
Function Eof(var F): Boolean;
+
'''Function Eof(var F): Boolean;'''
 
(типизированные или нетипизированные файлы)
 
(типизированные или нетипизированные файлы)
  
Function Eof[(var F: Text)]: Boolean;
+
'''Function Eof[(var F: Text)]: Boolean;'''
 
(текстовые файлы)
 
(текстовые файлы)
 
Проверяет, является или нет текущая позиция файла концом файла.
 
Проверяет, является или нет текущая позиция файла концом файла.
 
Eof(F) возвращает True, если текущая позиция файла находится за последним символом файла или если файл пуст; иначе, Eof (F) возвращает False.  
 
Eof(F) возвращает True, если текущая позиция файла находится за последним символом файла или если файл пуст; иначе, Eof (F) возвращает False.  
  
Procedure Erase(var F);
+
'''Procedure Erase(var F);'''
 
Удаляет внешний файл, связанный с F.  
 
Удаляет внешний файл, связанный с F.  
  
Function FilePos(var F): LongInt;
+
'''Function FilePos(var F): LongInt;'''
 
Возвращает текущую позицию файла внутри файла.
 
Возвращает текущую позицию файла внутри файла.
  
Procedure Reset(var F [: File; RecSize: Word]);
+
'''Pr''''''ocedure Reset(var F [: File; RecSize: Word]);
  
Procedure Rewrite(var F: File [; Recsize: Word]);
+
Procedure Rewrite(var F: File [; Recsize: Word]);'''
 
Создает и открывает новый файл.  
 
Создает и открывает новый файл.  
  
Procedure Seek(var F; N: LongInt);
+
'''Procedure Seek(var F; N: LongInt);'''
 
Перемещает текущую позицию файла к определенному компоненту. Вы можете использовать процедуру только с открытыми типизированными или нетипизированными файлами.
 
Перемещает текущую позицию файла к определенному компоненту. Вы можете использовать процедуру только с открытыми типизированными или нетипизированными файлами.
 
+
'''
Procedure Append(var F: Text);
+
Procedure Append(var F: Text);'''
 
Открывает существующий текстовый файл для добавления информации в конец файла (дозаписи).
 
Открывает существующий текстовый файл для добавления информации в конец файла (дозаписи).
 
Если внешнего файла с данным именем не существует, происходит ошибка времени выполнения.   
 
Если внешнего файла с данным именем не существует, происходит ошибка времени выполнения.   
  
Function Eoln[(var F: Text)]: Boolean;
+
'''Function Eoln[(var F: Text)]: Boolean;'''
  
 
Проверяет, является ли текущая позиция файла концом строки текстового файла.
 
Проверяет, является ли текущая позиция файла концом строки текстового файла.
Строка 122: Строка 122:
  
 
(типизированные и нетипизированные файлы)
 
(типизированные и нетипизированные файлы)
Procedure Read([var F: Text;] V1 [, V2, ..., Vn]);
+
'''Procedure Read([var F: Text;] V1 [, V2, ..., Vn]);
 
+
'''
 
(текстовые файлы)
 
(текстовые файлы)
  
Строка 133: Строка 133:
  
 
В случае переменной целого или вещественного типа процедура ожидает поступления последовательности символов, образующих число по правилам синтаксиса языка Object Pascal. Считывание прекращается при обнаружении первого пробела, символа табуляции или метки конца строки, или в том случае, если функция Eof(F) принимает значение True. Если чи-словая строка не соответствует ожидаемому формату, то происходит ошибка ввода-вывода.
 
В случае переменной целого или вещественного типа процедура ожидает поступления последовательности символов, образующих число по правилам синтаксиса языка Object Pascal. Считывание прекращается при обнаружении первого пробела, символа табуляции или метки конца строки, или в том случае, если функция Eof(F) принимает значение True. Если чи-словая строка не соответствует ожидаемому формату, то происходит ошибка ввода-вывода.
Procedure Readln([var F: Text;] V1 [, V2, ..., Vn]);
+
 
 +
'''Procedure Readln([var F: Text;] V1 [, V2, ..., Vn]);'''
  
 
Является расширением процедуры Read и определена для текстовых файлов. Считывает строку символов в файле (включая маркер конца строки) и переходит к началу следующей строки. Вызов функции Readln(F) без па-раметров приводит к перемещению текущей позиции файла на начало сле-дующей строки, если она имеется, в противном случае происходит переход к концу файла.
 
Является расширением процедуры Read и определена для текстовых файлов. Считывает строку символов в файле (включая маркер конца строки) и переходит к началу следующей строки. Вызов функции Readln(F) без па-раметров приводит к перемещению текущей позиции файла на начало сле-дующей строки, если она имеется, в противном случае происходит переход к концу файла.
Строка 143: Строка 144:
 
Возвращает признак конца строки в файле и может использоваться только для открытых текстовых файлов. Обычно применяется для считывания числовых значений из текстовых файлов.
 
Возвращает признак конца строки в файле и может использоваться только для открытых текстовых файлов. Обычно применяется для считывания числовых значений из текстовых файлов.
  
Procedure Write([var F: Text;] P1 [, P2, ..., Pn]);
+
'''P''''''rocedure Write([var F: Text;] P1 [, P2, ..., Pn]);'''
 
текстовые файлы)
 
текстовые файлы)
 
Записывает одну или более величин в текстовый файл.
 
Записывает одну или более величин в текстовый файл.
 
Каждый параметр записи должен иметь тип Char, один из целочисленных типов (Byte, ShortInt, Word, LongInt, Cardinal), один из типов с плавающей запятой (Single, Real, Double, Extended, Currency), один из строковых типов (PChar, AnsiString, ShortString), или одного из логических типов (Boolean, Bool).
 
Каждый параметр записи должен иметь тип Char, один из целочисленных типов (Byte, ShortInt, Word, LongInt, Cardinal), один из типов с плавающей запятой (Single, Real, Double, Extended, Currency), один из строковых типов (PChar, AnsiString, ShortString), или одного из логических типов (Boolean, Bool).
  
Procedure Write(F, V1, ..., Vn);
+
'''Procedure Write(F, V1, ..., Vn);'''
 
(типизированные файлы)
 
(типизированные файлы)
 
Записывает переменную в компонент файла. Переменные V1,...,Vn должны быть того же типа, что и элементы файла. При каждой записи переменной текущая позиция в файле передвигается к следующему элементу.
 
Записывает переменную в компонент файла. Переменные V1,...,Vn должны быть того же типа, что и элементы файла. При каждой записи переменной текущая позиция в файле передвигается к следующему элементу.
  
Procedure Writeln([var F: Text;] P1 [, P2, ..., Pn]);
+
'''Procedure Writeln([var F: Text;] P1 [, P2, ..., Pn])''';
 
(текстовые файлы)
 
(текстовые файлы)
 
Выполняет операцию Write, затем помещает метку конца строки в файл.
 
Выполняет операцию Write, затем помещает метку конца строки в файл.
 
Вызов Writeln(F) без параметров записывает в файл маркер конца строки.
 
Вызов Writeln(F) без параметров записывает в файл маркер конца строки.
 
Файл должен быть открыт для вывода.
 
Файл должен быть открыт для вывода.
 +
 +
 +
'''
 +
 +
Анализ результатов по выполненной работе'''.
  
 
==Полезные ресурсы==
 
==Полезные ресурсы==

Версия 10:50, 29 ноября 2011

Авторы и участники проекта

и участники группы Студенты

Тема исследования группы

Использование файлов для обработки учебной информации

Проблемный вопрос (вопрос для исследования)

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


Цели исследования

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('Данные ЗАПИСАНЫ в файл ');

end; Наслд.jpg Онвшл.jpg

Вывод

Процедуры в 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; Возвращает текущую позицию файла внутри файла.

Pr'ocedure 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;

Возвращает признак конца строки в файле и может использоваться только для открытых текстовых файлов. Обычно применяется для считывания числовых значений из текстовых файлов.

'P'rocedure 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) без параметров записывает в файл маркер конца строки. Файл должен быть открыт для вывода.


Анализ результатов по выполненной работе.

Полезные ресурсы

Другие документы