Циклдық құрылым. TTimer, Tshape компоненттерін пайдаланып программа құру
Тапсырма. Айдың жерді айналуын көрсету, қосымша құру.
Шешімі
1. System бетінен Form1 формаға Timer компонентін Timer1 деген атпен қоямыз. 55-миллисекунд ішінде OnTimer оқиғасы, бұны Shape2 компонентін формада ауыстыру үшін қолданылады. 55- саны минимальді мән, оны Interval қасиетінде әртүрлі мәнді құруға болады.
2.Additional бетінен Form1 формаға Shape компонентті Shape1 атымен қоямыз. Оның қасиетіне төмендегі мәндерді қоямыз:
Shape- stCircle, Height -121, Width – 121,
Left – 240,
Top – 104.
3.Form1 формаға Shape компонентін Shape2 атпен қоямыз. Оның қасиетін төмендегі мәндерді қондырамыз:
Shape – stCircle, Height -41, Width – 41,
Left – 400,
Top – 152.
4. Form1 формасының төменгі жағында Label компоненті Label1 атымен орналасуы керек. Оның Caption қасиетіне- ‘ВращениеЛунывокругЗемли’ мәнді жазамыз. Font қасиетіне кіріп, мынаны қондырамыз:
Шрифт- CourierNew,
Начертание – полужирный, Размер – 16, Набор символов – кириллица.
Transparentқасиетін тең етіп True қоямыз.
5.Timer1компонентін екі рет басып Активизируем белсенділігін оятамыз. Модуль текстін жөндеулер жүргіземіз, оны var бөлімінен бастаймыз.
unit Project2; interface uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm) Timer1: TTimer; Shape1: TShape; Shape2: TShape; Label1: TLabel;
procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
Form1: TForm1; x:real; implementation {$R *.DFM}
procedure TForm1.Timer1Timer(Sender: TObject); begin
x:= x+0.1;
Shape2.Left:=265+trunc(150*cos(x));
Shape2.Top:=150-trunc(150*sin(x)) end;
procedure TForm1.FormCreate(Sender: TObject); begin
end; initialization x:=0
end.
6. Басты менюден File/ Save All командасынорындап, және жобаны Project2 атымен сақтаймыз, ал модульді Unit2 атымен папкада сақтаймыз. Жобаны F9 клавишасын басу арқылы орындауға жібереміз.
Лабораториялық жұмыс №7
RadioGroup, CheckListBox компоненттерін пайдаланып программа құру Тапсырма
Edit жолындағы жазылғанды іске қосу, жаңа қосымша құру.
Шешімі
1. Басты менюдегі File/New/Application командасы арқылы жаңа қосымша ашамыз.
2. Form1 формаға CheckListBox1 компонентін, Палитры Компонентов компонентіндегі Additional бетінен, ал қалғандарын Standard бетінен таңдап аламыз. Формада мына компоненттердің ораласуы RadioGroup, CheckListBox, Label және Edit.
3. Caption қасиетінің RadioGroup1, RadioGroup2 және RadioGroup3
компонентіне ‘Начертание’, ‘Размер’ және ‘Цвет’ мәндерін қоямыз.
4. Items қасиетіне жоғарыда көрсетілген компоненттері үш нүктелі кнопкасын басамыз. Пайда болған StringListeditorтерезеге қосылған аттарды жазамыз.
RadioGroup1 компонентіне төмендегі жолдарды кіргіземіз: Обычный Курсив Полужирный
Полужирный курсив
RadioGroup2 компонентіне:
RadioGroup3 компонентіне: Черный Зеленый Красный Синий |
Еңгізіп болғаннан кейін ОК кнопкасын басамыз.
5. Барлық қарастырылып отырған үш компонентімізге ItemIndexқасиетін тең етіп 0 қоямыз. Это означает, что в начале работы программы
выделенным | переключателем | будет | первый. |
6. Label1 және Label2 меткаларынаCaptionқасиетін | ‘Атрибуты’ және ‘Образец’ | ||
қондырамыз. |
6. CheckListBox1 компонентіне Itemsқасиетін таңдап және қосылу аттарын еңгіземіз. Олар:
Зачеркнутый
Подчеркнутый
7. Edit1 компонентінеTextқасиетін тең етіп қоямыз: ‘АаВвБбФф’.
8. RadioGroup1 компонентін екі рет басамыз. Пайда болған Редактора Кодына OnClick оқиғасына өңдеу операторына еңгіземіз:
case RadioGroup1.ItemIndex of
0: Edit1.Font.Style:=[];
1: Edit1.Font.Style:=[fsItalic];
2: Edit1.Font.Style:=[fsBold];
3: Edit1.Font.Style:=[fsItalic,fsBold];
end;
CheckListBox1ClickCheck(Self);
9. RadioGroup2 компонентіне келесі опреаторды еңгіземіз OnClick: case RadioGroup2.ItemIndex of
0: Edit1.Font.Size:=8;
1: Edit1.Font.Size:=10;
2: Edit1.Font.Size:=12;
3: Edit1.Font.Size:=14; end
10. RadioGroup3 компонентіне OnClick оқиғасының опреаторын
еңгіземіз:
case RadioGroup3.ItemIndex of
0: Edit1.Font.Color:=clBlack;
1: Edit1.Font.Color:=clGreen;
2: Edit1.Font.Color:=clRed;
3: Edit1.Font.Color:=clBlue; end
11. CheckListBox1 компонентіне OnClickCheck, оқиғасын жазамыз:
if CheckListBox1.Checked[0]
then Edit1.Font.Style:=Edit1.Font.Style+[fsStrikeOut] else Edit1.Font.Style:=Edit1.Font.Style-[fsStrikeOut]; if CheckListBox1.Checked[1]
then Edit1.Font.Style:=Edit1.Font.Style+[fsUnderline] else Edit1.Font.Style:=Edit1.Font.Style-[fsUnderline];
12. Басты менюдегі File/Save All командасын орындаймыз. Run/Run командасы арқылы қосымшаны орындауға жібереміз.
Модульдің қалыптасуының толық текстін көрсетеміз.
unit RadioGroup; interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, CheckLst;
type
TForm1 = class(TForm) RadioGroup1: TRadioGroup; RadioGroup2: TRadioGroup; RadioGroup3: TRadioGroup; CheckListBox1: TCheckListBox; Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
procedure RadioGroup1Click(Sender: TObject); procedure RadioGroup2Click(Sender: TObject); procedure RadioGroup3Click(Sender: TObject); procedure CheckListBox1ClickCheck(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.RadioGroup1Click(Sender:TObject); begin
case RadioGroup1.ItemIndex of
0: Edit1.Font.Style:=[];
1: Edit1.Font.Style:=[fsItalic];
2: Edit1.Font.Style:=[fsBold];
3: Edit1.Font.Style:=[fsItalic,fsBold];
end;
CheckListBox1ClickCheck(Self);
end;
procedure TForm1.RadioGroup2Click(Sender:TObject); begin
case RadioGroup2.ItemIndex of
0: Edit1.Font.Size:=8;
1: Edit1.Font.Size:=10;
2: Edit1.Font.Size:=12;
3: Edit1.Font.Size:=14; end
end;
procedure TForm1.RadioGroup3Click(Sender:TObject); begin
case RadioGroup3.ItemIndex of
0: Edit1.Font.Color:=clBlack;
1: Edit1.Font.Color:=clGreen;
2: Edit1.Font.Color:=clRed;
3: Edit1.Font.Color:=clBlue; end
end;
procedure TForm1.CheckListBox1ClickCheck(Sender:TObject); begin
if CheckListBox1.Checked[0]
then Edit1.Font.Style:=Edit1.Font.Style+[fsStrikeOut] else Edit1.Font.Style:=Edit1.Font.Style-[fsStrikeOut]; if CheckListBox1.Checked[1]
then Edit1.Font.Style:=Edit1.Font.Style+[fsUnderline] else Edit1.Font.Style:=Edit1.Font.Style-[fsUnderline]; end;
end.