|
Записывает данные в двоичный или текстовый файл
Описание:
Процедура Write записывает строку
данных в файл или на консоль.
Вариант 1
Используется для вывода строки текста на
консоль.
Вариант 2
Используется для записи строки текста в
текстовый файл, заданный переменной FileHandle.
Вариант 3
Используется для записи строки текста
в двоичный файл, заданный переменной FileHandle.
Вы должны связать файл с файловой переменной с
помощью функции AssignFile и открыть его с помощью Reset или ReWrite перед
использованием Write.
Для текстовых файлов,
записанный текст пожжет быть любым корректным выражением(-ями). Часто
записываемый текст представлен строкой, но он также может быть выражением,
которое возвращает в качестве результата строку или число.
После каждого выражения вы можете добавить
опции форматирования:
:ширина Ширина поля для
строк и чисел
:точность Количество цифр после
запятой для чисел
Для типизированных двоичных
файлов значения с данными Value1, Value2 и т.д. записываются в файл как строки с
данными. Эти значения должны быть того же типа, что и файл.
Пример кода:
var
myFile : TextFile;
text : string;
i : Integer;
begin
// Try to open the Test.txt file for writing to
AssignFile(myFile, 'Test.txt');
ReWrite(myFile);
// Write a couple of well known words to
this file
Write(myFile, 'Hello ');
Write(myFile, 'World');
// Terminate this line
WriteLn(myFile);
// Write some numbers to
the file as a single line
for i := 2 to 4 do
Write(myFile, i/2, ' ');
// Terminate this
line
WriteLn(myFile);
// Repeat the above,
but with number formatting
for i := 2 to 4 do
Write(myFile, i/2:5:1);
// Terminate this line
WriteLn(myFile);
// Close the file
CloseFile(myFile);
// Reopen the file for
reading only
Reset(myFile);
// Display the
file contents
while not Eof(myFile) do
begin
ReadLn(myFile, text);
ShowMessage(text);
end;
//
Close the file for the last time
CloseFile(myFile);
end;
Результат выполнения:
Hello World
1.00000000000000E+0000 1.50000000000000E+0000 2.00000000000000E+0000
1.0 1.5 2.0
Пример кода:
type
TCustomer = record
name : string[20];
age : Integer;
male : Boolean;
end;
var
myFile : File of TCustomer; // A file of
customer record
customer : TCustomer;
begin
// Try to open the Test.cus binary file for writing to
AssignFile(myFile, 'Test.cus');
ReWrite(myFile);
// Write a couple of customer records to
the file
customer.name := 'Fred Bloggs';
customer.age := 21;
customer.male := true;
Write(myFile, customer);
customer.name := 'Jane Turner';
customer.age := 45;
customer.male := false;
Write(myFile, customer);
// Close the file
CloseFile(myFile);
// Reopen the file in
read only mode
FileMode := fmOpenRead;
Reset(myFile);
// Display the file contents
while not Eof(myFile) do
begin
Read(myFile, customer);
if customer.male
then
ShowMessage('Man with name '+customer.name+
' is '+IntToStr(customer.age))
else
ShowMessage('Lady with name '+customer.name+
' is '+IntToStr(customer.age));
end;
//
Close the file for the last time
CloseFile(myFile);
end;
Результат выполнения:
Man with name Fred Bloggs is 21
Lady with name Jane Turner is 45
Пример кода:
var
myWord, myWord1, myWord2 : Word;
myFile : File of Word;
begin
// Try to
open the Test.bin binary file for writing to
AssignFile(myFile,
'Test.bin');
ReWrite(myFile);
// Write a
couple of lines of Word data to the file
myWord1 := 234;
myWord2 := 567;
Write(myFile, myWord1,
myWord2);
// Close the file
CloseFile(myFile);
// Reopen the file in read only mode
FileMode := fmOpenRead;
Reset(myFile);
// Display the file contents
while not
Eof(myFile) do
begin
Read(myFile,
myWord);
ShowMessage(IntToStr(myWord));
end;
// Close the file for the last time
CloseFile(myFile);
end;
Результат выполнения:
234
567
|
|