
- •Зертханалық жұмыс №1
- •Зертханалық жұмыс №2
- •2. Delphi негізгі терезесі
- •4. Объектілер инспекторы терезесі
- •Зертханалық жұмыс №3
- •Өзіндік жұмыс тапсырмалары
- •Зертханалық жұмыс №4
- •Зертханалық жұмыс №5
- •Зертханалық жұмыс №6
- •Зертханалық жұмыс №8
- •Зертханалық жұмыс №9
- •Зертханалық жұмыс №10
- •Зертханалық жұмыс №11
- •Зертханалық жұмыс №12.
- •Зертханалық жұмыс №13.
- •Зертханалық жұмыс №14
- •Зертханалық жұмыс №15
- •Зертханалық жұмыс № 16
- •Зертханалық жұмыс №17
- •3.Қорғалған блок механизмі.
- •Зертханалық жұмыс №18
- •Зертханалық жұмыс №19
- •Зертханалық жұмыс № 20
- •Зертханалық жұмыс №21
- •Зертханалық жұмыс №22
- •Зертханалық жұмыс №23
- •Зертханалық жұмыс №24
- •Зертханалық жұмыс №25
- •Зертханалық жұмыс №26
- •Зертханалық жұмыс №27
- •Зертханалық жұмыс №28
- •Зертханалық жұмыс № 29
Зертханалық жұмыс №28
Тақырыбы: Image, ImageList компонеттері.
Мақсаты:Графикалық ақпараттарды өңдеу әдістерін Delphi ортасында бағдарламалау дағдыларын қалыптастыру
Қажетті құралдар: 1. ДК /Pentium 3,4 Windows /
2. Borland Delphi 7.0
Тапсырмалар
Салынған допты жылжыту бағдарламасы.
Жұмысты орындалу реті
Borland Delphi 7.0 бағдарламалау тілін іске қосыңыз
Жаңа жоба ашыңыз.
Формаға қажетті Button1компонентін орналастырыңыз.
Бағдарлама кодын келтірейік.
Procedure TForm1.ButtonClick(Sender:TObject);
Label 10;
Bc=clred;
Bx:=Form1.ClientWidth div 2;
By:=Form1.ClientHeight – br;
10;
If bx>Form1.ClientWidth – br then exit;
With Canvas do begin
Pen.Color:=Form1.Color;
Brush.Color:=Form1.Color;
Ellipse (bx-br, by-br, bx+br, by+br);
End;
Bx:=bx+1
With Canvas do begin
Pen.Color:=bc;
Brush.Color:=bc;
Elilipse (bx-br, by-br, bx+br, by+br);
End;
Goto 10;
End;
End.
Ескерту. Есепті If шартты опреаторы қолданылған және сурет салуға қажетті Canves объектісінің қасиеттері пайданылған. Есепті орындауға жібергеннен кейін Button пернесін шертсек, салынған доп тұрған орнынан қажетті бағытқа жылжиді.
Бағдарлама кодының дұрыстығына көз жеткізіп, F9 тетігін басу арқылы бағдарламаны іске қосыңыз.
Құрылған бағдарламаны сақтап, оқытушыға істелген жұмыс бойынша есеп беріңіз
ЖАТТЫҒУЛАР
Экранға бетіне іші боялған шар салыңдар.
Ellipse әдісін пайдаланып аққала суретін салыңдар.
Іші боялған күннің суретін салыңдар.
Формаға орнатылған Image1 компоненті терезесіне теңіз және арал кескінін салып,
keme.bmp файылы түрінде сақталған кемені солдан оңға қарай жылжыту бағдарламасын құрыңыз.
Бақылау сұрақтары
Қалам сызатын сызықтың түрін қай обьектінің қасиеттері анықтайды?
Қалам сызатын сызықтың түсін қай қасиет береді?
Суретті толық бояу үшін қай тұрақты пайдыланылады?
Polyline әдісімен қандай фигура салуға болады?
Ішкі аймақтады толтыруға қай қасиет қолданылады?
Есеп беруге нұсқау
Есеп беру келесілерді қамтуы керек:
Жұмыстың тақырыбы мен мақсаты;
Тапсырмалар мен жаттығулардың орындалуы;
Дайындалған бағдарлама;
Жұмыс бойынша қысқаша қорытынды
Әдебиеттер
А. Я. Архангельский. Delphi 7.
М.М. Ерекешова, Т.А.Әмірғалиева Delphi ортасында программалау негіздері
Ю.А.Шпак Delphi 7 на примерах
Зертханалық жұмыс № 29
Тақырыбы: Delphi–дің мультимедиялық мүмкіндігі.
Мақсаты: Delphi–дің мультимедиялық мүмкіндігін үйрету
Теориялық мәліметтер
Компьютер жадысында сақталған суреттерді таңдайтын бағдарламаны жасаймыз.
№ |
Компонент |
Қасиеті |
Мәні |
1 |
Form1 |
Caption |
Просмотр иллюстраций |
2 |
Label1 |
Caption |
Каталог |
3 |
Edit1 |
Text |
c:\windows\ |
4 |
GroupBox1 |
Caption |
Формат |
5 |
RadioButton1 |
Caption Checked |
bmp True |
6 |
RadioButton2 |
Caption |
Jpg |
7 |
Image1 |
Name Picture Stretch |
(Пусто)нету True |
8 |
Button1 |
Caption |
Дальше |
Программа коды:
unit shpic_;
interface
procedure Button1Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure FirstPicture;
procedure NextPicture;
procedure ScaleImage;
var
Form1: TForm1;
iw,ih: integer;
uses
jpeg;
var
aSearchRec : TSearchRec;
aPath: String[128];
aFile: String[128];
aMask: String[5];
n: integer = 0;
procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.AutoSize := False;
Image1.Stretch := True;
iw := Image1.Width;
ih := image1.Height;
Button1.Enabled := False;
FirstPicture; end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
if DirectoryExists(Edit1.Text)
then FirstPicture
else ShowMessage('Каталог '+
Edit1.Text +' указан неверно.');
end;
procedure TForm1.FirstPicture;
var
r : integer;
begin
aPath := Edit1.Text;
if aPath[Length(aPath)] <> '\'
then aPath := aPath + '\';
if RadioButton1.Checked
then aMask := '*.bmp'
else aMask := '*.jpg';
r := FindFirst(aPath + aMask, faAnyFile, aSearchRec);
if r = 0 then
begin
aFile := aPath + aSearchRec.Name;
Image1.Picture.LoadFromFile(aFile);
ScaleImage;
r := FindNext(aSearchRec);
if r = 0 then
Button1.Enabled := True;
end;
end;
Procedure TForm1.NextPicture();
var
r : integer;
begin
aFile := aPath + aSearchRec.Name;
Image1.Picture.LoadFromFile(aFile);
ScaleImage;
r := FindNext(aSearchRec);
if r <> 0
then
Button1.Enabled := False;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
NextPicture;
end;
Procedure Tform1.ScaleImage;
var
pw, ph : integer;
scaleX, scaleY : real;
scale : real;
begin
pw := Image1.Picture.Width;
ph := Image1.Picture.Height;
if pw > iw
then scaleX := iw/pw
else scaleX := 1;
if ph > ih
then scaleY := ih/ph
else scaleY := 1;
if scaleX < scaleY
then scale := scaleX
else scale := scaleY;
Image1.Height := Round(Image1.Picture.Height*scale);
Image1.Width := Round(Image1.Picture.Width*scale);
end;
procedure TForm1.RadioButton1Click(Sender: TObject);
begin
FirstPicture;
end;
procedure TForm1.RadioButton2Click(Sender: TObject);
begin
FirstPicture;
end; end.
Есеп – 2 «Айдың жерді айнылуы»
№ |
Компонент |
Қасиеті |
Мәні |
1 |
Timer1 |
Interval |
55 |
2 |
Label1 |
Caption |
Вращение Луны вокруг Земли |
3 |
Shape1 |
Brush.Color Shape Left Top Height Widht |
clBlue stCircle 240 104 121 121 |
4 |
Shape2 |
Brush.Color Shape Left Top Height Widht |
clYellow stCircle 400 152 41 41 |
Фрагмент кода программы:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
x:=x+0.1 ;
shape2.Left:=256+trunc(150*cos(x));
shape2.Top:=150-trunc(150*sin(x));
end;
Тапсырмалар
1 Формада ек бірдей сурет орналасқан және «Өлшемін қысқарту» нүктесі. Нүктеге басқан сайын бірінші сурет жәй кішіріледі, ал екінші кішіріле отыра қиылады және осыларды қалпына келтіретін екінші батырманы қосыңыз.
2 Формада горизатальды сызықтармен сызылған жасыл түсті дөңгелек орналасқан.Уақыт белгісі бойынша ол төртбұрышқа айналып, қызыл түске ие болады..
3 Формада тікбұрыш және көлбеу сызық орналасқан. Батырманы басқан кезде сызық тікбұрыш жаққа қарай қозғалады. Сызық тікбұрышқа тиген жағдайда жоғалып, тіктөртбұрыш эллипсқа айналады.
4 Формаға кемпірқосақ үлгісінде 7 дөңгелек орналастырып, әр қайсысына өз түсін(қасиетінің мәні BrushСо1ог) және толтыру стилін(қасиетінің мәні BrushStyle). анықтаймыз. Форманы немесе орналасқан батырма арқылы басқан сайын дөңгелектер әр түрлі түске енетіндей қыламыз.
5 Графикалық редакторда алманың бұтағын жасаңдар. Бұтақта алманы Shape элементі арқылы толтырыңдар. Алмаға басқан сайын оның өлшемі ұлғаятындай қылыңдар.
6 Ұшып келе жатқан объекті жасаңдар және оны форма бойынша қозғалатын етіңдер, ал екі басқанда орнына қайтатын болсын ( Left қасиетін қолдаңындар).
Бақылау сұрақтары:
1 Анимация және дыбыс үшін қандай компоненттер пайдаланылады?
2 SpinEdit компонент не үшін пайдаланылады?
3 Сурет, радиобатырмалар қою үшін қандай компоненттер пайдаланылады?