SlideShare a Scribd company logo
1 of 26
«Програмування із 
застосуванням записів та 
файлів» 
Delphi.
«Программирование с использованием 
записей и файлов» 
План темы: 
1. Тип данных «Запись». 
2. Тип данных «Файл». 
3. Процедуры и функции для работы с 
файлами. 
4. Компоненты OpenDialog и SaveDialog. 
5. Примеры программирования с 
использованием записей и файлов.
1. Тип данных «ЗАПИСЬ». 
•Запись – это структурированный 
тип данных, состоящий из 
фиксированного числа 
компонентов одного или 
нескольких типов. 
•Определение типа записи 
начинается идентификатором 
RECORD и заканчивается 
зарезервированным словом END. 
•Между ними заключен список 
компонентов, называемых 
полями, с указанием 
идентификаторов полей и типа 
каждого поля.
ПРИМЕР ОПИСАНИЯ ЗАПИСИ: 
TYPE 
Car = RECORD 
Number : integer; 
Marka : string[20]; 
Probeg : integer; 
Rashod : real; 
END; 
VAR 
M,V : Car;
ОБРАЩЕНИЕ К ПОЛЯМ ЗАПИСИ: 
•Обращение к значению поля 
осуществляется с помощью 
идентификатора переменной и 
идентификатора поля, 
разделенных точкой. Такая 
комбинация называется 
составным именем. Например, 
чтобы получить доступ к 
полям записи Car, надо 
записать: 
M.Number, M.Marka, 
M.Probeg, M.Rashod
ОБРАЩЕНИЕ К ПОЛЯМ ЗАПИСИ: 
•Для присваивания полям 
значений можно 
использовать оператор 
присваивания: 
M.Number:=1678; 
M.Marka:='ГАЗ-24'; 
M.Probeg:=212100;
ОБРАЩЕНИЕ К ПОЛЯМ ЗАПИСИ: 
• Один раз указав переменную типа запись 
в операторе WITH, можно работать с 
именами полей как с обычными 
переменными, т.е. без указания перед 
идентификатором поля имени переменной, 
определяющей запись. 
WITH <переменная типа запись> DO 
<оператор>; 
• Пример: 
Присвоить значения полям записи Car с 
использованием оператора WITH. 
WITH M DO BEGIN 
Number := 5543; 
Marka := 'ГАЗ-21'; 
Probeg := 212100; 
Rashod := 8.5; 
END;
МАССИВЫ ЗАПИСЕЙ 
• В ряде задач удобно использовать 
массивы из записей. Их можно 
описать следующим образом: 
TYPE 
Person = RECORD 
FIO : string[20]; 
Age : byte; 
Prof: string[30] 
END; 
VAR 
List : array[1..50] of Person; 
• Обращение к полю FIO i-го элемента 
массива: List[i].FIO
ПРИМЕР ОБРАБОТКИ ЗАПИСЕЙ 
• Из массива записей List (описание 
на предыдущей странице) вывести 
данные для тех, кто моложе 25-и 
лет. 
BEGIN 
… 
For i := 1 to N do 
If List[i].Age < 25 then begin 
{…Вывод FIO, Age, Prof} 
end; 
END.
2. Тип данных «ФАЙЛ» 
На практике программам часто приходится 
обрабатывать большие объемы данных. 
Вводить их каждый раз с клавиатуры не 
выгодно, поэтому данные размещаются в 
файлах на диске и при необходимости 
читаются программой. 
• Файл - это структурированный тип 
данных состоящий из последовательности 
компонентов одного типа.
Файлы 
Типизированные Нетипизированные Текстовые
2. Тип данных «ФАЙЛ» 
• Компонентами типизированного файла 
являются величины одного из базового 
типа (Integer, Real и др.). 
• Чаще всего такими компонентами 
являются «записи». Файл с записями 
называют также базой данных. 
• Такие файлы удобны для хранения и 
обработки больших объемов данных.
2. Тип данных «ФАЙЛ» 
• Компонентами нетипизированного файла 
являются блоки данных фиксированной 
длины. 
• Размер блока обычно 128 байт или 512 
байт. 
• Такие файлы применяются для 
увеличения скорости чтения/записи 
информации из файла, копирования, 
печати, передачи данных по сети и др.
2. Тип данных «ФАЙЛ» 
• Компонентами текстового файла 
являются строки. 
• Длина строки 0..255 символов. 
• Каждая строка завершается символами 
окончания строки с кодами 13, 10. 
• Такие файлы удобны тем, что их 
информация может быть прочитана 
любой программой, предназначенной для 
просмотра и редактирования текстовой 
информации.
• Для связи с файлом в программе 
объявляется файловая переменная. В 
зависимости от файлового типа описание 
будет следующим: 
• для типизированных файлов: 
f1 : file of zap; 
f2 : file of integer; 
• для нетипизированных файлов: 
f3 : file; 
• для текстовых файлов: 
f4 : TextFile;
• Для указания связи файловой 
переменной с конкретным файлом 
применяется процедура 
AssignFile(файловая переменная 
,<имя файла>). Например: 
AssignFile(f1, ’myfile.dat’); 
• Одна переменная одновременно не 
может указывать на два файла, но 
одну переменную сначала можно 
связать с одним файлом, потом с 
другим.
Открытие файла: 
• Rewrite (файловая переменная) - открыть 
файл для записи, если указанный файл не 
существует, то создается новый файл; если 
указанный файл существует, то его 
содержимое стирается. 
• Reset (файловая переменная) - открыть 
существующий файл для записи и чтения; 
если указанный файл не существует, 
возникает ошибка. 
• Append (файловая переменная) - открыть 
текстовый файл для добавления данных, 
если указанный файл не существует, 
возникает ошибка.
Чтение-запись из файла: 
• Read (<файловая переменная>, <список 
переменных>) - чтение данных из 
файла и присвоение их значений 
указанным переменным. 
• Write(<файловая переменная>, <список 
эл-тов вывода>) - запись данных в 
файл. 
• Для файла вводится понятие 
«текущее положение указателя». 
При чтении или записи одного 
компонента файла указатель 
перемещается на единицу.
• Seek (файловая переменная, N) - 
установить положение указателя 
файла на компонент с номером N 
(к текстовым файлам не 
применяется). 
• Eof (файловая переменная) - возвращает 
значение истинно, если указатель 
находится в конце файла. 
• FilePos (файловая переменная) - 
возвращает текущий номер 
указателя.
• FileSize (файловая переменная) - 
возвращает количество всех 
компонентов в файле. 
• Close (файловая переменная) - 
закрытие файла. 
• Rename(файловая переменная, 
новое имя) - переименование 
закрытого файла. 
• Erase (файловая переменная) - 
удаление закрытого файла.
Связать файловую 
переменную с файлом. 
Открыть файл. 
Чтение - запись из файла. 
Закрыть файл.
• Вывести на экран содержимое текстового файла 
doc1.txt. 
VAR 
F:TextFile; 
S:String; 
BEGIN 
AssignFile(F,’doc1.txt’); 
Reset(F); 
While not Eof(F) do begin 
Read(F,S); 
{…Вывод строки S на экран.} 
End; 
Close(F); 
END.
3. Компоненты OpenDialog и SaveDiaog. 
•Диалоговые окна для выбора открываемого или 
сохраняемого файла организуются в Delphi с 
помощью компонентов OpenDialog и SaveDialog.
3. Компоненты OpenDialog и SaveDiaog. 
•Основные свойства этих компонентов: 
DefaultExt - Расширение, которое добавляется к имени 
файла, если пользователь его пропустил. 
FileName - Начальное имя файла. 
Filter - Фильтр имени файла. 
Filterlndex - Номер активного фильтра. 
InitialDir - Начальный каталог, открываемый при 
первом появлении окна диалога. 
Options - Параметры, определяющие внешний вид и 
поведение окна диалога. 
Title - Заголовок окна диалога.
3. Компоненты OpenDialog и SaveDiaog. 
•Метод Execute у обоих компонентов выполняет 
диалог открытия или сохранения файла и 
возвращает значение True, если пользователь 
выбрал файл. Полный маршрут к файлу 
запоминается в значении свойства FileName. 
Пример: 
If OpenDialog1.Execute then begin 
AssignFile(f, OpenDialog1.FileName); 
Reset(f); 
end;
3. Компоненты OpenDialog и SaveDiaog. 
•Внешний вид окна диалога открытия файла:

More Related Content

What's hot

What's hot (7)

Прикладная эконометрика. Лекция 2
Прикладная эконометрика. Лекция 2Прикладная эконометрика. Лекция 2
Прикладная эконометрика. Лекция 2
 
Прикладная эконометрика. Лекция 1
Прикладная эконометрика. Лекция 1Прикладная эконометрика. Лекция 1
Прикладная эконометрика. Лекция 1
 
телекоммуникационные технологии
телекоммуникационные технологиителекоммуникационные технологии
телекоммуникационные технологии
 
Файлы и файловые структуры
Файлы и файловые структурыФайлы и файловые структуры
Файлы и файловые структуры
 
file handling in c
file handling in cfile handling in c
file handling in c
 
P01 About OS Windows
P01 About OS WindowsP01 About OS Windows
P01 About OS Windows
 
fayli
faylifayli
fayli
 

Similar to 09 rec file

[Youdz.ru] файлы и папки.
[Youdz.ru] файлы и папки.[Youdz.ru] файлы и папки.
[Youdz.ru] файлы и папки.
You DZ
 
Файлы и папки
Файлы и папкиФайлы и папки
Файлы и папки
NickEliot
 
Lecture14
Lecture14Lecture14
Lecture14
Muuluu
 
лабораторная работа №7
лабораторная работа №7лабораторная работа №7
лабораторная работа №7
Zhanna Kazakova
 
п о файловая система
п о файловая системап о файловая система
п о файловая система
krasoa2009
 
лабораторная работа №8
лабораторная работа №8лабораторная работа №8
лабораторная работа №8
Gulnaz Shakirova
 
Файлы и файловые структуры
Файлы и файловые структурыФайлы и файловые структуры
Файлы и файловые структуры
kvlar
 

Similar to 09 rec file (20)

File input/output in VHDL
File input/output in VHDLFile input/output in VHDL
File input/output in VHDL
 
файлова система
файлова системафайлова система
файлова система
 
[Youdz.ru] файлы и папки.
[Youdz.ru] файлы и папки.[Youdz.ru] файлы и папки.
[Youdz.ru] файлы и папки.
 
файлы и файловая система
файлы и файловая системафайлы и файловая система
файлы и файловая система
 
Файлы и папки
Файлы и папкиФайлы и папки
Файлы и папки
 
Презентация 4
Презентация 4Презентация 4
Презентация 4
 
встроен функции
встроен функциивстроен функции
встроен функции
 
работа с файлами в с++
работа с файлами в с++работа с файлами в с++
работа с файлами в с++
 
НуП_Лекция 7. Работа с каталогами диска.ppt
НуП_Лекция 7. Работа с каталогами диска.pptНуП_Лекция 7. Работа с каталогами диска.ppt
НуП_Лекция 7. Работа с каталогами диска.ppt
 
Lecture14
Lecture14Lecture14
Lecture14
 
Файлы и файловая система
Файлы и файловая системаФайлы и файловая система
Файлы и файловая система
 
файлы и файловая система
файлы и файловая системафайлы и файловая система
файлы и файловая система
 
лабораторная работа №7
лабораторная работа №7лабораторная работа №7
лабораторная работа №7
 
п о файловая система
п о файловая системап о файловая система
п о файловая система
 
05 хранение информации
05 хранение информации05 хранение информации
05 хранение информации
 
Sistema
SistemaSistema
Sistema
 
лабораторная работа №8
лабораторная работа №8лабораторная работа №8
лабораторная работа №8
 
Файлы и файловые структуры
Файлы и файловые структурыФайлы и файловые структуры
Файлы и файловые структуры
 
332 информатика. 10кл. заборовский, пупцев-минск, 2011 -151с
332  информатика. 10кл. заборовский, пупцев-минск, 2011 -151с332  информатика. 10кл. заборовский, пупцев-минск, 2011 -151с
332 информатика. 10кл. заборовский, пупцев-минск, 2011 -151с
 
89
8989
89
 

More from pogromskaya

More from pogromskaya (20)

електронні матеріали
електронні матеріалиелектронні матеріали
електронні матеріали
 
Проектування реляційних БД
Проектування реляційних БДПроектування реляційних БД
Проектування реляційних БД
 
Моделі даних в БД. ER-діаграми
Моделі даних в БД. ER-діаграмиМоделі даних в БД. ER-діаграми
Моделі даних в БД. ER-діаграми
 
Реляційна модель БД
Реляційна модель БДРеляційна модель БД
Реляційна модель БД
 
САПР_СALS
САПР_СALSСАПР_СALS
САПР_СALS
 
інтегровані уроки
інтегровані урокиінтегровані уроки
інтегровані уроки
 
ікт
іктікт
ікт
 
сапр
сапрсапр
сапр
 
Розгортання
РозгортанняРозгортання
Розгортання
 
Прецедентів
ПрецедентівПрецедентів
Прецедентів
 
Компонентів
КомпонентівКомпонентів
Компонентів
 
Діяльності
ДіяльностіДіяльності
Діяльності
 
Взаємодії
ВзаємодіїВзаємодії
Взаємодії
 
Станів
СтанівСтанів
Станів
 
Введення Uml
Введення UmlВведення Uml
Введення Uml
 
Класів
КласівКласів
Класів
 
MW
MWMW
MW
 
C-S
C-SC-S
C-S
 
ппс
ппсппс
ппс
 
ПВПС
ПВПСПВПС
ПВПС
 

09 rec file

  • 1. «Програмування із застосуванням записів та файлів» Delphi.
  • 2. «Программирование с использованием записей и файлов» План темы: 1. Тип данных «Запись». 2. Тип данных «Файл». 3. Процедуры и функции для работы с файлами. 4. Компоненты OpenDialog и SaveDialog. 5. Примеры программирования с использованием записей и файлов.
  • 3. 1. Тип данных «ЗАПИСЬ». •Запись – это структурированный тип данных, состоящий из фиксированного числа компонентов одного или нескольких типов. •Определение типа записи начинается идентификатором RECORD и заканчивается зарезервированным словом END. •Между ними заключен список компонентов, называемых полями, с указанием идентификаторов полей и типа каждого поля.
  • 4. ПРИМЕР ОПИСАНИЯ ЗАПИСИ: TYPE Car = RECORD Number : integer; Marka : string[20]; Probeg : integer; Rashod : real; END; VAR M,V : Car;
  • 5. ОБРАЩЕНИЕ К ПОЛЯМ ЗАПИСИ: •Обращение к значению поля осуществляется с помощью идентификатора переменной и идентификатора поля, разделенных точкой. Такая комбинация называется составным именем. Например, чтобы получить доступ к полям записи Car, надо записать: M.Number, M.Marka, M.Probeg, M.Rashod
  • 6. ОБРАЩЕНИЕ К ПОЛЯМ ЗАПИСИ: •Для присваивания полям значений можно использовать оператор присваивания: M.Number:=1678; M.Marka:='ГАЗ-24'; M.Probeg:=212100;
  • 7. ОБРАЩЕНИЕ К ПОЛЯМ ЗАПИСИ: • Один раз указав переменную типа запись в операторе WITH, можно работать с именами полей как с обычными переменными, т.е. без указания перед идентификатором поля имени переменной, определяющей запись. WITH <переменная типа запись> DO <оператор>; • Пример: Присвоить значения полям записи Car с использованием оператора WITH. WITH M DO BEGIN Number := 5543; Marka := 'ГАЗ-21'; Probeg := 212100; Rashod := 8.5; END;
  • 8. МАССИВЫ ЗАПИСЕЙ • В ряде задач удобно использовать массивы из записей. Их можно описать следующим образом: TYPE Person = RECORD FIO : string[20]; Age : byte; Prof: string[30] END; VAR List : array[1..50] of Person; • Обращение к полю FIO i-го элемента массива: List[i].FIO
  • 9. ПРИМЕР ОБРАБОТКИ ЗАПИСЕЙ • Из массива записей List (описание на предыдущей странице) вывести данные для тех, кто моложе 25-и лет. BEGIN … For i := 1 to N do If List[i].Age < 25 then begin {…Вывод FIO, Age, Prof} end; END.
  • 10. 2. Тип данных «ФАЙЛ» На практике программам часто приходится обрабатывать большие объемы данных. Вводить их каждый раз с клавиатуры не выгодно, поэтому данные размещаются в файлах на диске и при необходимости читаются программой. • Файл - это структурированный тип данных состоящий из последовательности компонентов одного типа.
  • 12. 2. Тип данных «ФАЙЛ» • Компонентами типизированного файла являются величины одного из базового типа (Integer, Real и др.). • Чаще всего такими компонентами являются «записи». Файл с записями называют также базой данных. • Такие файлы удобны для хранения и обработки больших объемов данных.
  • 13. 2. Тип данных «ФАЙЛ» • Компонентами нетипизированного файла являются блоки данных фиксированной длины. • Размер блока обычно 128 байт или 512 байт. • Такие файлы применяются для увеличения скорости чтения/записи информации из файла, копирования, печати, передачи данных по сети и др.
  • 14. 2. Тип данных «ФАЙЛ» • Компонентами текстового файла являются строки. • Длина строки 0..255 символов. • Каждая строка завершается символами окончания строки с кодами 13, 10. • Такие файлы удобны тем, что их информация может быть прочитана любой программой, предназначенной для просмотра и редактирования текстовой информации.
  • 15. • Для связи с файлом в программе объявляется файловая переменная. В зависимости от файлового типа описание будет следующим: • для типизированных файлов: f1 : file of zap; f2 : file of integer; • для нетипизированных файлов: f3 : file; • для текстовых файлов: f4 : TextFile;
  • 16. • Для указания связи файловой переменной с конкретным файлом применяется процедура AssignFile(файловая переменная ,<имя файла>). Например: AssignFile(f1, ’myfile.dat’); • Одна переменная одновременно не может указывать на два файла, но одну переменную сначала можно связать с одним файлом, потом с другим.
  • 17. Открытие файла: • Rewrite (файловая переменная) - открыть файл для записи, если указанный файл не существует, то создается новый файл; если указанный файл существует, то его содержимое стирается. • Reset (файловая переменная) - открыть существующий файл для записи и чтения; если указанный файл не существует, возникает ошибка. • Append (файловая переменная) - открыть текстовый файл для добавления данных, если указанный файл не существует, возникает ошибка.
  • 18. Чтение-запись из файла: • Read (<файловая переменная>, <список переменных>) - чтение данных из файла и присвоение их значений указанным переменным. • Write(<файловая переменная>, <список эл-тов вывода>) - запись данных в файл. • Для файла вводится понятие «текущее положение указателя». При чтении или записи одного компонента файла указатель перемещается на единицу.
  • 19. • Seek (файловая переменная, N) - установить положение указателя файла на компонент с номером N (к текстовым файлам не применяется). • Eof (файловая переменная) - возвращает значение истинно, если указатель находится в конце файла. • FilePos (файловая переменная) - возвращает текущий номер указателя.
  • 20. • FileSize (файловая переменная) - возвращает количество всех компонентов в файле. • Close (файловая переменная) - закрытие файла. • Rename(файловая переменная, новое имя) - переименование закрытого файла. • Erase (файловая переменная) - удаление закрытого файла.
  • 21. Связать файловую переменную с файлом. Открыть файл. Чтение - запись из файла. Закрыть файл.
  • 22. • Вывести на экран содержимое текстового файла doc1.txt. VAR F:TextFile; S:String; BEGIN AssignFile(F,’doc1.txt’); Reset(F); While not Eof(F) do begin Read(F,S); {…Вывод строки S на экран.} End; Close(F); END.
  • 23. 3. Компоненты OpenDialog и SaveDiaog. •Диалоговые окна для выбора открываемого или сохраняемого файла организуются в Delphi с помощью компонентов OpenDialog и SaveDialog.
  • 24. 3. Компоненты OpenDialog и SaveDiaog. •Основные свойства этих компонентов: DefaultExt - Расширение, которое добавляется к имени файла, если пользователь его пропустил. FileName - Начальное имя файла. Filter - Фильтр имени файла. Filterlndex - Номер активного фильтра. InitialDir - Начальный каталог, открываемый при первом появлении окна диалога. Options - Параметры, определяющие внешний вид и поведение окна диалога. Title - Заголовок окна диалога.
  • 25. 3. Компоненты OpenDialog и SaveDiaog. •Метод Execute у обоих компонентов выполняет диалог открытия или сохранения файла и возвращает значение True, если пользователь выбрал файл. Полный маршрут к файлу запоминается в значении свойства FileName. Пример: If OpenDialog1.Execute then begin AssignFile(f, OpenDialog1.FileName); Reset(f); end;
  • 26. 3. Компоненты OpenDialog и SaveDiaog. •Внешний вид окна диалога открытия файла: