📄 readerwriter_mainform.pas
字号:
unit ReaderWriter_MainForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TFormReaderWriter = class(TForm)
btnWrite: TButton;
btnRead: TButton;
btnWriteAndRead: TButton;
Label1: TLabel;
Label2: TLabel;
Memo1: TMemo;
Label3: TLabel;
btnXmlCorrect: TButton;
btnXmlUnbalanced: TButton;
btnClassic: TButton;
procedure btnWriteClick(Sender: TObject);
procedure btnReadClick(Sender: TObject);
procedure btnWriteAndReadClick(Sender: TObject);
procedure btnXmlCorrectClick(Sender: TObject);
procedure btnXmlUnbalancedClick(Sender: TObject);
procedure btnClassicClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormReaderWriter: TFormReaderWriter;
implementation
{$R *.dfm}
uses
Generics.Collections;
type
TTrivialXmlWriter = class
private
fWriter: TTextWriter;
fNodes: TStack<string>;
public
constructor Create (aWriter: TTextWriter);
destructor Destroy; override;
procedure WriteStartElement (const sName: string);
procedure WriteEndElement;
procedure WriteString (const sValue: string);
end;
procedure TFormReaderWriter.btnWriteAndReadClick(Sender: TObject);
var
sw: TStringWriter;
sr: TStringReader;
theString: string;
begin
sw := TStringWriter.Create;
try
sw.WriteLine ('Hello, world');
sw.WriteLine ('Have a nice day');
sw.WriteLine (Left);
theString := sw.ToString;
finally
sw.Free;
end;
sr := TStringReader.Create(theString);
try
while sr.Peek <> -1 do
Memo1.Lines.Add (sr.ReadLine);
finally
sr.Free;
end;
end;
procedure TFormReaderWriter.btnWriteClick(Sender: TObject);
var
sw: TStreamWriter;
begin
sw := TStreamWriter.Create('test.txt', False, TEncoding.UTF8);
try
sw.WriteLine ('Hello, world');
sw.WriteLine ('Have a nice day');
sw.WriteLine (Left);
finally
sw.Free;
end;
end;
procedure TFormReaderWriter.btnXmlCorrectClick(Sender: TObject);
var
sw: TStringWriter;
txw: TTrivialXmlWriter;
theString: string;
begin
sw := TStringWriter.Create;
try
txw := TTrivialXmlWriter.Create (sw);
try
txw.WriteStartElement('book');
txw.WriteStartElement('title');
txw.WriteString('Delphi 2009 Handbook');
txw.WriteEndElement;
txw.WriteStartElement('author');
txw.WriteString('Marco Cant
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -