скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Запись и чтение данных из файлов



Шеф дает секретарше две дискеты:
- Леночка, скопируйте вот эту дискету на эту, чистую.
Через пару минут она прибегает в слезах:
- Михаил Иваныч, чистую дискету ксерокс зажевал!


{
В следующем примере показано как можно осуществить чтение
и запись данных в/из файла. Данный пример предполагается
в первую очередь использовать тем, кто делает первые шаги
в вопросах чтения/записи. Для получения дополнительной
информации о каждом объекте, обратитесь к электронной справке.
В коде присутствует минимальная обработка исключительных
ситуаций, но она никоим образом не является законченным решением.

Для оформления программы необходимо установить на форме
компонент TMemo с заголовком Запись, и кнопку с заголовком
Чтение. Запустите программу, поместите несколько строк в "memo",
после чего нажмите на кнопку Запись. Очистите "memo", и нажмите Чтение.
}

procedure TForm1.BtnWriteClick(Sender: TObject);
{ автор: Michael Vincze
}
var
  FileStream: TFileStream;
  Writer: TWriter;
  I: Integer;
begin
  FileStream :=
    TFileStream.Create('c:\delphi\projects\delta40\fileio\stream.txt',
    fmCreate or fmOpenWrite or fmShareDenyNone);
  Writer := TWriter.Create(FileStream, $FF);
  Writer.WriteListBegin;
  for I := 0 to Memo1.Lines.Count - 1 do
    Writer.WriteString(Memo1.Lines[I]);
  Writer.WriteListEnd;
  Writer.Destroy;
  FileStream.Destroy;
end;

procedure TForm1.BtnReadClick(Sender: TObject);
{ автор:  Michael Vincze
}
var
  FileStream: TFileStream;
  Reader: TReader;
begin
  { пробуем открыть несуществующий файл
  }
  try
    FileStream :=
      TFileStream.Create('c:\delphi\projects\delta40\fileio\bogus.txt',
      fmOpenRead);
  except
    ; { Destroy не нужен, поскольку Create потерпела неудачу  }
  end;

  FileStream :=
    TFileStream.Create('c:\delphi\projects\delta40\fileio\stream.txt',
    fmOpenRead);
  Reader := TReader.Create(FileStream, $FF);
  Reader.ReadListBegin;
  Memo1.Lines.Clear;
  while not Reader.EndOfList do
    Memo1.Lines.Add(Reader.ReadString);
  Reader.ReadListEnd;
  Reader.Destroy;
  FileStream.Destroy;
end;






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook