- •Д.С.Ситкин
- •Информатика.
- •Программированиевdelphi
- •Лабораторныйпрактикум
- •Содержание
- •Введение
- •Основныепонятияпрограммирования
- •Этапыпрограммирования
- •Средаdelphi.Созданиепростейшегопроекта
- •Формаиеёсвойства
- •Компонентыформыиихсвойства
- •КомпонентLabeledEdit
- •Событиеипроцедураобработкисобытия
- •Пример1.1
- •Компиляцияизапускпроектанаисполнение
- •Структураисохранениепроекта
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Линейныйалгоритм
- •Типыданных
- •Константыипеременные
- •Арифметическиеоперации
- •Правилазаписитиповыхдействий
- •Структурапроцедурыобработкисобытия
- •Пример2.1
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Подпрограммы
- •Классификацияиструктураподпрограмм
- •Механизмработыподпрограммыиобменапараметрами
- •Пример3.1
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Структурамодуля
- •Созданиеиподключениемодуля
- •Пример4.1
- •Условныйоператор.Неполнаяформа
- •Условныйоператор.Полнаяформа
- •IfусловиеthenоператорS1elseоператорS2
- •Пример5.1
- •Пример5.2
- •Операторвыбора
- •Пример5.3
- •Содержаниеотчёта
- •Контрольныевопросы
- •Контрольсинтаксисавводимыхданных
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Алгоритмыповторений
- •Операторцикласпредварительнымусловием
- •Пример7.1
- •Операторцикласпараметром(сосчётчиком)
- •Пример7.2
- •Пример7.3
- •Операторцикласпоследующимусловием
- •Пример7.4
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Массивы
- •Объявлениемассива
- •Обработкамассивов
- •Пример8.1
- •Динамическиемассивы
- •Подпрограммасоткрытымпараметром-массивом
- •Пример8.2
- •Целесообразностьвыделенияпамятиподмассивы
- •Контрольсинтаксисаэлементовмассива
- •Задание
- •Обработкамногомерныхмассивов
- •Пример9.1
- •КомпонентStringGrid
- •Пример9.2
- •Сортировкамассивов
- •Пример9.3
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Внешниефайлы
- •Физическиеилогическиефайлы
- •Классификациялогическихфайлов
- •Процедурыифункцииобработкифайлов
- •Пример 10.1
- •КомпонентыOpenDialog иSaveDialog
- •Пример 10.2
- •Пример 10.3
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Олабораторнойработе
- •Информатика. Программированиев delphi
Процедурыифункцииобработкифайлов
При обработке файла нужно: связать файл с файловой перемен-ной, объявив её; открыть файл для чтения данных или записи данных(или создать файл); обработать файл; закрыть файл. При этом исполь-зуют стандартныепроцедурыифункциидляработысфайлами.
AssignFile(f, 'Имя файла')связывает физический файлИмяфайлас файловой переменнойf. Если приложение находится в од-ной папке с файлом, то допустимо указывать короткое имя файла(собственносамоимяирасширение) безполногопутидоступа.
Reset(f)открывает текстовый файл, связанный с файловой пе-ременнойf, только для чтения (а типизованный или нетипизованныйфайл и для записи) и устанавливает указатель чтения в начало файла.Приповторномвызовепереводитуказательчтениявначалофайла.
Read(f,список ввода)считывает данные из файла, связанно-го с файловой переменнойf, с места текущего положения указателячтения в переменные списка ввода по порядку следования. При чте-нии чисел из текстовых файлов сначала происходит автоматическоепреобразованиеизображенийчисел(типstring)втиппеременныхсписка ввода, который указывается при их объявлении в проекте. За-тем эти числа записываются в переменные списка ввода с учётом раз-делителя(пробел,конецстроки).
Readln(f,список ввода)то же, но после считывания данныхперемещает указатель чтения в начало следующей строки (даже еслииз текущей строки считаны не все данные). Если список ввода отсут-ствует, то указатель чтения просто переводится в начало следующейстрокифайла.
Rewrite(f)открываетфайл,связанныйсфайловойпеременнойf, для перезаписи (удаляет предыдущую версию файла). Если файл небылсоздан,тосоздаёт его.
Append(f)открывает текстовый файл, связанный с файловойпеременнойf,длядобавленияданныхкужесуществующимвфайле.
Write(f,список вывода)записывает данные в файл, связан-ный с файловой переменнойf, с места текущего положения указателязаписи, содержащиеся в константах или переменных списка вывода.При выводе чисел в текстовый файл происходит автоматическое пре-образованиевих изображения.
Writeln(f,список вывода)то же, но после записи данных пе-ремещаетуказательзаписивначалоследующей строкифайла.
Процедуры Readln и Writeln запрещены при работе с типизован-нымифайлами.
CloseFile(f)закрывает файл, связанный с файловой перемен-нойf. Однако связь файла сfне теряется, он может быть повторно от-крытбезповторногообращениякпроцедуреAssignFile.
Seek(f,n)переводит указатель чтения/записи с текущей пози-ции в позициюn(целое число) типизованного файла, связанного сфайловойпеременнойf,непроизводяприэтомчтениеилизапись.
FileSize(f)функция, возвращающая целое число элементов втипизованномфайле,связанным сфайловойпеременнойf.
FilePos(f)функция, возвращающая текущую позицию указате-ля чтения/записи (целое число) в типизованном файле, связанным сфайловойпеременнойf.
Eoln(f)функция,возвращающаязначениеTrue,еслитекущаяпозицияуказателячтения/записипоследняявстрокетекстовогофай-ла, связанного с файловой переменнойf, илиFalse, если не последняяEof(f)функция,возвращающаязначениеTrue,еслитекущаяпозицияуказателячтения/записипоследняявфайле,связанногос
файловойпеременнойf,илиFalse,еслинепоследняя.
{$I}директива компилятору на отключение автоматическойобработки ошибок ввода/вывода (доступа к файлу). Применяется, ко-гда программист сам прописывает, как обработать такую ошибку дляболеегибкоговыходаизситуации,исключив аварийнуюостановку.
{$I+}директива компилятору на включение автоматическойобработкиошибокввода/вывода(доступак файлу).
IOResultфункция,возвращающаязначение0,еслиошибокввода/вывода нет, в противном случае возвращает код ошибки (не ра-вен0).Доступнапривключённойобработкеошибок({$I+}).
