Согласие на обработку персональных данных.

15.12.2018
Новая задача Как преобразовать байт в килобайт.

05.12.2018
Новые видео и статья Параграфы и выравнивание текста в HTML.

01.12.2018
Новый выпуск журнала Автоматизация и программирование.

26.11.2018
Новые видео и статья Функция Concat.

25.11.2018
Новые видео и статья Справка в Lazarus.



Раздел: Стандартные функции Паскаля

Процедура Assign

Процедура Assign в Паскале связывает переменную с файлом. Синтаксис:

 
procedure Assign(out F: file; const Name: ShortString);

procedure Assign(out F: file; const p: PAnsiChar);

procedure Assign(out F: file; const c: AnsiChar);

procedure Assign(out F: file; const Name: UnicodeString);

procedure Assign(out F: file; const Name: RawByteString);

procedure Assign(out F: TypedFile; const Name: shortstring);

procedure Assign(out F: TypedFile; const p: PAnsiChar);

procedure Assign(out F: TypedFile; const c: AnsiChar);

procedure Assign(out F: TypedFile; const Name: unicodestring);

procedure Assign(out F: TypedFile; const Name: RawByteString);

procedure Assign(out F: Text; const s: shortstring);

procedure Assign(out F: Text; const p: PAnsiChar);

procedure Assign(out F: Text; const c: AnsiChar);

procedure Assign(out F: Text; const s: unicodestring);

procedure Assign(out F: Text; const s: RawByteString);

Как связать файл с переменной в Паскале

Процедура Assign связывает переменную F с файлом какого-либо типа. После этого в программе можно использовать переменную F для работы с указанным файлом.

Вызов процедуры Assign не открывает файл, а только связывает имя файловой переменной F с файлом на диске. При этом файл отмечается как закрытый.

Как видно из синтаксиса процедуры, файл может быть как типизированным, так и не типизированным.

Как объявить файловую переменную

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

iFile : file of integer; //Типизированная файловая переменная

tFile : Text;         //Нетипизированная файловая переменная

В первом случае мы объявляем типизированную файловую переменную. В файле, который будет связан с этой переменной, могут храниться только целые числа типа Integer.

Во втором случае мы объявляем нетипизированную файловую переменную. В файле, который будет связан с этой переменной, могут храниться данные произвольного типа в текстовом формате.

Далее приведён пример программы, где рассмотрена работа как с типизированными, так и с нетипизированными файловыми переменными.

program assignproc;

var F     : Text;
    iFile : file of Integer; //Типизированная файловая переменная
    tFile : Text;            //Нетипизированная файловая переменная
    i     : Integer;

begin
  Assign(F, '');
  ReWrite(F);
  //Следующее может быть помещено в любой файл,
  //перенаправленный из командной строки.
  //Это будет передано на стандартный вывод
  WriteLn(F, 'This goes to standard output!');
  Close(F);

  Assign(F, 'Test.txt');
  ReWrite(F);
  //Это НЕ будет передано на стандартный вывод,
  //но будет записано в файл Test.txt
  WriteLn(F, 'This doesn''t go to standard output!');
  Close(F);

  Assign(iFile, 'itest.dat');
  ReWrite(iFile);
  //Записываем 8 чисел от 1 до 8 в файл itest.dat
  for i := 1 to 8 do
    Write(iFile, i);
  Close(iFile);

  Assign(tFile, 'ttest.txt');
  ReWrite(tFile);
  //Записываем 8 строк в файл ttest.txt
  for i := 1 to 8 do
    WriteLn(tFile, 'Line ', i);
  Close(tFile);

  ReadLn;
end.

Как стать программистом 2.0 Как стать программистом 2.0

Эта книга для тех, кто хочет стать программистом. На самом деле хочет, а не просто мечтает. И хочет именно стать программистом с большой буквы, а не просто научиться кулебякать какие-то примитивные программки… Подробнее...
Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика