Class tstatwriter

Unit

Declaration

type tstatwriter = class(tstatfiler)

Description

Writes structured, human-readable data (sections, booleans, integers, strings, arrays...) to a text file or stream, using an INI-like format. The data can be read back with tstatreader.

uses
  sysutils,
  msetypes, // filenamety
  msestat;  // tstatwriter, tstatreader

const
  cfilename: filenamety = 'demo.sta';
  cmsestringarty: msestringarty = ('ein');

var
  lstatwriter: tstatwriter;
  lstatreader: tstatreader;
  lmsestringarty: msestringarty;
  lmsestring: msestring;

begin
  try
    lstatwriter := tstatwriter.create(cfilename);
    with lstatwriter do
    begin
      writesection('options');

      writemsestring('a', 'abracadabra');
      writeboolean('b', TRUE);
      writeinteger('c', 2020);

      writearray('d', ['ein', 'zwei', 'drei']);
    end;
  finally
    lstatwriter.free;
  end;

  try
    lstatreader := tstatreader.create(cfilename);
    with lstatreader do
    begin
      setsection('options');

      WriteLn(readmsestring('a', '?'));
      WriteLn(readboolean('b', FALSE));
      WriteLn(readinteger('c', 0));

      lmsestringarty := readarray('d', cmsestringarty);
      for lmsestring in lmsestringarty do
        WriteLn('* ', lmsestring);
    end;
  finally
    lstatreader.free;
  end;
end.

Hierarchy

Overview

Methods

Protected procedure writeval(const name: msestring; const avalue: msestring);
Protected procedure writemultival(const name: msestring; const avalue: msestring);
Protected procedure writemultilistval(const avalue: msestring);
Protected procedure writelistval(const avalue: msestring);
Public constructor create(const astream: ttextstream; const aencoding: charencodingty = ce_utf8); overload;
Public constructor create(const filename: filenamety; const aencoding: charencodingty = ce_utf8; const atransaction: boolean = true); overload;
Public procedure writesection(const name: msestring);
Public procedure writeboolean(const name: msestring; const value: boolean);
Public procedure writebyte(const name: msestring; const value: byte);
Public procedure writeword(const name: msestring; const value: word);
Public procedure writeinteger(const name: msestring; const value: integer);
Public procedure writeint64(const name: msestring; const value: int64);
Public procedure writereal(const name: msestring; const value: real);
Public procedure writestring(const name: msestring; const value: string);
Public procedure writebinarystring(const name: msestring; const value: string);
Public procedure writemsestring(const name: msestring; const value: msestring);
Public procedure writedatalist(const name: msestring; const value: tdatalist);
Public procedure writearray(const name: msestring; const value: stringarty); overload;
Public procedure writearray(const name: msestring; const value: msestringarty); overload;
Public procedure writearray(const name: msestring; const value: integerarty); overload;
Public procedure writearray(const name: msestring; const value: int64arty); overload;
Public procedure writearray(const name: msestring; const value: booleanarty); overload;
Public procedure writearray(const name: msestring; const value: longboolarty); overload;
Public procedure writearray(const name: msestring; const value: realarty); overload;
Public procedure writearray(const name: msestring; const value: complexarty); overload;
Public procedure writelistitem(const value: msestring); overload;
Public procedure writelistitem(const value: integer); overload;
Public procedure writelistitem(const value: realty); overload;
Public procedure writelistitem(const value: complexty); overload;
Public procedure writerecord(const name: msestring; const values: array of const);
Public procedure writerecordarray(const name: msestring; const count: integer; get: recgetrecordeventty); overload;
Public procedure writerecordarray(const name: msestring; const count: integer; get: recgetrecordevent1ty); overload;
Public function beginlist(const name: msestring = ''): boolean; override;
Public function endlist: boolean; override;
Public procedure writevalue(const name: msestring; const intf: istatupdatevalue);
Public procedure writestat(const intf: istatfile);
Public procedure writememorystatstream(const name: msestring; const streamname: msestring);
Public procedure streamdata(const adata: string);
Public procedure streamtext(const atext: msestring);

Description

Methods

Protected procedure writeval(const name: msestring; const avalue: msestring);

This item has no description.

Protected procedure writemultival(const name: msestring; const avalue: msestring);

This item has no description.

Protected procedure writemultilistval(const avalue: msestring);

This item has no description.

Protected procedure writelistval(const avalue: msestring);

This item has no description.

Public constructor create(const astream: ttextstream; const aencoding: charencodingty = ce_utf8); overload;

This item has no description.

Public constructor create(const filename: filenamety; const aencoding: charencodingty = ce_utf8; const atransaction: boolean = true); overload;

This item has no description.

Public procedure writesection(const name: msestring);

This item has no description.

Public procedure writeboolean(const name: msestring; const value: boolean);

This item has no description.

Public procedure writebyte(const name: msestring; const value: byte);

This item has no description.

Public procedure writeword(const name: msestring; const value: word);

This item has no description.

Public procedure writeinteger(const name: msestring; const value: integer);

This item has no description.

Public procedure writeint64(const name: msestring; const value: int64);

This item has no description.

Public procedure writereal(const name: msestring; const value: real);

This item has no description.

Public procedure writestring(const name: msestring; const value: string);

This item has no description.

Public procedure writebinarystring(const name: msestring; const value: string);

This item has no description.

Public procedure writemsestring(const name: msestring; const value: msestring);

This item has no description.

Public procedure writedatalist(const name: msestring; const value: tdatalist);

This item has no description.

Public procedure writearray(const name: msestring; const value: stringarty); overload;

This item has no description.

Public procedure writearray(const name: msestring; const value: msestringarty); overload;

This item has no description.

Public procedure writearray(const name: msestring; const value: integerarty); overload;

This item has no description.

Public procedure writearray(const name: msestring; const value: int64arty); overload;

This item has no description.

Public procedure writearray(const name: msestring; const value: booleanarty); overload;

This item has no description.

Public procedure writearray(const name: msestring; const value: longboolarty); overload;

This item has no description.

Public procedure writearray(const name: msestring; const value: realarty); overload;

This item has no description.

Public procedure writearray(const name: msestring; const value: complexarty); overload;

This item has no description.

Public procedure writelistitem(const value: msestring); overload;

This item has no description.

Public procedure writelistitem(const value: integer); overload;

This item has no description.

Public procedure writelistitem(const value: realty); overload;

This item has no description.

Public procedure writelistitem(const value: complexty); overload;

This item has no description.

Public procedure writerecord(const name: msestring; const values: array of const);

This item has no description.

Public procedure writerecordarray(const name: msestring; const count: integer; get: recgetrecordeventty); overload;

This item has no description.

Public procedure writerecordarray(const name: msestring; const count: integer; get: recgetrecordevent1ty); overload;

This item has no description.

Public function beginlist(const name: msestring = ''): boolean; override;

This item has no description.

Public function endlist: boolean; override;

This item has no description.

Public procedure writevalue(const name: msestring; const intf: istatupdatevalue);

This item has no description.

Public procedure writestat(const intf: istatfile);

This item has no description.

Public procedure writememorystatstream(const name: msestring; const streamname: msestring);

This item has no description.

Public procedure streamdata(const adata: string);

This item has no description.

Public procedure streamtext(const atext: msestring);

This item has no description.


Generated by PasDoc 1.0.4.