Basic Pascal Tutorial/Chapter 2/Files/bg

From Lazarus wiki
(Redirected from Files/bg)
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

български (bg) Deutsch (de) English (en) français (fr) 日本語 (ja) 中文(中国大陆)‎ (zh_CN)

 ◄   ▲   ► 

Файлове

(author: Tao Yue, state: unchanged)

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

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

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

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, като използвате само променливата.

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

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

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

close (file_variable);

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

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.
 ◄   ▲   ►