русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

ФУНКЦИИ РАБОТЫ С ФАЙЛАМИ


Дата добавления: 2013-12-23; просмотров: 1248; Нарушение авторских прав


ФУНКЦИИ РАБОТЫ СО СТРОКАМИ

НЕКОТОРЫЕ ПОЛЕЗНЫЕ ФУНКЦИИ

 

Функции работы с типом string и PChar модуля SysUtils.

PChar представляет собой указатель на массив символов, заканчивающихся символом #0. PChar применяются в основном при обращении к функциям API Windows (application programming interfaces);

var
s: string;
p: PChar;
begin
s := 'ABC';
p := PChar(s);
p := 'Строка'; s := String(p); p := PChar(s);
end;

 

 

Функции работы со строками типа string
function StrToInt (const s:string): Longint;   Преобразует строку в целое число. При ошибке возникает исключительная ситуация EConvertError. exs:='123'; i:=StrToInt(exs);
function UpperCase( const s:string) string Преобразует символы ‘a’..’z’ в строке s к верхнему регистру
function LowerCase( const s:string) string Преобразует символы ‘A’..’Z’ в строке s к нижнему регистру
function CompareText ( const s1,s2 : string): integer Сравнивает 2 строки без учета регистра символов
function IntToStr(value: longint): string; Преобразует целое число в троку
function FloatToStr(Value: Extended): string; overload; Преобразует вещественное число в строку. s := FloatToStr(125,00); // результат: '125'
function StrToFloat(const S: string): Extended; overload; Преобразует строку в вещественное число. f := StrToFloat('125'); //результат: 125,0
Функции работы со строками типа PChar
function StrPas(Str: Pchar) :string Преобразует строку Str в строку типа string
function StrComp(Str1, Str2: PChar) : integer Сравнивает две строки посимвольно. Возвращает <0 при Str1<Str2, =0 при Str1=Str2, >0 при Str1>Str2
function  
Стр 79  

 



Паскалевский метод доступа к файлам:

http://www.delphisources.ru/pages/faq/base/all_about_files.html

1) Определяем файловую переменную:

var f: TextFile;

2) Ассоциируем ее:

AssignFile(F, 'c:\MyFile.txt');

3) Теперь надо этот файл открыть, есть 3 варианта:

1. файла нет или он должен быть перезаписан, открытие для записи: Rewrite(f)

2. файл есть и его надо открыть для чтения (с первой строки): Reset(f)

3. файл есть и его надо открыть для дописывания строк в конец: Append(f)

4) В конце работы открытый файл нужно закрыть:

CloseFile(f);

Чтение предварительно открытого файла:

ReadLn(f, s) - будет прочитана текущая строка и позиция чтения переведена на следующую позицию.

А как прочитать весь файл?

while not eof(f) dobegin ReadLn(f, s); {здесь делаем что-то с прочитанной строкой}end;

Теперь как писать в текстовый файл:

Запись целой строки:

Writeln(f,s);

Некоторые функции для работы с файлами модуля SysUtils:

 

function FileOpen(const FileName: string; Mode: LongWord): Integer;

Открывает существующий файл в режиме Mode. Возвращает дескриптор открытого файла.

Допустимы следующие режимы открытия файлов:

fmOpenRead = $0000;

fmOpenWrite = $0001;

fmOpenReadWrite = $0002;

 

function FileSeek(Handle, Offset, Origin: Integer): Integer;

Позиционирует файл с дескриптором Handle в новое положение. При

Origin=0 (позиционируем от начала файла)

Origin=1 (позиционируем от текущей позиции)

Origin=2 (позиционируем от конца файла).

Возвращает новое положение либо -1 при ошибке.

 

function FileWrite(Handle: Integer; const Buffer; Count: Integer): Integer;

Записывает в файл с дескриптором Handle Count байт из Buffer.

Пример записи в конец файла:

var

FileHandle : Integer;

st:string;

FileHandle := FileOpen('d:\1.txt', fmOpenWrite);

st:='hello korolev HELLO!!!!!! '+#13+'12345';

FileSeek(FileHandle,0,2);

FileWrite(FileHandle,st[1],length(st));

 

function FileCreate(const FileName: string): Integer;

Создает файл с именем FileName. Возвращает дескриптор созданного файла (как и function FileOpen).

 

function FileRead(Handle: Integer; var Buffer; Count: Integer): Integer;

Считывает из файла с дескриптором Handle Count байт в Buffer. Возвращает число прочитанных байт или -1 при ошибке.

Пример:

var

FileHandle: Integer;

iFileLength: Integer;

iBytesRead: Integer;

Buffer: PChar;

i: Integer

FileHandle := FileOpen('d:\1.txt', fmOpenRead);

iFileLength := FileSeek(FileHandle,0,2);

FileSeek(FileHandle,0,0);

Buffer := PChar(AllocMem(iFileLength + 1));

iBytesRead := FileRead(FileHandle, Buffer^, iFileLength);

writeln('read from file:');

for i := 0 to iBytesRead-1 do

begin

write(Buffer[i]);

end;

{ // можно и так

st2:=StrPas(Buffer);

writeln('read from file=',st2);

}

FileClose(FileHandle);

function AllocMem(Size: Cardinal): Pointer;

Выделяет блок памяти размером Size и возвращает указатель на него.

Cardinal 0..4294967295 unsigned 32-bit

 

function FindFirst(const Path: string; Attr: Integer; var F: TSearchRec): Integer;

Ищет первый файл, удовлетворяющий маске поиска, заданной в Path и с атрибутами Attr. В случае успеха заполняет запись TSearchRec и возвращает 0, иначе возвращает код ошибки.

 

type

TSearchRec = record

Time: Integer;

Size: Integer;

Attr: Integer;

Name: TFileName;

ExcludeAttr: Integer;

FindHandle: THandle;

FindData: TWin32FindData;

end;

 

 

Constant Value Description

faReadOnly 1 Read-only files

faHidden 2 Hidden files

faSysFile 4 System files

faVolumeID 8 Volume ID files

faDirectory 16 Directory files

faArchive 32 Archive files

faAnyFile 71 Any file

 

function FindNext(var F: TSearchRec): Integer;

Продолжает процесс поиска файлов, по заданной маске. Параметр F должен быть заполнен при помощи FindFirst. Возвращает 0, если очередной файл найден, или код ошибки.

 

procedure FindClose(var F: TSearchRec);

Завершает процесс поиска файлов, по заданной маске.

 

if FindFirst('d:\*.*', faAnyFile, sr) = 0 then

 

begin

repeat

writeln(sr.Name);

until FindNext(sr) <> 0;

FindClose(sr);

end;

 



<== предыдущая лекция | следующая лекция ==>
ОБРАБОТКА ИСКЛЮЧИТЕЛЬНЫХ СИТУАЦИЙ | Элементы управления


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.