Раздел: Стандартные функции Паскаля
Процедура 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), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации. Подробнее... |