І. Терезе тақырыбы және фондық түсі бар қарапайым Windows-қосымшасын жасау



бет3/4
Дата12.03.2018
өлшемі346,6 Kb.
#39343
1   2   3   4


Бақылау тапсырмалары


  1. Панельдердің қасиеттерін форма ашылғанда көрінбейтін етіп өзгертіңіз. Ал жазулар жанған кезде олар көрінуі керек.

ПРАКТИКАЛЫҚ ЖҰМЫС №2
"Формада объект басқаруды құру және бұл объектілердің қасиет мәндерін орнату.
1. Жаңа проект құрыңыз.

2. Формаға суретте көрсетілген компоненттерді орналастырыңыз.



3. Программа кодын және проектіні Unit2.pas и Pr2.dpr деген тапен сақтаңыз.

4. Келесі әрекеттерді орында:

Объект

Object Inspector терезесінің бөлімі

Қасиет/ Оқиға

Мәні/Әрекет

Form1

Properties

Caption

Диалог

BitBtn1

Properties

Caption

&Выход

Kind

bkClose

Label1

Properties

Caption

Введи свое имя и нажми Enter

Edit1

Events

OnKeyPress

If key=#13 then

begin


Label2.Caption:=Edit1.Text+’,ты любишь читать?’;

End;


Button1

Properties

Caption

Да

Events

OnClick

Label3.Caption:=’Молодец!’;

Button2

Properties

Caption

Нет

Events

OnClick

Label3.Caption:=’Почему же? Надо читать.’;

Label2

Properties

Caption

Объект атауын өшіріңіз

Label3

Properties

Caption

Объект атауын өшіріңіз

5. Проектіні сақтап, орындаңыз (F9).

Өздік жұмыс



Тапсырма

Көмек

1

Да және Нет батырмаларын адам атын енгізгеннен кейін белсенді болатындай етіп өзгертіңіз.

Да және Нет батырмаларының Enabled қасиеті үшін False мәнің орнатыңыз.

Edit1KeyPress процедурасын келесі жолдармен толықтырыңыз:

Button1.Enabled:=true;

Button2.Enabled:=true;


2

Сұхбатты қайалау үшін Edit1, Label2, Label3 атауларын өшірілетін болсын.

Формаға BitBtn компонентін орналастырып, оның қасиеттерін өзгертіңіз: Kind-bkRetry, Caption-&Повторить.

Басу оқиғасына келесі кодты жазыңыз:

Label2.Caption:=’ ’;

Label3.Caption:=’ ’;

Edit1.Text:=’ ’;


3

Сұхбатты қайталау кезінде енгізу жолы белсенді болсын.

BitBtn2Click оқиғасына келесі кодты епгізіңіз:

Form1.ActiveControl:=Edit1;


2 программа листингі

var

Form1: TForm1;



implementation

{$R *.DFM}


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

begin


If key=#13 then begin

Label2.Caption:=Edit1.Text+', ты любишь читать?';

Button1.Enabled:=true;

Button2.Enabled:=true;

end;

end;
procedure TForm1.Button1Click(Sender: TObject);



begin

Label3.Caption:='Молодец !';

end;
procedure TForm1.Button2Click(Sender: TObject);

begin


Label3.Caption:='Почему же? Надо читать.';

end;
procedure TForm1.BitBtn2Click(Sender: TObject);

begin

Edit1.Text:='';



Label2.Caption:='';

Label3.Caption:='';

Button1.Enabled:=false;

Button2.Enabled:=false;

Form1.ActiveControl:=Edit1;

end;


end.

ПРАКТИКАЛЫҚ ЖҰМЫС №3

Сіздің салмағыңыз жобасы
Мақсаты:

Айнымалылар типін қолдану – бүтін және нақты (integer және real);

Жолдық деректерді сандарға және сандарды жолдық қатарларға ауыстыру үшін StrToInt; StrToFloat, IntToStr FloatToStr ; Format() функцияларын қолдану;

Хабарламаны жеке терезеде шығару үшін ShowMessage процедурасын пайдалану.


Тапсырма

Адамның оптимальді салмағы есептеу үшін адам бойынан 100 алып тастау керек. Егер адамның нақты салмағы оптимальді салмақтан үлкен болса онда адам толық, егер кем болса арық болып саналады.



1. Жаңа проект құрыңыз

2. Формаға суретте көрсетілген компоненттерді орналастырыңыз.

Edit1 – салмақ, Edit2-ге – бойының ұзындығы (см) енгізіледі .

3. Программа кодын және проектіні Unit2.pas и Pr3.dpr деген тапен сақтаңыз.

4. Программа коды терезесінің VAR бөліміне нақты салмақты (faktW), оптимальді салмақты (optW), бойының мәнін (Rost) және оптимальді салмақ пен нақты салмақ айырмасын (Delta) сақтайтын айнымалыларды енгізіңіз. VAR factW, optW, Rost, Delta : integer;

5. Button1 батырмасын шерту процедурасына келесі кодты жазыңыз:



Объект

Object Inspector терезесінің бөлімі

Қасиет/Оқиға

Мәні/Әрекет

Button

Events

OnClick

factW := StrToInt(Edit1.text);

Rost := StrToInt(Edit2.Text);

OptW :=Rost - 100;

Delta := abs(factW - OptW);

if OptW = factW then

Label3.caption := 'Ваш вес идеален!'

else

if OptW > factW then



Label3.caption := 'Вам надо поправиться на '+IntToStr(Delta)+' кг.'

else


Label3.caption := 'Вам надо похудеть на '+IntToStr(Delta)+' кг.'

Түсініктеме:

StrToInt функциясы жолды бүтін санға аударады, IntToStr функциясы керісінше – бүтін санды жолға ауыстырады.

6. Программаға кез келген ондық сандар енгізу үшін айнымалылардың типін нақты типке - Real өзгертеміз: VAR factW, optW, Rost, Delta : real;

Жолды нақты типке және нақты сандарды жолға ауыстыру үшін FloatToStr және StrToFloat функциялары қолданылады. Button1 компонентінің OnClick оқиғасына сәйкес өзгертулер енгізіңіз.

7. Проектіні сақтап, орындаңыз.

Өздік жұмыс




Тапсырма

Көмек

1

Нақты сандарды форматтау және ауыстыру үшін FloatToStr() функциясының орнына Format(‘ %f ’,[айнымалы]) функциясын қолданыңыз. Мысалы, Format(‘%f ‘, [Delta])




2

Форматтау және ауыстыру үшін Format функциясын келесі түрде қолданыңыз: Format(‘Строка %f’,[айнымалы]).

Мысалы, Format(‘Вам надо похудеть %f',[Delta]) .






3

Жобаны жақсарыңыз:

Программа тақырыбын жазыңыз;

Шығарылатын хабар мәтінінің қарпін (шрифт) өзгертіңіз (түсін, өлшемін);

Программадан шығу батырмасын қойыңыз;

Программаны қайта орындау жағдайын жасаңыз (Сұхбат жобасын қараңыз).





4

Салмақ және бойының ұзындығы мәні ретінде теріс сан қабылданбайтын етіп өзгертіңіз.

ShowMessage('Ошибочная запись числа: ' + Edit1.Text);

6. Массаны есептеу үшін дене массасының индексі қолданыңыз.

Салмақ – X,

Бойының ұзындығы – Y (метр).

Дене массасының индексі – A, мұндағы A = X / Y2 (кг/м2)

Нәтиже келесі кесте бойынша анықталады:




Индекс мәні

Нәтиже (экранға шығарылатын хабар)

1

A<18

Большой недовес

2

18<=A<20

Маловато и небезопасно, можно получить истощение

3

20<=A<=25

Идеально

4

26

Легкий недобор

5

30

Срочно нужно худеть

3 программа листингі


unit Unit 5 ;

interface

uses

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



Dialogs, StdCtrls, Buttons;

type


TForm1 = class(TForm)

Edit1: TEdit;

Edit2: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Button1: TButton;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

procedure Button1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure Edit2Click(Sender: TObject);

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

procedure Edit2KeyPress(Sender: TObject; var Key: Char);
private

{ Private declarations }

public

{ Public declarations }



end;
var

Form1: TForm1;


implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);

VAR


x,y,k : real;

begin


x:=StrToFloat(Edit1.Text);

y:=StrToFloat(Edit2.Text);

y:= S qr(y/100);

k:=x/y;


if k<18 then Label3.caption := 'Большой недовес'

else


if (k>=18)and (k<20)then Label3.caption := 'Маловато и небезопасно, можно получить истощение'

else


if (k>=20)and(k<=25)then Label3.caption := 'Идеально'

else


if (k>25)and(k<=30) then Label3.caption := 'Легкий перебор'

else


if k>30 then Label3.caption := 'Срочно нужно худеть';

end;


procedure TForm1.BitBtn2Click(Sender: TObject);

begin


Label3.Caption := '';

Edit1.Text := '';

Edit2.Text := '';

Form1.ActiveControl := Edit1;

Button1.Enabled := false;

Label2.Visible := false;

Edit2.Visible := false;
end;
procedure TForm1.Edit2Click(Sender: TObject);

begin


if Edit1.Text = '' then else

Button1.Enabled := true;

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

VAR x:real;

begin

if key=#13 then



begin

try


x:=StrToFloat(Edit1.Text);

except


ShowMessage('Ошибочная запись числа: ' + Edit1.Text);

Edit1.SetFocus;

Exit;

end;


Label2.Visible:=true;

Edit2.Visible:=true;

Form1.ActiveControl := Edit2;

end;


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

VAR y:real;

begin

if key=#13 then



begin

try


y:=StrToFloat(Edit2.Text);

except


ShowMessage('Ошибочная запись числа: ' + Edit2.Text);

Edit2.SetFocus;

Exit;

end;


Button1.Enabled:=true;

end;


end;
end.

ПРАКТИКАЛЫҚ ЖҰМЫС №4
RGB ФОРМАТЫНДАҒЫ ТҮСТЕР жобасы
Мақсаты:

ScrollBar, Panel компоненттерімен таныстыру. Түс құраушыларының мәндердің ауыстыру үшін TColorRef функциясын қолдану.


Программаны құру жоспары:

1. Жаңа проект құрыңыз.

2. Суретте көрсетілген компоненттерді формаға орналастырыңыз.

3. ScrollBar айналдыру жолағы горизонтальді (үнсіз келісім бойынша) және вертикальді бола алады. Оның түрі Kind қасиетімен анықталады. Осы программада вертикальді айналдыру жолағы қолданылады.

4. Программа коды және проектіні сақтаңыз: Unit3.pas и Pr3.dpr.

5. Келесі әрекеттерді орындаңыз:


Объект

Object Inspector терезесінің бөлімі

Қасиеті/ Оқиғасы

Мәні/Әрекеті

ScrollBar1

Properties

Name

Айналдыру жолағының атын RedBar деп өзгертіңіз.

Max

255 – RGB градацияларының саны

Position

122 - бастапқы мәні

Жоғарыдағы әдіспен ScrollBar2 және ScrollBar3 мәндерін орнатып, компоненттердің атын GreenBar және BlueBar деп өзгертіңіз.

6. Формадағы барлық Label компоненттері үшін Caption қасиетінің мәнін ' ' деп өзгертіңіз.

7. Келесі әрекеттерді орындаңыз:

Объект

Object Inspector терезесінің бөлімі

Қасиеті/ Оқиғасы

Мәні/Әрекеті

RedBar

Events

OnChange

Panel1.Color:=TColorRef(RGB(RedBar.Position,0,0));

Label1.Caption:=IntToStr(RedBar.Position);

Panel4.Color:=TColorRef(RGB(RedBar.Position, Greenbar.Position, BlueBar.Position));


Жоғарыдағы әдіспен ScrollBar2 және ScrollBar3 үшін OnChange оқиғасын мәнін жазыңыз, бірақ RGB и IntToStr.

Түсініктеме:

ScrollBar1 жолағы жылжығанда, Panel1 түсі өзгеріп, түстің сандық мәнін Label компоненті көрсетеді. Сонымен қатар Panel4 компонентінің түсі де өзгереді.

8. Проектіні сақтап, орындаңыз.

Өздік жұмыс



Тапсырма

Көмек

1

Программа орындалғанда панельдер бастапқы түстерге боялып тұруы керек.

Форманы құру оқиғасына (Form1 үшін OnCreate оқиғасы) ScrollBar1, ScrollBar2, ScrollBar3 компоненттерінің позициясын өндеу кодын жазыңыз.

4 программа коды


unit Unit6;

interface

uses

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



StdCtrls, ExtCtrls, Buttons;
type

TForm1 = class(TForm)

Panel1: TPanel;

Panel2: TPanel;

Panel3: TPanel;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Panel4: TPanel;

RedBar: TScrollBar;

GreenBar: TScrollBar;

BlueBar: TScrollBar;

BitBtn1: TBitBtn;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;



procedure RedBarChange(Sender: TObject);

procedure GreenBarChange(Sender: TObject);

procedure BlueBarChange(Sender: TObject);

procedure FormCreate(Sender: TObject);

private


{ Private declarations }

public


{ Public declarations }

end;
var

Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.RedBarChange(Sender: TObject);

begin


Panel1.Color:=RGB(RedBar.Position,0,0);

Label1.Caption:=IntToStr(RedBar.Position);

Label4.Caption:=Format('0x%x',[RedBar.Position]);

Panel4.Color:=RGB(RedBar.Position,GreenBar.Position,BlueBar.Position);

end;
procedure TForm1.GreenBarChange(Sender: TObject);

begin


Panel2.Color:=RGB(0,GreenBar.Position,0);

Label2.Caption:=IntToStr(GreenBar.Position);

Label5.Caption:=Format('0x%x',[GreenBar.Position]);

Panel4.Color:=RGB(RedBar.Position,GreenBar.Position,BlueBar.Position);

end;
procedure TForm1.BlueBarChange(Sender: TObject);

begin


Panel3.Color:=RGB(0,0,BlueBar.Position);

Label3.Caption:=IntToStr(BlueBar.Position);

Label6.Caption:=Format('0x%x',[BlueBar.Position]);

Panel4.Color:=RGB(RedBar.Position,GreenBar.Position,BlueBar.Position);

end;
procedure TForm1.FormCreate(Sender: TObject);

begin


Label4.Caption:=Format('0x%x',[RedBar.Position]);

Label5.Caption:=Format('0x%x',[GreenBar.Position]);

Label6.Caption:=Format('0x%x',[BlueBar.Position]);

Panel1.Color:=RGB(RedBar.Position,0,0);

Label1.Caption:=IntToStr(RedBar.Position);

Panel2.Color:=RGB(0,GreenBar.Position,0);

Label2.Caption:=IntToStr(GreenBar.Position);

Panel3.Color:=RGB(0,0,BlueBar.Position);

Label3.Caption:=IntToStr(BlueBar.Position);

Panel4.Color:=RGB(RedBar.Position,GreenBar.Position,BlueBar.Position);



end;
end.

Лабораторлық жұмыс № 5
Компоненттерің негізгі қасиеттері
Мақсаты – компоненттердің қасиеттері мен оқиғаларын басқаруды үйрену.
Қарапайым программаларды құру



І. Әртүрлі жылдамдықпен жұмыс істейтін сағат жасау

  1. Delphi программалау ортасын ашыңыз.

  2. Form1 формасына Label (Standard парағы) және Timer (System парағы) компоненттерін орналастырыңыз.

  3. Объектілердің келесі қасиеттерін орнатыңыз:


  4. Объект

    Свойство

    Значение

    Form1

    Label1


    Label1

    Label1


    Label1

    Name

    Caption


    Color

    Font.Size

    Font.Color


    Clock

    00:00:00 clYellow

    24

    Красный

    TClock.Timer1Timer процедурасы үшін уақыттың жаңару кодын жазыңыз:



Label1.Caption:=TimeToStr(Time);

  1. Формаға GroupBox және RadioButton компоненттерін орналастырып, келесі қасиеттерді көрсетіңіз:

GroupBox1 Caption Скорость

RadioButton1 Caption Медленно

RadioButton2 Caption Умеренно

RadioButton3 Caption Быстро



  1. TForm1.RadioButton3Click процедурасына келесі кодты жазыңыз:

Timer1.Interval := 1000;

  1. Келесі процедуралар үшін де кодтарды жазыңыз:

TForm1.RadioButton1Click (3000) және TForm1.RadioButton2Click (2000)


Достарыңызбен бөлісу:
1   2   3   4




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет