□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
□□□□□□□□□□■■■□□□□□□□□□□□□□□□□□□□□□
□□□□□□□□□■■■■□□□□■■■■■■■□■■□□□□□□□
□□□□□□□□■■■■■□□■■■■■■■■■■■■■□□□□□□
□□□□□□□■■■■■□□□■■■□□□□□■■■■■□□□□□□
□□□□□□■■■■■□□□□□□□□□□□■■■■■□□□□□□□
□□□□□□■■■■□□□□□□□□■■■■■■□□□□□□□□□□
□□■■■■■■■■■■■■□□□□□■■■■□□□□□□□□□□□
□■■■■■■■■■■■■■□□□□□□■■■□□□□□□□□□□□
□■■■□■■■■□■■■■■■■■■■■■■■■■■■■■■■□□
□□□□□■■■□□■■■□■■■■■■■■■■■■■■■■■□□□
□□□□□■■■■□■■■□■■□□□□■■■■□□□■■■□□□□
□□□□□■■■■□■■■□□□□□□□■■■■□□□□□□□□□□
□□□□□□■■■■■■□□□□□□□□■■■■□□□□□□□□□□
□□□□□□□■■■■■□□□□□□□□■■■■□□□□□□□□□□
□□□□□□□■■■■■■□□□□□□□■■■■□□□□□□□□□□
□□□□□□■■■■■■■■□□□□□□■■■■□□□□□□□□□□
□□□■■■■■■■□□■■□□□□□■■■■□□□□□□□□□□□
□□■■■■■■□□□□□■■■■■■■■■■□□□□□□□□□□□
□□□■■■□□□□□□□□□■■■■■■■□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□■■■□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Label1: TLabel;
Edit1: TEdit;
FontDialog1: TFontDialog;
procedure Button1Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure FormClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i, j, w, h, l, t: Integer;
st: string;
begin
with label1 do
begin
l := Left;
t := Top;
w := Width;
h := Height;
end;
Memo1.Lines.Clear;
for j := t + 5 to h + t - 5 do
begin
st := '';
for i := L to l + w do
begin
if self.canvas.Pixels[i, j] = ClBlack then
begin
st := st + '■'; ;
canvas.Pixels[i + 200, j] := ClBlack;
end
else
st := st + '□';
end;
memo1.Lines.Add(st)
end;
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
label1.Caption := edit1.Text;
end;
procedure TForm1.FormClick(Sender: TObject);
begin
FontDialog1.Font := label1.Font;
if FontDialog1.Execute then
label1.Font := FontDialog1.Font;
end;
end.