Sign in Join
Wiki copytemporary

Revision 1 of 3, by WikiArchive on 11-4-2026. The page as it is now.

Basic Pascal Tutorial/Chapter 2/Files/bg

Файлове

(author: Tao Yue, state: unchanged)

Четенето от файл вместо от конзолата (клавиатурата) може да се извърши чрез:

pascal
read (file_variable, argument_list);
write (file_variable, argument_list);

Това важи и за readln and writeln. Променливата file_variable се декларира по следния начин:

pascal
var
  ...
  filein, fileout : text;

Типът text означава, че файлът е обикновен текстов файл.

След декларирането на променлива за файла и преди четене от или писане в него, трябва да свържем променливата с името на файла на диска и да отворим файла. Това може да стане по един от двата начина. Обикновено:

reset (file_variable, 'filename.extension');
rewrite (file_variable, 'filename.extension');

Процедурата reset отваря файла за четене, а rewrite отваря файла за писане. Файл отворен с reset може да се използва само с read и readln. Файл отворен с rewrite може да се използва само с write и writeln.

Турбо Паскал въведе assign нотацията. Първо присвоявате име на файл на променлива, след което извиквате reset или rewrite, като използвате само променливата.

pascal
assign (file_variable, 'filename.extension');
reset (file_variable);

Методът за представяне на пътя и името на файла се различава в зависимост от операционната система. В Windows се използват обратни наклонени черти и букви на устройството защото произлиза от DOS (e.g. c:\directory\name.pas), докато FreeBSD, macOS и Linux използват '/' поради наследяването им от UNIX.

След като приключите с файла, можете да го затворите с:

pascal
close (file_variable);

Ето пример за програма, която използва файлове. Тази програма е написана за Turbo Pascal и DOS и ще създаде file2.txt с първия символ от file1.txt:

pascal
program CopyOneByteFile;

var
   mychar : char;
   filein, fileout : text;

begin
   assign (filein, 'c:\file1.txt');
   reset (filein);
   assign (fileout, 'c:\file2.txt');
   rewrite (fileout);
   read (filein, mychar);
   write (fileout, mychar);
   close(filein);
   close(fileout)
end.

From the Free Pascal wiki, page "Basic Pascal Tutorial/Chapter 2/Files/bg", as it stood on 2022-08-20 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.