Уроки по Delphi



         

Урок15. Работа с файлами - часть 2


Преобразование обычной строковой переменной, типа String в PChar производится функцией:

PChar(Строковая_переменная).

При этом, для команд файловых операций возможны объединение строк. Например:

procedure TForm1.Button1Click(Sender: TObject);

Var InDir,OutDir:String; // объявление строковых переменных

begin

InDir:='c:\1\'; // каталог исходных файлов

OutDir:='c:\2\'; // каталог записуемых файлов

CopyFile(PChar(InDir+'1.txt'),PChar(OutDir+'1.txt'),false);

CopyFile(PChar(InDir+'2.txt'),PChar(OutDir+'2.txt'),false);

end;

Здесь налицо операция соединения двух строковых переменных.

В итоге этой процедуры будет копирование файлов c:\1\1.txt и c:\1\2.txt в каталог c:\2. Файлы копируются под теми же именами.

Удаление файлов

Функция DeleteFile

if not DeleteFile('c:\3.com') then ShowMessage('Ошибка удаления');

Работа с текстовыми файлами. Чтение из текстового файла

На прошлых уроках мы рассматривали пример простейшего текстового редактора. В нем, в компоненте Memo процесс загрузки и записи текстового файла делался следующим образом:

Memo1.Lines.LoadFromFile(Имя_файла); // загрузка

Memo1.Lines.SaveToFile(Имя_файла); // сохранение

Все это благодаря свойству Lines, в котором хранятся строки.

Но на практике иногда необходимо прочитать только определенную строку или совершить операцию добавления строки в уже существующий файл.

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

procedure TForm1.Button1Click(Sender: TObject);

Var f:TextFile; // объявление файловой переменной

st:String; // строковая переменная

begin

AssignFile(f,'c:\1.txt'); // привязка названия файла к файловой переменной

{$I-} // отключение контроля ошибок ввода-вывода

Reset(f); // открытие файла для чтения

{$I+} // включение контроля ошибок ввода-вывода

if IOResult<>0 then

// если есть ошибка открытия, то

begin

ShowMessage('Ошибка открытия файла C:\1.TXT');

Exit; // выход из процедуры при ошибке открытия файла




Содержание  Назад  Вперед