Описание |
Процедура Write запишет отдельную строку данных в файл или консоль.
Версия 1:
Используется, чтобы записать строку текста на консоль.
Версия 2:
Используется, чтобы записать строку текста в текстовый файл с данным указателем FileHandle.
Версия 3:
Используется, чтобы записать строку данных в двоичный файл с данным указателем FileHandle.
Вы должны использовать AssignFile, чтобы связать файл с FileHandle и открыть файл с помощью процедуры Reset или ReWrite перед использованием WriteLn.
Запись текста может быть с любыми правильными Выражениями(Expression). Часто они являются строками, но могут быть также выражениями, которые приводят к строкам или числам.
После каждого выражения, вы можете добавить опции форматирования:
:width ширина поля для строк + чисел
:precision десятичные цифры для чисел
Для типизированных двоичных файлов, значения данных Value1, Value2 и т.д., записываются как строки данных в файл. Эти значения должны иметь тот же самый тип, что и файл.
|
|
Примечания |
Вы не можете использовать Write, чтобы записать в двоичный нетипизированный файл (который объявлен как File без последующего указания типа of type).
Чтобы записывать в двоичному файлу, используйте BlockWrite.
Write не буферизует записи, так что более эффективно использовать BlockWrite.
Write также является директивой Delphi. Она используется с ключевым словом Property.
|
|
Похожие команды |
AssignFile Связывает дескриптор файла с бинарным или текстовым файлом
BlockRead Читает блок записей данных из нетипизированного двоичного файла
BlockWrite Записывает блок записей данных в нетипизированный двоичный файл
File Определяет типизированный или нетипизированный файл
Read Позволяет прочитать данные из двоичного или текстового файла
ReadLn Позволяет прочитать полную строку данных из текстового файла
Reset Открывает текстовый файл для чтения, или двоичный файл для чтения/записи
ReWrite Открывает текстовый или двоичный файл для записи
TextFile Объявляет типа файл для того, чтобы сохранить строки текста
WriteLn Записывает законченную строку данных в текстовый файл
| |
|
Пример кода : Иллюстрация записи простой, множественной и форматированной строки текста |
var
myFile : TextFile;
text : string;
i : Integer;
begin // Попытка открыть файл Test.txt для записи
AssignFile(myFile, 'Test.txt');
ReWrite(myFile);
// Запись нескольких известных слов в этот файл
Write(myFile, 'Hello ');
Write(myFile, 'World');
// Заканчиваем эту строку
WriteLn(myFile);
// Запись некоторых чисел в файл как
одиночная линия
for i := 2 to 4 do
Write(myFile, i/2, ' ');
// Заканчиваем эту строку
WriteLn(myFile);
// Повторение вышеупомянутого, но с
форматированием чисел
for i := 2 to 4 do
Write(myFile, i/2:5:1);
// Заканчиваем эту строку
WriteLn(myFile);
// Закрываем файл
CloseFile(myFile);
// Повторное открытие файла только
для чтения
Reset(myFile);
// Показ содержимого файла
while not Eof(myFile) do
begin
ReadLn(myFile, text);
ShowMessage(text);
end;
// Закрытие файла в последний раз
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; //
Файл записи клиента
customer : TCustomer;
begin // Попытка открыть бинарный файл Test.cus
для записи
AssignFile(myFile, 'Test.cus');
ReWrite(myFile);
// Запись нескольких записей клиента
в файл
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);
// Закрытие файла
CloseFile(myFile);
// Повторное открытие файла в режиме
только для чтения
FileMode := fmOpenRead;
Reset(myFile);
// Показ содержимого файла
while not Eof(myFile) do
begin
Read(myFile, customer);
if customer.male
then ShowMessage('Мужчина по имени '+customer.name+
'
- '+IntToStr(customer.age))
else ShowMessage('Женщина по имени '+customer.name+
'
- '+IntToStr(customer.age));
end;
// Закрытие файла в последний раз
CloseFile(myFile);
end;
|
Мужчина по имени Fred Bloggs - 21
Женщина по имени Jane Turner - 45
|
|
| Пример кода : Запись в двоичный файл типа Word |
var
myWord, myWord1, myWord2 : Word;
myFile : File of Word;
begin // Попытка открыть бинарный файл Test.bin
для записи
AssignFile(myFile, 'Test.bin');
ReWrite(myFile);
// Запись нескольких строк Word
данных в файл
myWord1 := 234;
myWord2 := 567;
Write(myFile, myWord1, myWord2);
// Закрытие файла
CloseFile(myFile);
// Повторное открытие файла в режиме
только для чтения
FileMode := fmOpenRead;
Reset(myFile);
// Показ содержимого файла
while not Eof(myFile) do
begin
Read(myFile, myWord);
ShowMessage(IntToStr(myWord));
end;
// Закрытие файла в последний раз
CloseFile(myFile);
end;
|
234
567
|
|