Мегаобучалка Главная | О нас | Обратная связь


Функции для работы с файлами



2015-12-07 284 Обсуждений (0)
Функции для работы с файлами 0.00 из 5.00 0 оценок




1. До начала работы с файлами в Паскале необходимо установить связь между файловой переменной и именем физического дискового файла:

Assign(<файловая_переменная>, <имя_дискового_файла>)

Следует помнить, что имя дискового файла при необходимости должно содержать путь доступа к этому файлу, включая имя дисковода. При этом имя дискового файла – строковая величина, т.е. должна быть заключена в апострофы. Например:

Пример процедуры Assign в Паскале

Assign (chf, 'G:\Home\ Student\ Lang\ Pascal\ primer.dat');

 

2. После окончания работы с файлами на Паскале, они должны быть закрыты.

Close(<список файловых переменных>);

При выполнении этой процедуры закрываются соответствующие физические файлы и фиксируются сделанные изменения. Следует иметь в виду, что при выполнении процедуры close связь файловой переменной с именем дискового файла, установленная ранее процедурой assign, сохраняется, следовательно, файл можно повторно открыть без дополнительного использования процедуры assign.

 

3. Подготовка к записи в файл Паскаля

Rewrite(<имя_ф_переменной>);

Процедура Rewrite(f) (где f – имя файловой переменной) устанавливает файл с именем f в начальное состояние режима записи, в результате чего указатель устанавливается на первую позицию файла. Если ранее в этот файл были записаны какие-либо элементы, то они становятся недоступными.

 

4.Запись в файл Паскаля

Write(<имя_ф_переменной>, <список записи>);

При выполнении процедуры write(f, x) в ту позицию, на которую показывает указатель, записывается очередная компонента, после чего указатель смещается на следующую позицию. Естественно, тип выражения х должен совпадать с типом компонент файла.

 

5.Подготовка файла к чтению Паскаля

Reset(<имя_ф_переменной>);

Эта процедура ищет на диске уже существующий файл и переводит его в режим чтения, устанавливая указатель на первую позицию файла.

 

6.Чтение из файла в Паскале

Read(<имя_ф_переменной>,<список переменных>);

Рассмотрим результат действия процедуры read(f, v):

Состояние файла f и переменной v до выполнения процедуры:

Состояние файла f и переменной v после выполнения процедуры:

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

Reset(f1);

While not eof(f1) do begin
Readln(f1,s);{считываем очередную строку из первого файла}

End;
Close(f1); {заканчиваем работу с файлами}

 

7.Функция определения достижения конца файла в Паскале

Eof(<имя_ф_переменной>);

Название этой функции является сложносокращенным словом от end of file. Значение этой функции имеет значение true, если конец файла уже достигнут, т.е. указатель стоит на позиции, следующей за последней компонентой файла. В противном случае значение функции – false.

 

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

Append(<имя_ф_переменной>);

var

f: file;{файловая переменная f}

begin

assign(f,'test.txt'); {назначение файловой переменной f имени файла test.txt}

rewrite(f); {создание файла и открытие его для записи}

writeln(f,'Запись'); {запись информации в файл}

close(f); {закрытие файла}

end.

 

9.Поиск файла на диске.

Для того чтобы воспользоваться процедурами поиска FindFirst и FindNext необходимо добавить в раздел Uses модуль «Dos». В этом же модуле описан тип SearchRec.

Uses Dos;

Var

S:SearchRec;

Begin

FindFirst('*.exe',AnyFile,S);

While DosError=0 do

Begin

WriteLn(S.Name);

FindNext(S);

End;

FindClose(S);

End.

Чтобы отличить папки от файлов проверяем атрибут полученного объекта:

if (S.Attr and Directory) <> 0 then

Writeln(‘Это папка’)

Метод FindFirst позволяет искать только в текущей папке. Названия файлов полученные с помощью FindFirst и FindNext имеют кодировку в ANSI (Windows, CP1251).

 

10. Изменения текущей папки

ChDir( <путь>);

Функции работы со строками (модуль SysUtils).

Length(s:string):integer

Функция возвращает в качестве результата значение текущей длины строки-параметра

Пример.

n := length('Pascal'); {n будет равно 6}

 

Copy(s:string; index:integer; count:integer):string

Функция возвращает подстроку, выделенную из исходной строки s, длиной count символов, начиная с символа под номером index.

Пример.

s := 'Система Turbo Pascal';

s2 := copy(s, 1, 7); {s2 будет равно 'Система'}

s3 := copy(s, 9, 5); {s3 будет равно 'Turbo'}

s4 := copy(s, 15, 6); {s4 будет равно 'Pascal'}

 

Delete(var s:string; index,count:integer)

Процедура удаляет из строки-параметра s подстроку длиной count символов, начиная с символа под номером index.

Пример.

s := 'Система Turbo Pascal';

delete(s,8,6); {s будет равно 'Система Pascal'}

 

Insert(source:string; var s:string;index:integer)

Процедура предназначена для вставки строки source в строку s, начиная с символа index этой строки.

Пример.

s := 'Система Pascal';

insert('Turbo ',s,9); {s будет равно 'Система Turbo Pascal'}

Pos(substr,s:string):byte

Функция производит поиск в строке s подстроки substr. Результатом функции является номер первой позиции подстроки в исходной строке. Если подстрока не найдена, то функция возвращает 0.

Пример.

s := 'Система Turbo Pascal';

x1 := pos('Pascal', s); {x1 будет равно 15}

x2 := pos('Basic', s); {x2 будет равно 0}

UpperCase(const S: string): string;

Преобразует символы 'a'..'z' в строке S к верхнему регистру.

LowerCase(const S: string): string;

Преобразует символы 'A'..'Z' в строке S к нижнему регистру.

LTrim() - Удаляем все пробелы в левой части строки

RTrim() - Удаляем все пробелы в правой части строки

Trim() - Удаляем все пробелы по краям строки

RightStr() - Возвращаем правую часть стоки заданной длины

LeftStr() - Возвращаем левую часть стоки заданной длины

Приложение А

Министерство образования и науки РФ

ФГБОУ ВПО «Волгоградский государственный
архитектурно-строительный университет»

Себряковский филиал

 

 

Кафедра математических и естественно-научных дисциплин

 

 

Пояснительная записка к курсовой работе

по дисциплине

«Технология программирования»

 

Тема работы:

 

«Коллективная разработка ПО»

 

 

Выполнил студент гр. <группа>

Иванов И.И.

Проверил <должность >:

Иванов И.И.

Михайловка 2013

 

 



2015-12-07 284 Обсуждений (0)
Функции для работы с файлами 0.00 из 5.00 0 оценок









Обсуждение в статье: Функции для работы с файлами

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (284)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)