Справочник функций и процедур Delphi: Write

  Навигация по первой букве:

A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z

  Навигация по категории:

Compiler directives, Directives, Keywords / Types, Variables, Constants / Functions, Procedures

Write
Процедура
Записывает данные в бинарный или текстовый файл System unit
  
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 ...} ) ;

Delphi Sources

Описание
Процедура 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
 


Последние добавленные на сайт исходники

TDictionary Custom Sort

Fast Watermark Sources

3D Designer

Sik Screen Capture

Patch Maker

Айболит (remote control)

 

ListBox Drag & Drop

Доска для игры Реверси

Графические эффекты

Рисование по маске

Перетаскивание изображений

Canvas Drawing

 

Copyright © 2004-2024 "Delphi Sources" by BrokenByte Software (источник – "DelphiBasics")

Группа ВКонтакте