Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 отчёт по практике ( 2 курс ).docx
Скачиваний:
18
Добавлен:
31.10.2018
Размер:
189.84 Кб
Скачать

2.3.Городской пейзаж

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

procedure Button1Click(Sender: TObject);

procedure dom(x11,y11,x22,y22,kol,vryadu:integer);

procedure Luna(x,y,x12,y12,kol:integer);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure Tform1.Luna(x,y,x12,y12,kol:integer);

var i,a,b:integer;

begin

with form1.Canvas do

begin

for i:=1 to kol do

begin

a:=random(643)+1;

b:=random(220)+1;

brush.Color:=clyellow;

ellipse(a,b,a+3,b+3);

brush.Color:=clCream;

ellipse(a,240+(220-b),a+3,240+(220-b+3));

end;

brush.Color:=clyellow;

ellipse(x,y,x12,y12);

brush.Color:=clCream;

ellipse(x,240+(220-y),x12,240+(220-y12));

end;

end;

procedure Tform1.dom(x11,y11,x22,y22,kol,vryadu:integer);

var rand,I,j,x3,y3,y4,x4:Integer;

begin

with form1.Canvas do

begin

brush.Color:=rgb(10,10,10);

rectangle(x11,y11,x22,y22);

rectangle(x11,240,x22,240+(y22-y11));

x3:=x11+5;

y3:=y11+5;

x4:=x3;

y4:=240+(y22-y11)-10;

for i:= 1 to kol do

begin

for j:=0 to vryadu-1 do

begin

rand:=random(2);

case rand of

1:

begin

brush.Color:=clyellow;

rectangle(x3+10*j,y3,x3+5+10*j,y3+5);

brush.Color:=clCream;

rectangle(x4+10*j,y4,x4+5+10*j,y4+5);

end;

end;

end;

y3:=y3+10;

y4:=y4-10;

end;

end;

end;

procedure TForm1.Button1Click(Sender: TObject);

var i:integer;

kx,kx2,ky:integer;

begin

randomize;

with form1.Canvas do

begin

brush.Color:=clnavy;

rectangle(0,0,688,220);

brush.Color:=clblack;

rectangle(0,220,688,240);

brush.Color:=clblue;

rectangle(0,240,688,452);

luna(500,50,550,100,50);

{for i:=1 to random(5)+1 do

begin

kx:=random(200)+50;

kx2:=kx+random(300);

ky:=random(101)+50;

dom(kx,ky,kx2,220,(220-ky)div 10,(kx2-kx)div 10);

end; }

dom(180,120,235,220,8,3);

dom(250,100,305,220,10,5);

dom(100,100,190,220,10,6);

dom(350,50,490,220,15,12);

end;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

end;

end.

Глава 3. Визуальное программирование.

3.1Калькулятор - Delphi

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Button2: TButton;

Button1: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Button6: TButton;

Button7: TButton;

Button8: TButton;

Button9: TButton;

Button10: TButton;

Button11: TButton;

Button12: TButton;

Button13: TButton;

Button14: TButton;

Button15: TButton;

Edit1: TEdit;

Button16: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure Button8Click(Sender: TObject);

procedure Button9Click(Sender: TObject);

procedure Button10Click(Sender: TObject);

procedure Button16Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

kod : char;

x, y, z : real;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'0';

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'1';

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'2';

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'3';

end;

procedure TForm1.Button5Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'4';

end;

procedure TForm1.Button6Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'5';

end;

procedure TForm1.Button7Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'6';

end;

procedure TForm1.Button8Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'7';

end;

procedure TForm1.Button9Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'8';

end;

procedure TForm1.Button10Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'9';

end;

procedure TForm1.Button16Click(Sender: TObject);

begin

edit1.Clear

end;

End.

unit s_calc_;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Edit1: TEdit;

Button0: TButton;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Button6: TButton;

Button7: TButton;

Button8: TButton;

Button9: TButton;

ButtonPlus: TButton;

ButtonMinus: TButton;

ButtonEnter: TButton;

ButtonC: TButton;

ButtonZ: TButton;

procedure FormCreate(Sender: TObject);

procedure DigitBtnClick(Sender: TObject);

procedure OpBtnClick(Sender: TObject);

procedure ButtonCClick(Sender: TObject);

procedure Edit1Change(Sender: TObject; var Key:Char);

procedure ButtonZClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

var

accum: real;

oper: integer;

f: integer;

procedure TForm1.DigitBtnClick(Sender: TObject);

var

Btn: TButton;

ch: Char;

begin

Btn := Sender as TButton;

ch := Chr(48+Btn.Tag);

case Btn.Tag of

1..9:

if f = 0

then begin

Edit1.Text := ch;

f := 1;

end

else Edit1.Text := Edit1.Text + ch;

0:

if Edit1.Text <> '0'

then Edit1.Text := Edit1.Text + '0';

end;

end;

procedure TForm1.ButtonZClick(Sender: TObject);

begin

if Edit1.Text = '0' then

begin

Edit1.Text := '0,';

f := 1;

end;

if Pos(',',Edit1.Text) = 0 then

Edit1.Text := Edit1.Text + ',';

end;

procedure DoOper;

var

numb: real;

begin

numb := StrToFloat(Form1.Edit1.Text);

case oper of

0: accum := numb;

1: accum := accum + numb;

2: accum := accum - numb;

end;

Form1.Edit1.Text := FloatToStr(accum);

end;

procedure TForm1.OpBtnClick(Sender: TObject);

var

Btn: TButton;

begin

Btn := Sender as TButton;

if f = 0

then

oper := Btn.Tag

else begin

DoOper;

oper := Btn.Tag;

f:=0;

end;

end;

procedure TForm1.ButtonCClick(Sender: TObject);

begin

Edit1.Text := '0';

accum := 0;

oper := 0;

f := 0;

end;

procedure TForm1.Edit1Change(Sender: TObject; var Key:Char);

begin

Key := Chr(0);

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

oper := 0;

end;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]