Delphi-Help

  • Increase font size
  • Default font size
  • Decrease font size

Write

Печать
Рейтинг пользователей: / 0
ХудшийЛучший 

 


Write

Описание

1 procedure Write ( Expression1 {options} {, Expression2 {options} ...} ) ;
2 procedure Write ( var FileHandle : TextFile; Expression1 {options} {, Expression2 {options} ...} ) ;
3 procedure Write ( var FileHandle : File; var Value1 {,var Value2 ...} ) ;

Процедура Write запишет отдельную строку данных в файл или консоль.
Версия 1:
Используется, чтобы записать строку текста на консоль.
Версия 2:
Используется, чтобы записать строку текста в текстовый файл с данным указателем FileHandle.
Версия 3:
Используется, чтобы записать строку данных в двоичный файл с данным указателем FileHandle.
Вы должны использовать AssignFile, чтобы связать файл с FileHandle и открыть файл с помощью процедуры Reset или ReWrite перед использованием WriteLn.
Запись текста может быть с любыми правильными Выражениями(Expression). Часто они являются строками, но могут быть также выражениями, которые приводят к строкам или числам.
После каждого выражения, вы можете добавить опции форматирования:
:width ширина поля для строк + чисел
:precision десятичные цифры для чисел
Для типизированных двоичных файлов, значения данных Value1, Value2 и т.д., записываются как строки данных в файл. Эти значения должны иметь тот же самый тип, что и файл.

Пример кода

Пример кода : Иллюстрация записи простой, множественной и форматированной строки текста

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

 

Примечание

Вы не можете использовать Write, чтобы записать в двоичный нетипизированный файл (который объявлен как File без последующего указания типа of type).
Чтобы записывать в двоичному файлу, используйте BlockWrite.
Write не буферизует записи, так что более эффективно использовать BlockWrite.
Write также является директивой Delphi. Она используется с ключевым словом Property.

 

Авторизация



Счетчики