Sign in Join
Wiki copytemporary

Basic Pascal Tutorial/Chapter 2/Files/bg

Deutsch · English · Français · Български · 中文(中国) · 日本語

Файлове

(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 означава, че файлът е обикновен текстов файл.

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

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.

Revision 3, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.