Раздел: Стандартные функции Паскаля
Процедура 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
Эта книга для тех, кто хочет стать программистом. На самом деле хочет, а не просто мечтает. И хочет именно стать программистом с большой буквы, а не просто научиться кулебякать какие-то примитивные программки… Подробнее... |
|
Помощь в технических вопросах
Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: Pascal/Delphi/Lazarus; С/С++; Ассемблер; языки программирования ПЛК; JavaScript; VBScript; Fortran; Python и др. Разработка (доработка) ПО ПЛК (предпочтение - ОВЕН, CoDeSys 2 и 3), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации. Подробнее... |