Está en la página 1de 42

PRACTICA N1

REALIZAR 27 CARACTERISTICAS PERSONALES


program caracteristicas_personales;
uses
forms,
dialogs,
sysutils;
begin
showmessage('Mi nombre es Rodrigo Solis Ponce'+#13+'universidad:mayor de
san simon'+#13+'
carrera:ingenieria civil');
showmessage('naci
21/06/1992'+#13+'

en Bolivia-Cochabamba'+#13+'fecha
mi estatura: 1.70 cm');

de

nacimiento

showmessage(' mi peso es de 62 kg'+#13+'color de cabello: negro'+#13+'color


de piel: moreno');
showmessage('color de ojos: negros'+#13+'religion: catolico'+#13+'deporte que
practico: futsal');
showmessage('musica favorita: rock y clasicos'+#13+'
octavia'+#13+'idiomas que hablo: castellano');
showmessage('comida favorita: sopa de mani'+#13+'
azul'+#13+'programa favorito: ovacion radio');

banda favorita:
color favorito: rojo y

showmessage('instrumentos que toco: guitarra y piano '+#13+'


favorita: la vida es bella'+#13+'
numero de hermanos:tres');

pelicula

showmessage('
integrantes de mi familia:6'+#13+'
hora de nacimiento:
6:30 am'+#13+'me gradue del colegio: maria auxiliadora');
showmessage('mi equipo favorito:wilstermann y Real madrid'+#13+'
servicio pre militar: C.I.T.E'+#13+'actualmente vivo en colcapihua-sumumpaya
central');
end.

3 CARACTERISTICAS POR CUADRO EN TOTAL 27 CARACTERISTICAS:

PRACTICA N2 MENOR DE 11 NUMEROS


unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;

Edit10: TEdit;
Edit11: TEdit;
Edit12: TEdit;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
VAR
A,B,C,D,E,F,G,H,I,J,K,MENOR:DOUBLE;
begin
A:=STRTOFLOAT(EDIT1.Text);
B:=STRTOFLOAT(EDIT2.Text);
C:=STRTOFLOAT(EDIT3.Text);
D:=STRTOFLOAT(EDIT4.Text);
E:=STRTOFLOAT(EDIT5.Text);
F:=STRTOFLOAT(EDIT6.Text);
G:=STRTOFLOAT(EDIT7.Text);
H:=STRTOFLOAT(EDIT8.Text);
I:=STRTOFLOAT(EDIT9.Text);
J:=STRTOFLOAT(EDIT10.Text);

K:=STRTOFLOAT(EDIT11.Text);
MENOR:=A;
IF(B<MENOR)THEN
BEGIN
MENOR:=B;
END;
IF(C<MENOR)THEN
BEGIN
MENOR:=C;
END;
IF(D<MENOR)THEN
BEGIN
MENOR:=D;
END;
IF(E<MENOR)THEN
BEGIN
MENOR:=E;
END;
IF(F<MENOR)THEN
BEGIN
MENOR:=F;
END;
IF(G<MENOR)THEN
BEGIN
MENOR:=G;
END;
IF(H<MENOR)THEN
BEGIN
MENOR:=H;
END;

IF(I<MENOR)THEN
BEGIN
MENOR:=I;
END;
IF(J<MENOR)THEN
BEGIN
MENOR:=J;
END;
IF(K<MENOR)THEN
BEGIN
MENOR:=K;
END;
EDIT12.Text:=FLOATTOSTR(MENOR);
end;

procedure TForm1.Button2Click(Sender: TObject);


begin
CLOSE
end;
end.

PRACTICA N3
SALARIO NETO SEMANAL

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;

type
TForm1 = class(TForm)
Label1: TLabel;
GroupBox1: TGroupBox;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Label4: TLabel;
Edit3: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);


VAR
TARIFA,NHORAS,SB,SB1,SB2,DIF,SNETO,DIFSB:REAL;
begin
TARIFA:=STRTOFLOAT(EDIT1.Text);
NHORAS:=STRTOFLOAT(EDIT2.Text);
IF(NHORAS>35)THEN
BEGIN
DIF:=NHORAS-35;
SB1:=35*TARIFA;
SB2:=DIF*1.5*TARIFA;
SB:=SB1+SB2;

END
ELSE
BEGIN
SB:=TARIFA*NHORAS;

END;
IF(SB>600)THEN
BEGIN
DIFSB:=SB-600;

IF(DIFSB>400)THEN

BEGIN
SNETO:=400*0.87+(DIFSB-400)*0.55+600
END
ELSE
BEGIN
SNETO:=DIFSB*0.87+600;
END;
END
ELSE
BEGIN
SNETO:=SB;
END;
EDIT3.Text:=FLOATTOSTR(SNETO);
end;

end.

PRACTICA N4
USUARIO Y CONTRASEA (3 USUARIOS Y 2CONTRASEAS CON 5
OPORTUNIDADES)

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Edit1: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Timer1: TTimer;
Label7: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
procedure BitBtn1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }

end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
IF(LOWERCASE(EDIT1.Text)='rodrigo')AND(LOWERCASE(EDIT2.Text)='246')THEN
BEGIN
IF(LOWERCASE(EDIT3.Text)='gabriel')AND(LOWERCASE(EDIT4.Text)='222')THEN
BEGIN
IF(LOWERCASE(EDIT5.Text)='pedro')THEN
BEGIN
TIMER1.Enabled:=FALSE;
LABEL7.Caption:='';
SHOWMESSAGE('BIENVENIDO AL SISTEMA');
CLOSE
end;
END;
END
ELSE
BEGIN
IF(FORM1.TAG<5)THEN
SHOWMESSAGE('ERROR CONTRASEA INCORRECTA');
IF(FORM1.TAG>=5)THEN
BEGIN
TIMER1.Enabled:=FALSE;
LABEL7.Caption:='';
SHOWMESSAGE('SE LE TERMINO LAS OPORTUNIDADES');
CLOSE
END
ELSE

FORM1.Tag:=FORM1.Tag+1;
END;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
LABEL7.CAPTION:='LE RESTAN'+INTTOSTR(TIMER1.TAG)+'SEGUNDOS';
TIMER1.Tag:=TIMER1.Tag-1;
IF(TIMER1.TAG=0)THEN
BEGIN
TIMER1.Enabled:=FALSE;
LABEL7.Caption:='';
SHOWMESSAGE('SE LE TERMINO EL TIMEPO,INTENTE DESPUES POR FAVOR');
CLOSE
END;
end;
end.

Cuando ingresamos correctamente

cuando se termina el tiempo:

Cuando introducimos mal las contraseas (solo tenemos 5 oportunidades)


Primer error:

Segundo error:

Tercer error:

Cuarto error:

Quinto error nos aparece este mensaje:

Para que nuestro password no se pueda ver simplemente realizamos lo siguiente:


Seleccionamos los password y en la parte de properties-passwordchar colocamos ***

Como podemos observar nuestras contraseas ya no son visibles:

PRACTICA N5
CONVERSION DE UNIDADES

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
GroupBox1: TGroupBox;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure Edit4KeyPress(Sender: TObject; var Key: Char);
procedure Edit5KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public

{ Public declarations }
end;

var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
VAR
KG_CM2,TON_M2,KIP_PIE2,LIBRA_PULG2,KIP_PULG2:DOUBLE;
begin
IF(KEY=#13)THEN
BEGIN
KG_CM2:=STRTOFLOAT(EDIT1.Text);
TON_M2:=KG_CM2*100;
KIP_PIE2:=KG_CM2*2.048;
LIBRA_PULG2:=KG_CM2*14.27;
KIP_PULG2:=KG_CM2*0.0143;
EDIT2.Text:=FLOATTOSTR(TON_M2);
EDIT3.Text:=FLOATTOSTR(KIP_PIE2);
EDIT4.Text:=FLOATTOSTR(LIBRA_PULG2);
EDIT5.Text:=FLOATTOSTR(KIP_PULG2);
END;
end;
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
VAR
KG_CM2,TON_M2,KIP_PIE2,LIBRA_PULG2,KIP_PULG2:DOUBLE;
begin
IF(KEY=#13)THEN
BEGIN
TON_M2:=STRTOFLOAT(EDIT2.TEXT);

KG_CM2:=TON_M2*(0.01);
KIP_PIE2:=TON_M2*(0.205);
LIBRA_PULG2:=TON_M2*(1.422);
KIP_PULG2:= TON_M2*(0.00142);
EDIT1.Text:=FLOATTOSTR(KG_CM2);
EDIT3.Text:=FLOATTOSTR(KIP_PIE2);
EDIT4.Text:=FLOATTOSTR(LIBRA_PULG2);
EDIT5.Text:=FLOATTOSTR(KIP_PULG2);
END;
end;
procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
VAR
KG_CM2,TON_M2,KIP_PIE2,LIBRA_PULG2,KIP_PULG2:DOUBLE;
begin
IF(KEY=#13)THEN
BEGIN
KIP_PIE2:=STRTOFLOAT(EDIT3.TEXT);
KG_CM2:=KIP_PIE2*(0.488);
TON_M2:=KIP_PIE2*(4.879);
LIBRA_PULG2:=KIP_PIE2*(6.940);
KIP_PULG2:=KIP_PIE2*(0.00694);
EDIT1.Text:=FLOATTOSTR(KG_CM2);
EDIT2.Text:=FLOATTOSTR(TON_M2);
EDIT4.Text:=FLOATTOSTR(LIBRA_PULG2);
EDIT5.Text:=FLOATTOSTR(KIP_PULG2);
END;
end;
procedure TForm1.Edit4KeyPress(Sender: TObject; var Key: Char);
VAR
KG_CM2,TON_M2,KIP_PIE2,LIBRA_PULG2,KIP_PULG2:DOUBLE;
begin

IF(KEY=#13)THEN
BEGIN
LIBRA_PULG2:=STRTOFLOAT(EDIT4.TEXT);
KG_CM2:=LIBRA_PULG2*(0.070);
TON_M2:=LIBRA_PULG2*(0.703);
KIP_PIE2:=LIBRA_PULG2*(0.144);
KIP_PULG2:=LIBRA_PULG2*(0.0010);
EDIT1.Text:=FLOATTOSTR(KG_CM2);
EDIT2.Text:=FLOATTOSTR(TON_M2);
EDIT3.Text:=FLOATTOSTR(KIP_PIE2);
EDIT5.Text:=FLOATTOSTR(KIP_PULG2);
END;
end;
procedure TForm1.Edit5KeyPress(Sender: TObject; var Key: Char);
VAR
KG_CM2,TON_M2,KIP_PIE2,LIBRA_PULG2,KIP_PULG2:DOUBLE;
begin
IF(KEY=#13)THEN
BEGIN
KIP_PULG2:=STRTOFLOAT(EDIT5.TEXT);
KG_CM2:=KIP_PULG2*(70.058);
TON_M2:=KIP_PULG2*(703.074);
KIP_PIE2:=KIP_PULG2*(144.115);
LIBRA_PULG2:=KIP_PULG2*(999.728);
EDIT1.Text:=FLOATTOSTR(KG_CM2);
EDIT2.Text:=FLOATTOSTR(TON_M2);
EDIT3.Text:=FLOATTOSTR(KIP_PIE2);
EDIT4.Text:=FLOATTOSTR(LIBRA_PULG2);
END;
end;
end.

PRACTICA N6
RAIZ APROXIMADA DE 11

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
GroupBox1: TGroupBox;
Label2: TLabel;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
VAR
X,R,ANT,DIF:REAL;
begin
IF(KEY=#13)THEN
BEGIN

X:=STRTOFLOAT(EDIT1.Text);
R:=X/11;
REPEAT
ANT:=R;
R:=(ANT+X/(ANT*ANT*ANT*ANT*ANT*ANT*ANT*ANT*ANT*ANT))/11;
DIF:=ABS(X-R*R*R*R*R*R*R*R*R*R*R)
UNTIL(DIF<1E-6);
LABEL2.Caption:='R= '+FLOATTOSTR(R);
END;
end;
end.

PRACTICA N7
CAIDA LIBRE

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit1: TEdit;
Edit2: TEdit;

Edit3: TEdit;
GroupBox1: TGroupBox;
Label5: TLabel;
Edit4: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
PROCEDURE CAIDALIBRE(Vo,Ti,Yi:real;var Yf:real);
BEGIN
Yf:=Vo*Ti+Yi-(0.5*9.8)*SQR(Ti);
END;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN
EDIT2.SetFocus;
IF NOT(KEY IN['0'..'9',',',#8])THEN
KEY:=#0

end;
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN
EDIT3.SetFocus;
IF NOT(KEY IN['0'..'9',',',#8])THEN
KEY:=#0
end;
procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN
EDIT4.SetFocus;
IF NOT(KEY IN['0'..'9',',',#8])THEN
KEY:=#0
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var
Vo,Ti,Yo,Yf:REAL;
begin
Vo:=STRTOFLOAT(EDIT1.Text);
Ti:=STRTOFLOAT(EDIT2.Text);
Yo:=STRTOFLOAT(EDIT3.TEXT);
CAIDALIBRE(Vo,Ti,Yo,Yf);
EDIT4.Text:=FLOATTOSTR(Yf);
end;
end.

PRACTICA N8
CUADRADO LATINO DE GRADO #12

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
StringGrid1: TStringGrid;
procedure FormCreate(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormResize(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
TYPE MATRIX=ARRAY[1..100,1..100]OF INTEGER;
PROCEDURE LIMPIARCELDAS(REJILLA:TSTRINGGRID);
VAR
F,C:INTEGER;
BEGIN

FOR F:=1 TO REJILLA.RowCount DO


FOR C:=1 TO REJILLA.ColCount DO
REJILLA.Cells[C,F]:=''
END;
PROCEDURE GENERARCUADRADOLATINO(N:INTEGER; VAR M:MATRIX);
VAR
F,C,K,SW,TEMP:INTEGER;
BEGIN
SW:=0;
FOR F:=1 TO N DO
IF SW=0 THEN
BEGIN
FOR C:=1 TO N DO M[F,C]:=C;
SW:=1
END
ELSE
BEGIN
TEMP:=M[F-1,N];
FOR K:=N DOWNTO 2 DO M[F,K]:=M[F-1,K-1];
M[F,1]:=TEMP
END
END;
PROCEDURE
M:MATRIX);

MOSTRARCUADRADOLATINO(REJILLA:TSTRINGGRID;

VAR
F,C:INTEGER;
BEGIN
FOR F:=1 TO N DO
FOR C:=1 TO N DO
REJILLA.Cells[C+1,F+1]:=INTTOSTR(M[F,C])
END;

N:INTEGER;

procedure TForm1.FormCreate(Sender: TObject);


VAR
F,C:INTEGER;
begin
FORM1.WindowState:=WSMAXIMIZED;
FOR F:=1 TO STRINGGRID1.RowCount DO
STRINGGRID1.Cells[0,F]:=INTTOSTR(F);
FOR C:=1 TO STRINGGRID1.ColCount DO
STRINGGRID1.Cells[C,0]:=CHR(64+C);
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
STRINGGRID1.Col:=2;
STRINGGRID1.Row:=2;
end;
procedure TForm1.FormResize(Sender: TObject);
begin
EDIT1.Width:=FORM1.Width-11;
STRINGGRID1.HEIGHT:=FORM1.HEIGHT-53;
STRINGGRID1.WIDTH:=FORM1.Width-11;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
VAR
M:MATRIX;
N:INTEGER;
begin
IF KEY=#13 THEN
BEGIN
N:=STRTOINT(EDIT1.Text);
IF (N>100)THEN
SHOWMESSAGE('INGRESE UN NUMERO MENOR O IGUAL QUE 100')

ELSE
BEGIN
LIMPIARCELDAS(STRINGGRID1);
GENERARCUADRADOLATINO(N,M);
MOSTRARCUADRADOLATINO(STRINGGRID1,N,M);
END
END;
IF NOT (KEY IN['0'..'9'])THEN
KEY:=#0
end;
end.

PRACTICA N9
ESCRIBIR NOMBRE Y APELLIDO

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
procedure FormPaint(Sender: TObject);
private
{ Private declarations }
Public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormPaint(Sender: TObject);
begin
WITH CANVAS DO
BEGIN
PEN.COLOR:=CLRED;
POLYLINE([POINT(50,300),POINT(50,100),POINT(100,100),POINT(50,100),POINT(50,200),POINT
(100,200),POINT(50,200),POINT(150,300)]);
ARC(50,100,150,200,100,200,100,100);
ARC(200,100,300,300,200,200,200,200);
POLYLINE([POINT(400,300),POINT(350,300),POINT(350,100),POINT(400,100)]);
ARC(350,100,450,300,400,300,400,100);

POLYLINE([POINT(500,300),POINT(500,100),POINT(550,100),POINT(500,100),POINT(500,200),P
OINT(550,200),POINT(500,200),POINT(600,300)]);
ARC(500,100,600,200,550,200,550,100);
POLYLINE([POINT(650,100),POINT(650,300)]);
POLYLINE([POINT(750,200),POINT(800,200),POINT(800,300),POINT(750,300)]);
ARC(700,200,800,300,700,250,750,300);
ARC(700,100,800,200,750,100,700,150);
POLYLINE([POINT(700,150),POINT(700,250)]);
POLYLINE([POINT(750,100),POINT(800,100),POINT(800,150)]);
ARC(850,100,950,300,850,200,850,200);
BEGIN
PEN.Color:=CLBLUE;
POLYLINE([POINT(50,600),POINT(100,600)]);
ARC(50,450,150,600,100,600,100,450);
ARC(50,350,150,450,50,400,100,450);
ARC(50,350,150,450,100,350,50,400);
POLYLINE([POINT(100,350),POINT(150,350)]);
ARC(200,350,300,600,200,450,200,450);
POLYLINE([POINT(350,350),POINT(350,600),POINT(450,600)]);
POLYLINE([POINT(500,350),POINT(500,600)]);
POLYLINE([POINT(550,600),POINT(600,600)]);
ARC(550,450,650,600,600,600,600,450);
ARC(550,350,650,450,550,400,600,450);
ARC(550,350,650,450,600,350,550,400);
POLYLINE([POINT(600,350),POINT(650,350)]);
END;
END;
end;
end.

PRACTICA N10
5 CUADRADOS (SIN IMAGEN) Y 3 ELIPSE(CON IMAGEN)

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;

type
TForm1 = class(TForm)
Image1: TImage;
procedure FormPaint(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormPaint(Sender: TObject);
begin
with canvas do
begin
pen.Color:=clgreen;
pen.Width:=7;
brush.Color:=clyellow;
brush.Style:=bscross;
rectangle(50,50,150,150);
rectangle(200,50,300,150);
rectangle(350,50,450,150);
rectangle(500,50,600,150);
rectangle(650,50,750,150);
end;
with image1 do
begin
canvas.Pen.Color:=clred;
canvas.Pen.Width:=7;

canvas.ellipse(50,50,200,150);
canvas.ellipse(250,50,400,150);
canvas.ellipse(450,50,600,150);
end;
end;
end.

También podría gustarte