Лабораторная работа №3. Функции вывода для консольных устройств
Задание: разработать программу с использованием базовых системных функций ОС WINDOWS, которая фиолетовыми символами ‘*’ изобразить на экране прямоугольный треугольник с катетами 20, расположенный в правом верхнем углу экрана.
Исходный код программы:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
LabeledEdit1: TLabeledEdit;
LabeledEdit2: TLabeledEdit;
Label1: TLabel;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
var i,l,t:integer;
lef,tops:integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
l:=10;
t:=10;
// ShowMessage(inttostr(ClientWidth));
Canvas.Font.Color:=$423189;
for i:=1 to strtoint(LabeledEdit1.Text) do
begin
Canvas.TextOut(ClientWidth-l,10,'*');
inc(l,10);
end;
for i:=1 to strtoint(LabeledEdit2.Text) do
begin
Canvas.TextOut(ClientWidth-10,t,'*');
inc(t,10);
end;
lef:=l;
tops:=t;
t:=10;
for i:=1 to ((strtoint(LabeledEdit2.Text)+1)*2)-1 do
begin
Canvas.TextOut(ClientWidth-l,t,'*');
dec(l,Round(strtoint(LabeledEdit1.Text)/strtoint(LabeledEdit2.Text))*5);
inc(t,5);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Canvas.Pen.Color:=clBtnFace;
Canvas.Rectangle(lef,0,ClientWidth+1,tops+10);
end;
end.
Блок схемы:
|