DELPHI-дiң графикалық мүмкiндiктерi және қолданбалары

Кiрiспе

I ТАРАУ. DELPHI программалау ортасы
1.1. Delphi.дi iске қосу. Delphi ортасы. Проект. Форма. Қасиеттер.
1.2. Оқиға. Код терезесi. Әдiс.
1.3. Компоненттер палитрасы.
1.4. Компоненттердi пайдаланып қарапайым проект құру.
1.5. Проектiнi сақтау және ашу.
1.6. Программаны компиляциялау. ЕХЕ файл.

II ТАРАУ. DELPHI.дiң графикалық мүмкiндiктерi және қолданбалары.
2.1. Дайын графикалық файлдарды қолдану
2.1.1. Image компонентi және оның кейбiр қасиеттерi.
2.1.2. Графикалық файлдар форматы. TBitMap, TIcon және
TMetafile кластары
2.1.3. OpenPictureDialog және SavePictureDialog компоненттерi.
2.1.4. Графикалық файлдарды көрiп шығу үшiн қарапайым қосымша құру

2.2. Image Editor редакторы
2.2.1. Image Editor редакторында сурет салу
2.2.2. Командалық түймеге пиктограмма құру
2.2.3. Ресурстық файлдар құру және пайдалану
2.2.4. Курсор көрсеткiшiн өзгерту

2.3. Канва . сурет салу кенебi
2.3.1. Канва қасиеттерi мен әдiстерi
2.3.2. Функция графигi.
2.3.3. Chart компонентi. Диаграмма тұрғызу.
2.3.4. Shape компонентi.

2.4. Анимация
2.4.1. Animate, ProgressBar компоненттерi
2.4.2. Графикалық объектiлердi қозғалту. Ttimer компонентi.
2.4.3. Биттiк кескiндердi қозғалту
2.4.4. Сурет бөлiгiн көшiру, жылжыту тәсiлдерi
2.4.5. Базалық нүкте әдiсi

2.5. Қарапайым графикалық редактор

Қорытыныды

Пайдаланылған әдебиеттер
КIРIСПЕ
Жоғарғы деңгейлi программалау тiлдерi жарыққа шыға бастағаннан берi көптеген программалау тiлдерi пайда болды. Қазiргi кезде олар процедуралық, логикалық және объектiлi – бағдарлы болып үш түрге бөлiнедi. Мысалы, дәстүрлi (“классикалық”) процедуралық программалау тiлдерi – Фортран, Бейсик, Паскаль, логикалық тiлдер – ЛИСП, Пролог. Есептеуiш техниканың қарқынды дамуы және программалық жабдықтауды тиiмдi дайындауға қажеттiлiк нәтижесiнде соңғы кездерде Windows ортасында жарыққа шыққан және объектiлi- бағдарлы программалау (ОБП) негiзiнде құрылған программалау тiлдерi – Borland C++ for Windows, Object Pascal және визуальды Microosoft Visual Basic, Borland Delphi.
Процедуралық программалау тiлдерiнде программаның жұмысы операторларды ретiмен орындау бойынша, ал, логикалық программалау тiлдерiнде ол қатаң логикалық ережелерге сәйкес өзгертулер енгiзу ретiнде қарастырылған болатын. Объектiге бағдарлы оқиғалық программалау тiлiнде программаның жұмысы негiзiнен оқиғалар тiзбегiнен және түрлi объектiлердiң осы оқиғаларға жауабынан тұрады. Олардың визуальды түрлерi - Visual Basic тiлi QBasic программалау тiлi негiзiнде, Delphi тiлi Object Pascal тiлi негiзiнде құрылған. Олар, әсiресе, Delphi программалау тiлi – кез келген қосымшаны дайындауға болатын жылдамдығы тез, қуатты тiл.
Delphi-дiң бiрiншi нұсқасы 1994 жылы жарыққа шығып, кейiнгi жылдары оның бiрте-бiрте кеңейтiлген 2, 3, 4, 5, 6 нұсқалары жарық көрдi. Мысалы, 5-нұсқа 1999 жылы, 6-нұсқа 2001 жылдың мамыр айында жарыққа шықты.
Дәстүрлi Паскаль оқып үйренуге жеңiл және MS DOS жүйесiнде программа дайындауға ең жақсы құрылымдық программалау тiлi екенi белгiлi. Delphi-де Паскаль тiлiнде орындау мүмкiн және мүмкiн емес күрделi процестердi программалауға болады. Delphi-дiң негiзгi ерекшелiгi – онда қосымша құруда компоненттiк және объектiлiк тәсiлдер пайдаланылады (Windows ортасында пайдаланатындықтан, Delphi-де программаны көбiнесе қосымша деп атайды). БҮл программалау технологиясына нағыз революция жасады деуге болады. Компоненттiк тәсiлдiң мәнiсi жеңiл: әр қосымша кiтапханасы программалау ортасында дайындалып, арнайы iс-әрекеттердi орындайтын компоненттер элементтерiнен жинақталады. Олар жеткiлiксiз болса, объектiнi өңдеуге арналған үстеме программа құрылады. Delphi-де қолданылатын негiзгi кiтапхананы визуальды компоненттер кiтапханасы (VCL, Visual Component Library) деп атайды. Компоненттер панелiнде топ – тобымен жинақталған, жүздеген кластарға тиiстi, стандартты компоненттер бар. Пайдаланушы жаңа компонент дайындап, оны осы панельге қосуына да болады.
Delphi Windows жүйесiнде программалаудың ыңғайлы қҮралы. Онда көптеген операторларды пайдаланып программа дайындау, программа мәзiрiн қҮру, анимация, мультимедиа процестерiн Үйымдастыру, OLE технологиясын пайдаланып, басқа офистiк қосымшаларды шақыру, олармен жҮмыс iстеу және т.б. iс-әрекеттердi орындау да мүмкiн. Көптеген операторлардың жазылуы Турбо Паскальдағы сияқты.
Delphi екi түрде дайындалған: бiрiншiсi – күрделi қосымшаны бiрлесiп дайындаушылар үшiн (Delphi Client – Server), екiншiсi – қалған программалаушылар үшiн (Delphi for Windows). Соңғысы ыңғайланып, қысқартылып алынған түрi. Ол тек маман программаушылар емес, барлық Delphi - мен жҮмыс iстеушiлерге арналған. әдетте пайдаланылатыны – екiншi түр.
Delphi-дi Паскаль программалау тiлiмен жҮмыс iстеген адамдардың меңгеруi көп қиындық келтiрмейдi. Бiрақ, мҮнда программалауды үйрену үшiн объект, оқиға, қасиет түсiнiктемелерiмен еркiн танысып, онда компоненттердi пайдалану және әдiстер деп аталатын түрлi командалардың жазылу түрлерiн бiлу қажет. Жалпы, Delphi-де пайдалылатын процедуралар (әдiстер) мен түрлi кластарға, компоненттерге енгiзулi мәндер меншiктелетiн қасиеттер көп. Нақты есептердi шешу программаларын құруды үйрену арқылы ғана Delphi-де программалауды үйренуге болады. Ол үшiн кiтапқа енгiзiлген программаларды iс жүзiнде орындап, оларға түрлi өзгерiстер енгiзiп, жаттығу да мүмкiн. Жетiстiк тек тәжiрибеге байланысты.
Delphi-дiң мүмкiндiктерiн бiр кiтапқа сыйғызу мүмкiн емес. МҮнда студенттер мен өз бетiнше оқып үйренушiлер үшiн қажеттi негiзгi материалдар қарастырылған, Delphi-дi терең оқып-үйренiп, күрделi қосымшаларды дайындауға машықтанушылар үшiн кiтап соңына әдебиеттер тiзiмi енгiзiлген.
Пайдаланылған әдебиеттер.
1. Владимир Гофман, Анатолий Работа сбазами данных в Dеlрһі.
Санкт- Петербург, «ХВ-Петербург», 2002г.
2. Бойко В.В., Савинков В.М
Проектирование баз данных. Москва. 1998г.
3. Бобровский С.
Dеlрһі -5. Учебник курс. Москва, 2000г.
4. Культин Н. Самоуч.ОЫрЫ. Санкт-Перербург. 1999г.
5. Епамешиков Л.М. Программирование в среде Ое1рМ.
6. Шумаков П.В.
Dеlрһі и еотдяннс базы данных. Москва, 1997г.
7. Фиронон \\М.
Dеlрһі 4.0. Начинающий курс. 1999г.
8. Гринберг Ф., Гринберг Р.
Самоучитель программирования на входным языке СУБД Dbase. Москва, "Мир", 1989г.
9. Дарахвелидзе П., Марков Е.
Dеlрһі — среда визального программирования — СПБ. ВНУ — Санкт-Петербург, 1996г.
10. Рубенкинг Н.
Программирования Dеlрһі для "чайников". Киев, "Диалектика", 1996г.
11. Потоцкий В.К.
Объектно —ориентированное программирование. Ленинград, 1991г. 12,О.Камардинов, Х.Жантел! Dеlрһі 5-6. Шымкент, 2002 ж.
        
        Кiрiспе
I ТАРАУ. DELPHI программалау ортасы
1. Delphi-дi iске қосу. Delphi ортасы. Проект. Форма. Қасиеттер.
2. Оқиға. Код терезесi. Әдiс.
3. Компоненттер ... ... ... қарапайым проект құру.
5. Проектiнi сақтау және ашу.
6. Программаны компиляциялау. ЕХЕ файл.
II ТАРАУ. DELPHI-дiң графикалық мүмкiндiктерi және қолданбалары.
2.1. Дайын графикалық файлдарды ... Image ... және оның ... ... ... ... ... TBitMap, TIcon және
TMetafile кластары
2.1.3. OpenPictureDialog және SavePictureDialog компоненттерi.
2.1.4. Графикалық файлдарды көрiп шығу үшiн ... ... ... Image Editor ... Image Editor ... ... салу
2.2.2. Командалық түймеге пиктограмма құру
2.2.3. Ресурстық файлдар құру және пайдалану
2.2.4. Курсор көрсеткiшiн өзгерту
2.3. Канва – сурет салу ... ... ... мен ... ... ... Chart компонентi. Диаграмма тұрғызу.
2.3.4. Shape компонентi.
2.4. Анимация
2.4.1. Animate, ... ... ... ... қозғалту. Ttimer компонентi.
2.4.3. Биттiк кескiндердi қозғалту
2.4.4. Сурет бөлiгiн көшiру, жылжыту ... ... ... ... ... ... ... әдебиеттер
КIРIСПЕ
Жоғарғы деңгейлi программалау тiлдерi жарыққа шыға ... ... ... ... ... болды. Қазiргi кезде олар процедуралық,
логикалық және объектiлi – ... ... үш ... ... ... (“классикалық”) процедуралық программалау тiлдерi – ... ... ... ...... Пролог. Есептеуiш техниканың
қарқынды дамуы және программалық жабдықтауды тиiмдi дайындауға қажеттiлiк
нәтижесiнде соңғы кездерде Windows ... ... ... және ... ... (ОБП) ... құрылған программалау тiлдерi –
Borland C++ for Windows, Object Pascal және ... ... ... Borland ... ... ... программаның жұмысы операторларды
ретiмен орындау бойынша, ал, логикалық ... ... ол ... ... ... ... ... ретiнде қарастырылған
болатын. Объектiге бағдарлы оқиғалық программалау тiлiнде ... ... ... тiзбегiнен және түрлi объектiлердiң ... ... ... ... ... ... - Visual Basic тiлi
QBasic ... тiлi ... Delphi тiлi Object Pascal ... ... ... ... Delphi программалау тiлi – кез келген
қосымшаны дайындауға болатын жылдамдығы тез, қуатты тiл.
Delphi-дiң бiрiншi нұсқасы 1994 жылы ... ... ... ... ... ... 2, 3, 4, 5, 6 нұсқалары жарық көрдi. Мысалы, 5-
нұсқа 1999 жылы, 6-нұсқа 2001 жылдың мамыр айында жарыққа ... ... оқып ... ... және MS DOS ... программа
дайындауға ең жақсы құрылымдық программалау тiлi екенi ... ... ... ... ... және ... емес ... процестердi
программалауға болады. Delphi-дiң негiзгi ерекшелiгi – онда қосымша ... және ... ... ... (Windows ... ... ... көбiнесе қосымша деп атайды). БҮл
программалау технологиясына нағыз революция ... ... ... тәсiлдiң мәнiсi жеңiл: әр қосымша кiтапханасы программалау
ортасында дайындалып, арнайы ... ... ... ... Олар жеткiлiксiз болса, ... ... ... ... ... ... қолданылатын негiзгi
кiтапхананы визуальды компоненттер ... (VCL, Visual ... деп ... ... панелiнде топ – тобымен жинақталған,
жүздеген кластарға тиiстi, ... ... бар. ... ... ... оны осы ... ... да болады.
Delphi Windows жүйесiнде программалаудың ыңғайлы қҮралы. Онда көптеген
операторларды ... ... ... ... ... ... ... процестерiн Үйымдастыру, OLE технологиясын
пайдаланып, ... ... ... ... ... жҮмыс iстеу және
т.б. iс-әрекеттердi орындау да мүмкiн. Көптеген операторлардың ... ... ... екi ... ... ... – күрделi қосымшаны бiрлесiп
дайындаушылар үшiн (Delphi Client – Server), ...... үшiн (Delphi for ... Соңғысы ыңғайланып,
қысқартылып алынған түрi. Ол тек ... ... ... ... ... мен жҮмыс iстеушiлерге арналған. әдетте пайдаланылатыны – ... ... ... программалау тiлiмен жҮмыс iстеген адамдардың
меңгеруi көп қиындық келтiрмейдi. Бiрақ, мҮнда программалауды үйрену ... ... ... ... ... ... онда ... және әдiстер деп аталатын түрлi командалардың жазылу түрлерiн
бiлу қажет. Жалпы, Delphi-де пайдалылатын процедуралар (әдiстер) мен ... ... ... мәндер меншiктелетiн қасиеттер көп.
Нақты ... шешу ... ... ... арқылы ғана Delphi-де
программалауды үйренуге болады. Ол үшiн кiтапқа ... ... ... орындап, оларға түрлi өзгерiстер енгiзiп, жаттығу да мүмкiн.
Жетiстiк тек тәжiрибеге байланысты.
Delphi-дiң мүмкiндiктерiн бiр ... ... ... емес. МҮнда
студенттер мен өз бетiнше оқып ... үшiн ... ... ... ... ... ... күрделi қосымшаларды
дайындауға машықтанушылар үшiн кiтап соңына әдебиеттер тiзiмi енгiзiлген.
I ТАРАУ. DELPHI ... ... ... iске ... Delphi интерфейсi. Проект.
Форма. Қасиеттер. Қасиеттер терезесi
Windows жүйесiнде Delphi ортасын iске қосу үшiн оны ... ... ... Орта ... ... соң, Delphi-дi iске
қосу командасы:
Iске қосу - Программалар - Borland Delphi 6 ( Delphi ... ... Delphi ... ... (1-сурет).
1.1-сурет. Delphi ортасы
1 - Delphi 5-тiң негiзгi терезесi;
2 - Форма (Form1);
3 - Объект инспекторы терезесi (Object Inspector).
Ортада программа құруға арналған ... ... да iске ... Форма терезесiнiң астында орналасқандықтан, ол экранда
көрiнбейдi.
Delphi интерфейсiнiң құрамына ... ... ... ... ... палитрасы (2-сурет) енгiзiлген. Негiзгi мәзiр
2-сурет. Delphi-дiң негiзгi терезесi
пункттерiне (iшкi мәзiрлерге) Delphi-де жұмыс ... ... ... iшкi ... ... ... ... орындайтын
түймелер орналастырылған.
Delphi-де дайындалатын программа проект деп аталады. ... ... ... ... ... ... ... терезесi.
Delphi алғашқы рет iске қосылған кезде формаға Form1 атауы берiледi ... Оның ... ... ... ... ол екi ... ... айналған кезде форманы кеңейтуге не қысуға болады.
Программа пайдалану үшiн форма бетiне түрлi компоненттер ... ... Delphi ... ... ... және форма бетiне енгiзiлетiн компоненттердiң түрлi
қасиеттерi бар. Олар ... ... ... сипаттап, ағымдық
күйiн анықтайды. Мысалы, форма ... - ... ... мәтiнi,
өлшемi, экранда орналасуы, түсi т.б. Delphi iске ... ... ... ... ... ... ... қойылады.
Форманы, онда орнатылған компоненттi қосымша құру үшiн дайындау оның
кейбiр қасиеттерiнiң мәндерiн ... ... ... ... Объект
инспекторы (Object Inspector) терезесiне енгiзiлген. ... ... ... үшiн ... ... ... не формада орнатылған
форма компонентiн) таңдау керек. Инспектор терезесiнiң жоғарғы қатарына
таңдалған ... ... ... ... Delphi iске ... кезде
форманың алғашқы қасиеттер терезесi ... ... ... екi қосымша бетi бар: Properties (Қасиеттер) және ... ... ... екi бағанға енгiзiлген жазулардан тҮратын оның
Properties бөлiмi ашылулы тұрады (1-сурет). ... ...... ... ... ... – олардың мәндерi енгiзiледi.
Объект қасиетiн программа (программалық код) iшiнде орнатуға болады.
Мысалы, форма тақырыбы ... ... 14 ету үшiн ... := 14 ... операторын енгiзуге болады.
Экранда қасиеттер терезесi көрiнбесе, оны шығару үшiн View-Object
Inspector командасын беру ... Ол ±11 ... ... ... де
көрiнедi.
Ескерту. Жаңа проект iске қосылған кезде ... Delphi ... iске ... ... ... Delphi News ... ... Оқиғалар. Программалық код терезесi. әдiс
Delphi-де программалар оқиғалар ... ... ... ... құру үшiн ... ... компонент орнатып формада
орналастырылған компоненттi тышқан ... ... ... Осы iс-әрекет
(тышқанның шертiлуi) оқиға деп аталады. Яғни, ... - ... ... ... ... жағдайын өзгертетiн белгiлi бiр iс-әрекеттi
шақырады.
Delphi-де әр оқиғаға атау ... ... ... ... Button түймесi арқылы формада орнатылған Button1 компонентiн
шерту Click ... ... ... ... түрлi оқиғалар бар. Мысалы, формаға байланысты
оқиғалар саны – 35 (3-сурет). Олар қасиеттер ... Events ... ... ... ... ... ... On префиксi
(қосымшасы) тiркестiрiлiп жазылған. Ол - ... ... ... ... ... ... ... жиi қолданылатын оқиғалар:
OnClick – тышқан түймесiн бiр рет басу;
OnDblClick – ... ... екi рет ...... ...... ... босату;
OnMouseDown – тышқан түймесiн басу;
OnMouseUp – тышқан түймесiн босату;
OnMouseMove – тышқан көрсеткiшiн жылжыту;
OnCreate – ... екi рет ... ... ... ... екi бөлiмнен тұрады: алғашқыда автоматты
түрде project1 атауы берiлетiн проект файлы (негiзгi модуль) және unit1.pas
атауы берiлетiн модуль. Олар жеке ... ... ... ... ... орындайтын программа мәтiнi (процедуралар)
енгiзiледi (олар 1.4-тақырыпта кең түрде қарастырылған). Программа ... код деп, ... ... код терезесi не қысқаша
редактор терезесi деп те ... Оны ... ... ... ... жабу ... түймесiн шерту);
- код терезесiнiң бiр шетi форма астында көрiнiп тҮрса,
оны ... ... ... ... ашылады да, онда процедура дайындамасы
(үлгiсi) көрiнедi. Оның ... ... ... ... ... және ... ... (4-сурет), т.б.
Формадан код терезесiне өту және код терезесiнен формаға өту үшiн
F12 клавишiн басу ... ... ... тұрғаны – код терезесiне
енгiзiлген процедура дайындамасы. ... ... ... ... ... не оқиғаны өңдеу ... ... ... ... ... (Sender : ... бөлiмi
begin
процедура денесi
end;
мҮндағы Sender параметрi құрылатын процедураның қай класқа тиiстiлiгiн
анықтайды.
Терезенiң сол ... - ... ... Онда код ... ... ... көрiп шығуға болады.
4-сурет. Программалық код терезесi. Онда көрiнген процедура дайындамасы
Кез келген программа program сөзiнен басталатын проект файлы мен ... ... ... ... да, ... құрылатын программа модуль iшiне
енгiзiледi. Проект файлы dpr, ... pas ... ... ... файлын негiзгi модуль деп ... ... ... ... ... сипаттамасынан тҮрады. Delphi iске қосылған кезде оны ... ... ... ... ... ... ерекше жағдайлардан басқа
кездерде қосымша нҮсқаулар енгiзудiң қажетi жоқ. Негiзгi модуль (проект):
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
мҮндағы,
Project1 – ... ... ... атауы. Проектiнi дайындап, жаңа
атау бойынша сақтаған кезде ол ... ... ... ... ...... ... сияқты, қызметшi сөз. Оның соңына
программада пайдаланылатын стандартты ... Forms ... ... модульге алғашқы рет меншiктеген атауы (Unit1) жазылған. Unit1-
ден соң оның қайсы модульдiк файлда құрылатыны (in ’Unit1.pas’) және ... ... ... ... ...... Ол компиляторға қосымшаның (Windows көмегiмен
дайындалған қолданбалы программаның) қор ... ... ... ... ... және ... ... көрсетедi (файлдың кеңейтiлуi - .res);
Begin - end операторларының аралығына енгiзiлген соңғы ... ... ... жүктелуiн қамтамасыз ететiн әдiстер (Delphi-де арнайы iс-
әрекеттi орындайтын процедура, функция және ... ... ...... ... ... (программаны
алғашқы рет дайындау) әдiсi;
Application.CreateForm – проект қҮрамына ... ... ... ... әдiсi (create - ... – программаны iске қосуды қамтамасыз ету әдiсi.
Delphi-де ... ... ... ... ... – Application объектiсiнiң Initialize әдiсiн
орындау.
Кейбiр жағдайда бөлiмге проект сақталатын бума атын ... ... қою да ... ... программаның орындалуы автоматты түрде негiзгi ... ...... ... ... ... ... бөлiмi.
Модуль тақырыбы Unit (модуль) қызметшi сөзiнен басталып, ... ... үтiр (;) ... ... ... атауы жазылады.
Delphi-дiң модульге алғашқы рет меншiктейтiн атауы: Unit1. Жаңа проект
ашылған кезде ... ... да ... ... ... ... Messages, SysUtils, Classes,
Graphics, Controls, Forms, Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
end.
Интерфейс (interface) бөлiмi interface ... ... ... ... келесi бөлiмдер енгiзiледi: uses – Турбо Паскальда пайдаланатын ... оған ... ... ... ... бөлiмге пайдаланушы
дайындаған модуль атауын кiрiстiрiп қою да мүмкiн. Одан әрi, ... ... типi ... (онда өрiстер, қасиеттер, компоненттер
сипатталып, олардан соң модульде ... ... мен ... элементтерi) жарияланады, т.б.).
Private (жеке, дербес) бөлiмiне тек ағымдық модульге тиiстi элементтер
енгiзiлуi ... ...... ... ... мен оқиғалар);
Public (көпшiлiк) бөлiмiнiң iшiнде ағымдық ... қол ... ... келген программа не модульдiң көрiнетiн элементтерi, облыстары
енгiзiледi. Олар ... ... ... ... облыстарын ғана
анықтайтын болғандықтан, әдетте (көп жағдайда) олар бос көрiнедi.
Implementation (iске асыру,орындау) бөлiмiндегi {$R*.DFM} – ... ... ... ... пайдалану нұсқауы. Ол модульдi оған
сәйкес форманың сипаттамасымен байланыстырады (файлға форма ... ... ... Ол ... ... ... қасиеттерiнiң
де сипаттаммаларын бойында сақтайды. Қасиеттер сәйкес Object Inspector
терезесiнде көрiнедi). Одан соңғы қатарларға программалаушы Delphi ... ... ... ... ... Олардың iшiндегi оқиғаны
өңдеуiш процедуралардың тақырыптары модульдiң интерфейс бөлiмiнде автоматты
түрде жазылып ... ... ... ... ... ... ... модуль айнымалыларын инициалдап (бастапқы мәндер берiп), программаны
дайындау үшiн қажет. Егер ол ... бҮл ... ... ... беруден бҮрын орындалады. Бөлiм нұсқауларын begin және ... ... ... ... керек. Жоғарыда көрсетiлген сияқты, бөлiм
толтырылмаса, begin сөзi жазылмай, оған тек end. сөзi ... Ол ... ... ... кiлттiк сөз.
1.3. Компоненттер палитрасы
Delphi-де программа дайындау үшiн компоненттiк ... ... ... ... программалау ортасымен бiрге
Үсынылатын, белгiлi бiр iс-әрекеттi орындайтын компоненттерден ... олар ... ... ... ... ... ... нағыз төңкерiс жасады деуге болады, себебi, компоненттердi
пайдалану программа жҮмысын күрделi түрде жеңiлдеттi.
Компоненттер кiтапханасын визуальды ... ... ... Library, VCL) деп ... Онда ... ... жинақталып
(Delphi 5-те олардың саны ... ... олар ... ... 19 бетке
орнатылып қойылған.
Жиi қолданылатын беттер мен компонеттер 1-кестеде көрсетiлген:
1-кесте
|Standard |ҚҮрамына жиi қолданылатын ... ... |
| ... бет. ... ... беттi толықтырушы қосымша бет. ... |Windows 95/98 ... ... 32-биттiк компонеттер|
|System |Таймер, плеер т.с.с. жүйелiк ... бетi ... ... BDE ... ... бетi ... ... ... бетi ... |InterBase программасымен тiкелей байланыс ... ... ... басқару қосымшаларын қҰру |
|Internet ...... ... iстейтiн қосымшалар қҮру |
|QReport |Есептер даярлау ... |“Open file”, ... ... терезелердi пайдалану |
| ... ... ... ... ... ... шығару ... |Бiр ... ... ... және ... ... |Көп ... мәтiндi енгiзу және редакциялау |
|Button ... ... қҰру ... ... ... контейнерi ... ... қҮру |
| ... ... компоненттерi: ... ... ... ... ... ... ... түйме |
|Image ... ... ... (бейнелеу) ... ... ... түрлi геометриялық фигураларды шығару |
|Chart ... мен ... ... |
| ... ... ... ... |Дыбыссыз клиптердi орындау ... ... ... ... ... ... бейнелеу |
| ... ... ... ... |Қосымшада уақыт интервалын беру ... ... ... сурет салуға болатын облыс қҮру |
| ... ... ... ... ... файлдарды ашу сҮхбаттық терезесiн |
| ... ... ... ... сақтау сҮхбаттық терезесiн |
| ... ... ... ... ... ... келтiрiлген.
Пайдаланушы жаңа компонент дайындап, оны компоненттер панелiне қосып қоюына
болады.
1.4. Компоненттердi пайдаланып қарапайым проект қҮру
Формада орнатылған Label, Edit ... Caption, ... ... ... қол жеткiзу – Паскальдағы жазу өрiсiне қол
жеткiзу сияқты. Алдымен объект атауы жазылып, одан соң ... ... ... ... ... атауы енгiзiледi. Қасиетке мән меншiктеу тәсiлi
әдеттегiдей. Мысалы:
Label1.Caption:=’Бiз ... ... ... ... мәтiндi (S) Label1 өрiсiне шығару
да мүмкiн. Ол үшiн ... ... ... етiп алу ... - Edit1 ... Text қасиетiн программа арқылы орнату
әдiсi):
var s : ... := ... := ... Екi санның көбейтiндiсiн есептейтiн қосымша қҮру керек.
1. Delphi-дi iске қосып, жаңа проект ... ... ... Edit1,
Edit2, Label1, Label2, Label3, Panel1, Button1 ... ... ... етiп ... Компонеттер орнатылған форма
2. Форманың және оның компонеттерiнiң қасиеттерiн орнату:
|Компонент ... ... мән ... |Font |Times Kaz, 10 |
| |Caption ... ... ... |Text |- (бос ету) ... |Text |- (бос ету) ... |Caption ... ... |Caption ... ... |Caption ... ... |Caption |- (бос ету) ... |Caption ... |
3. ... Есептеу (Button1) түймесiн екi рет шерту. Click оқиғасы
процедурасының ... ... Оның ... TForm1. ... (Sender : ... ... денесiн енгiзу:
Рrocedure TForm1.Button1Click(Sender: TObject);
Begin {негiзгi програма}
// Меншiктеу
Panel1.Caption:=Edit1.Text+'*'+Edit2.Text+'='+
FloatToStr(StrToFloat(Edit1.Text)*StrToFloat(Edit2.Text));
end;
Фигуралық ... iшiне ({ }) ... ...... ... ... Delphi-де бiр жолдық түсiнiктеменi қос көлбеу сызықтан
( // ) соң ... да ... ... ... Iске қосу ... беру ... компиляцияланып шыққан соң, жүйе “Сандарды көбейту” тақырыбы
жазылған форманы экранға шығарады;
6. 1-сан және 2-сан өрiстерiне мәндер енгiзу (-8 және ... ... ... шерту. Panel1 өрiсiне нәтиже жазылып қойылады (6-
сурет).
6-сурет. Нәтиже шығарылған форма
Delphi-де ... ... ... екi ... ... ... онда ... компоненттер арқылы программаның визуальды ... және ... ... ... код ... ... ... және ашу
Проектiнi дайындап болған соң оны сақтау үшiн File-Save Project ... ... All ... беру ... Егер ... алғаш рет сақталынып
жатса, онда модульдi сақтауды сҮралатын Save Unit1 As терезесi көрiнедi.
Проект ... үшiн ... бума ... болса, ол Projects
(C:\Program Files\Borland\Delphi5\Projects) ... ... ... ... терезесiнде жаңа бума қҮрып, проектiнi сонда сақтағаны
жөн. Ол оны iздеп ... ... Жаңа бума қҮру ... сақтау сҮралатын терезенiң Жаңа бума қҮру түймесiн шерту. Бума
белгiшесi терезеде ... ... ... бума атын ... ... екi рет шертiп, ашу;
- терезенiң Файл аты өрiсiне ... ... ... Сақтау түймесiн
шерту. Модуль .pas кеңейтiлуi бойынша сақталып қойылады да, экранда
проект аты ... ... ... Файл аты ... ... атын ... ... түймесiн шерту. Проект
файлы .dpr кеңейтiлуi бойынша сақталады да, ... ... ... ... ... Ол программа атауы ретiнде қабылданады.
МҮндағы ескеретiн жайт: модуль мен проектiнi ... атау ... да ... ... ... ... Бiрақ модульдi басқа
проектiлерде де пайдалану мүмкiн. Сондықтан оларды ... ... ... ... ... ашу үшiн ... Project ... берiлуi
тиiс. Көрiнген терезеден қажеттi буманы ашып, онда көрiнген проект ... рет ... ... Программаны компиляциялау. ЕХЕ файл
Жаңа қҮрылған программаны (проектiнi) сақтаған соң, оны iске ... ... ... Ол үшiн ... команда: Project-Compile
Project (Проект-Проектiнi компиляциялау). Жүйенiң сәйкес күйге келтiрiлуiне
байланысты, iске қосу ... ... ... ... ... ... терезесiнде көрiнiп тҮрады (7-сурет).
7-сурет. Компиляциялау барысын көрсету терезесi
Компиляциялау командасы берiлген кезде Compiling терезесi экранда
көрiнбеуi ... Оны ... ... ... ... Options ... ... командасын беру.
Environment Options терезесi ашылады;
- терезенiң Preferences ... ... ... ... ... ... ... және орындау) блогында орналасқан Show Compiler
progress (компиляциялау барысын көрсету) жалаушасын орнату.
Компилятор ерекшелеген жолда ... қате ... қате ... ... ... де ... мысалы, оған енгiзiлген команда соңына
нүктелi үтiр (;) ... ... ... ... болған соң Iске қосу командасын қайта беру керек не Run-
Step Over (Iске ... ... ... ... ... ... ... қате бар болса, компиляциялау кезiнде
Delphi қате ... ... код ... ... ... ... ... курсорды орналастырады және қате типiн терезенiң төменгi
бөлiгiнде орналасқан терезеде көрсетiп, машина жҮмысын ... ... ... компилятор бiр қатенi төменгi терезеде екеу
етiп көрсетедi: бiрiншiсi - синтаксистiк қате жөнiнде мәлiмет, ... ... ... және орындалмайтынын хабарлау.
Проектiнi сақтау кезiнде Delhi PAS, DFM, DCU ... ... ... ... ... PAS - файлы – код терезесiндегi мәтiн көшiрмесi; DFM
файлында форма терезесiнiң iшiндегiсi сипатталады; DCU - ...... да ... нҮсқауға түрлендiру нәтижесi. Егер программада
синтаксистiк қате болмаса, компилятор оларды ехе файлға ... ... аты ... ... ... етiп ... да, оған .ехе ... қойылады). Ол Windows-қа кiрiстiрiлiп, ... ... ... ... Оны Windows ... (сiлтеушiсi) терезесiнен
әдеттегiдей iске қоса беру мүмкiн.
II ТАРАУ. DELPHI ОРТАСЫНЫҚ ГРАФИКАЛЫҚ
МҮМКIНДIКТЕРI
2.1. ДАЙЫН ГРАФИКАЛЫҚ ФАЙЛДАРДЫ ПАЙДАЛАНУ
2.1.1. Image компонентi және оның ... ... ... Image ... ... оның iшiне Clipart-та
сақталған глобустың суретiн (earth.bmp) енгiзу керек.
1. Жаңа ... ... ... Image1 ... ... оны қалаған түрде
кеңейту;
2. Компоненттi ... ... ... ... ... және ... ... екi рет шерту. Picture Editor терезесi көрiнедi.
2-кесте. Image1 компонентiнiң ... ... мән ... ... өрiсiне кескiн орнату ... Height ... ... Егер ... ... ... |
| ... кем ... және Autosize ... мәнi True|
| ... ... ... бiр бөлiгi ғана орнатылады. |
| |False ... ... ... ... ... ... |автоматты түрде ... |
| |True ... ... ... ... автоматты|
|Stretch (сығу, |түрде масштабтау. Ол үшiн Autosize қасиетiне False |
|кеңейту) ... ... ... |
| |True ... ... ... ... | |
3. Оның Load ... ... Load Picture ... көрiнедi. Терезеге
Windows-та, Clipart-та және т.б. қосымшаларда сақталған кескiндердiң файл
атауларын ... ... ... ... ... ашу ... ... Files\ Borlan Shared\ Images\ Splash\
16Color бумасын таңдау керек. 16Color бумасын ашқан кезде ... ... Image ... ... ... ... Олардың iшiнен қажеттiсiн таңдап (earth.bmp) Aшу түймесiн шерту. ... Editor ... ... ... Одан әрi ... ... шертсе болғаны.
Форманың Image1 өрiсiне кiрiстiрiлген earth.bmp ... ... Image1 ... Stretch ... True мәнi және AutoSize
қасиетiне False мәнi меншiктелгендiктен (2-кесте), ... ... ... ... ... ... объектiсiнiң LoadFromFile әдiсiн пайдаланып, суреттi өрiске
толық кiрiстiруге де болады (келесi тақырыпты қараңыз).
2.1.2. Графикалық ... ... TBitMap, ... ... ... файлдардың үш түрлi типiмен жҮмыс жасайды: биттiк
матрицалар, пиктограммалар және метафайлдар. ... ... ... ... және оқу ... ... ... (.bmp типтi файлдар) – ... ... ... түс ... ... ... (.ico ... файлдар) – өте шағын биттiк матрицалар. Олар
негiзiнен қосымшалардың шартбелгiлерiнде, ... ... ... ... ... ... масштабтауға (Үлғайтуға,
кiшiрейтуге) болмайды;
Метафайлдар (Metafiles) – суреттiң арнайы командалардан тҮратын ... ... ... - .wmf не ... ... пиктограммаларда және метафайлдарда сақталған
кескiндердi ... үшiн - ... ... ... ... TIcon ... ... типi ... ... |.jpg, .jpeg ... матрицалар (BtiMaps) |.bmp ... |.ico ... ... |.emf ... |.wmf ... ... SavePictureDialog компопнеттерi.
Графикалық файлдарды көру үшiн қарапайым қосымша қҮру
Графикалық файлдарды ... шығу үшiн ... ... қҮру ... Жаңа проект ашып, формаға MainMenu1, Image1, ... ... және Image1 ... AutoSize ... True ... Яғни ... ... iстеу барысында сурет өлшемiне байланысты
форма өлшемi ... ... ... комопнентiнiң Items қасиетiне екi рет шертiп, ашылған
Form1.MainMenu1 терезесiнде мәзiр қҮру:
- Caption ... ... ... меншiктеу.
Form1.MainMenu1 терезесiн жабу. Форманың көрiнiсi 9-суреттегiдей болады;
9-сурет. Қосымшаны қҮру үшiн орнатылған компоненттер
3. Формадағы мәзiрдiң Сурет пунктiне екi рет ... ... ... ... ... ... then
begin
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
Image1.Stretch := True;
end;
end;
мҮндағы FileName – Picture қасиетi арқылы орнатылатын файл аты.
4. Iске қосу командасын берiп, ... ... ... ... ... Файлды ашу терезесi көрiнедi. ґткен тақырыптағы сияқты, 16Color
бумасын ашып, technlgy.bmp файлын екi рет ... ... ... Image1
өрiсiне толық түрде кiрiстiрiлiп қойылады (10-сурет).
10-сурет. ... ... ... шығу ... ... ... файлды ашуға арналған Dialog
класының мҮрагерi. Оның ашатын терезесiнен графикалық ... ... ... ... үшiн ... ... сәйкес қасиеттерiн таңдау
не, жоғарыдағы сияқты, қажеттi программа қҮру керек.
SavePictureDialog ... ... ... ... ... не ... суреттi сақтау үшiн қолданылады. Пайдалану ... ... ... IMAGE EDITOR ... ... Delphi ... қолдан сурет салу
Delphi қҮрамындағы Image Editor ... ... ... ... ... ... суреттер, геометриялық фигуралар
салуға, редакциялауға, сақтауға болады. Олар ағымдық бумада ... Жаңа ... ... Tools-ImageEditor (Сервис-Кескiн редакторы) командасын
орындау. Paint терезесiне Үқсас, Image Editor ... ... ... Image Editor терезесi
2. File-New ( BitMap File (.bmp) командасын беру. BitMap ... ... ... Оның Size (ґлшем) ... ... ... ... ... енi мен ... өлшемдерiн (мысалы,
150, 150) енгiзiп, экранның түстер режимiн таңдау және ОК түймесiн шерту.
Image Editor терезесiнiң iшiне сурет салуға арналған BitMap1.bmp терезесi
кiрiстiрiлiп ... Оны ... ... ... ... ... суретiн салып (12-сурет), сақтау (салынған
суретке avto.bmp атауы берiлген).
12-сурет. Қолдан салынған автокөлiк
2.2.2. Командалық түймеге ... ... ... ... қҮру ... Жаңа ... ... форма бетiне BitBtn1 компонентiн орнату;
2. Image Editor редакторын iске қосып, File-New ( Icon File ... ... ... Icon ... терезесi көрiнедi (13-сурет).
13-сурет.
Icon Properties терезесi
Терезеден пиктограмманың өлшемiн (Size) және түс ... ... ОК ... ... ... қолдан салып, сақтау (14-сурет);
14-сурет. Қолдан салынған пиктограмма
4. Image Editor терезесiн жауып, формадағы BitBtn1 ... ... ... екi рет ... ... Load… ... шертiп, ашылған Load Picture терезесiнен
қажеттi пиктограмманы (brush_i.ico) таңдап, ОК түймесiн шерту (форманың
Icon қасиетiн ... осы ... ... ... ... ... ... түйме бетiне орналасады (15-сурет);
15-сурет.
Түйме бетiндегi пиктограмма
2.2.3. Ресурстық файлдар қҮру және ... ... ... ... және ... ... нҮсқама түрiнде көрiнедi.
Оны басқа стандартты не қолдан дайындалған түрде көрсетуге болады.
Курсордың стандартты түрлерiнiң ... ... ... ... ... ... ... ... ... ... ... ... ... жҮмыс iстеудiң түрлi ... ... ... ... ... Мысалы, Үзақ процестiң орындалу барысында
ол қҮмсағат түрiнде көрiнедi. Процесс аяқталған кезде ... ... ... ... көрсеткiштi крест түрiнде көрсету керек. Егер ол
Button1 компонентiнiң үстiне әкелiнсе, қҮмсағат ... ... үшiн жаңа ... ... ... Button1 компонентiн орнату керек.
Одан әрi компоненттер қасиеттерiне төмендегi мәндердi меншiктеп, iске қосу
командасын беру жеткiлiктi.
|Компонент ... |Мән ... |Cursor |crCross ... |Cursor ... ... ... емес түрде қолдан суретiн салып дайындауға
болады:
- жаңа проект ашып, Tools-ImageEditor (Сервис-Сурет редакторы) ... ... File-New Resource File [.res] ... ресурстық
файл) командасын беру. Res кеңейтiлуiмен жазылатын ... ... ... ... ... оң ... ... көрiнген контекстi мәзiрден New-Cursor
командасын беру. ... ... ... Cursor ... қҮрылып,
оған Cursor1 файлы жазылып қойылады;
- Контекстi мәзiрдi пайдаланып не Resource-Rename командасын берiп, Cursor1
атауын бас әрiптермен ... ... ... ... ... ... ... өлшемiн белгiлеу. Ол үшiн терезенiң оң бөлiгiн шертiп, көрiнген
контекстi ... ... не ... ... ... ... атауын екi рет шертiп, ашылған MYCURSOR терезесiнен Cursor –
SetHotsPot командасын беру). Ашылған сҮхбаттық терезенiң Horisontal[x],
Vertical[x] өрiстерiне ... ... ... ... 8 және 6), ... шерту. Одан әрi терезеге қолдан көрсеткiш суретiн салып шығуға
болады.
16-сурет. Қолдан көрсеткiш салынатын терезе
Терезеде қолдан ... ... оған ... ... ... ... ... 16-суретте көрсетiлген.
Егер бәрi дҮрыс болып шықса, Untitled1.res терезесiн белсендiру керек.
Одан әрi, ... As ... ... ... Cursor не ... ... мүмкiн, мысалы, MyCur.res. Дайындалған көрсеткiштi форма бетiне
шығаруға болады.
Жаңа проект ... OnCreate ... ... қҮру ... ... *.DFM}) ... соңына {$R MyCur.res} қатары жазылуы тиiс. Ол
MyCur.res файлын программаның ресурстық файлына ... ... ... TForm1.FormCreate(Sender : TObject);
begin
// курсор формасын тiркеу
Screen.Cursor:=LoadCursor(Hinstance, ‘MYCURSOR’);
Cursor:=1;
end;
Программаны iске қосқан соң формада стандартты емес көрсеткiш ... ... кез ... Integer типтi мән болуы мүмкiн).
2.3. КАНВА – СУРЕТ САЛУ КЕНЕБI
2.3.1. TCanvas, TPen, TBrush, TFont ... OnPaint ... ... ... координаттар жүйесiнiң ... ... ... ... ... ... TCanvas ... (Canvas – канва, сурет салу кенебi). Мысалы, экранда ... мен ... ... ... – Delphi-де салынған канвалар
(кенептер). Кенепке графикалық информация шығарылған соң, ол осы ... ... ... ... мен графиктер салу үшiн TCanvas класына туынды үш класс
пайдаланылады: Windows шрифтi үшiн – TFont, түрлi сызықтарды сызу үшiн ... ... ... iшiн бояу үшiн – TBrush (font – ... реn – ... brush – бояу ... кейбiр қасиеттерi мен әдiстерi 4-7 кестелерде берiлген (Реn,
Font, Brush объектiлерi Canvas объектiсiнiң қасиеттерi).
4-кесте. TРen қасиеттерi
|Қасиет ... ... ... ... ... сызықтың түсi (15 түрлi) ... ... ... ... сызықтың стилi. Мүмкiн мәндер: |
| |psSolid ... ... psPash ... т.б. |
| ... ... бойынша сызық қалыңдығы ... ... ... ... ... ... ... |
|Mode ... ... pmXor мәнi ... ... ... ... ... өшiп қалады; pmBlack – сызық түсi |
| ... қара ... pmWhite – ... ақ ... т.б. |
5-кесте. TFont қасиеттерi
|Қасиет ... ... ... түсi ... ... аты ... TimesKaz) ... ... ... (жартылай қалың, курсив, т.б.) Мысалы, |
| ... ... ... ... ... ету |
| ... ... Form1.Canvas.Font.Style := |
| ... ... ... ... ... ... ... ... TBrush ... ... ... ... ... түсi (объектiнiң боялу түсi) ... ... ... ... ... қараңыз) |
| | ... ... ... |bsCross ... ... ... |bsClear ... ... ... стильдерi
7-кесте. TCanvas қасиеттерi
|Қасиет ... ... ... – бояу ... ... |Объект – шрифт ... ...... ... |Графикалық курсордың ағымдық орны ... TCanvas ... ... ... y1, x2, y2, x3, y3, x4, y4 : ... ...... сырттай сызылған эллипс сегментiн сызу. |
|Оның бастапқы нүктесi эллипс пен оның ... (х3, у3) ... ... сәуленiң қиылысу нүктесiнен басталады; соңы – орталықтан ... ... ... ... ... қиылысу нүктесi. Доға сағат ... ... ... ... y1, x2, y2 : ... ... - тiк төртбҮрышын салады. Фигураның iшкi облысының түсi |
|бояу жаққыш (Brush.Color) түсiмен анықталады. ... y1, x2, y2) : integer; ... – тiк ... ... ... ... не шеңбер |
|сызу. Элементтiң iшкi облысының түсi бояу жаққыш түсiмен анықталады. ... y1, x2, y2, x3, y3, x4, y4 : ... ... – тiк ... ... ... эллипс секторын сызады. |
|Доғаның бас нүктесi – эллипс ортасынан (х3,у3) нүктесiне жүргiзiлген |
|сәуленiң эллипспен қиылысу нүктесi, ... ...... ... ... ... ... сәуленiң эллипспен қиылысу нүктесi. |
|Draw(x, y : integer; Graphic : ... ... жақ ... ... (х,у) ... Graphic ... ... |
|Polyline(Points : array of TPoint); ... ... ... ... ... ... арқылы қисық сызық |
|сызу. ... : ... ... ағымдық орнынан бастап (х,у) нүктесiне дейiн түзу кесiндiсiн |
|салу. ... y : ... ... y) ... қаламды орнатады. ... y : integer; ... : string); ... нүктесiнен бастап мәтiндiк жолды шығару. ... әдiс ... ... ... ... тиiс. Формаға
графикалық кескiн шығару үшiн, оның onPaint оқиғасын өңдеуiш процедура қҮру
керек.
Мысал. Форма бетiне iшi ақ ... ... ... ... дөңгелек және
iшi диагональ сызықтармен толтырылған ... ... ... ... және ... шығару керек. Олардың астыңғы ... ... ... ... және ’нүкте’ сөздерi жазылсын (18-сурет).
Жаңа проект ашып, форманың қасиеттер ... Events ... ... ... ... ... ... form1.canvas do
begin
Pixels[420,50]:=clWhite; // aқ түстi нүкте салу
MoveTo(280,70); ... // ... ... // ... ... 2 ... // ... түсiн қызыл ету
Brush.Color:=clWhite; // фигураның iшiн ақ түстi ету
Ellipse(50,50,130,130); // шеңбер салу
Brush.color:=clMenu; // бояу ... ... ... ... ... ... // тiктөртбҮрыш
{Мәтiндердi шығару}
Font.Name:='Times Kaz'; // мәтiн шрифтiнiң атауы
Font.Size:=12; // мәтiн ... ... // ... ... стилi
Textout(380,60,'Нүкте');
Textout(380,160,'Кесiндi');
Textout(60,140,'Дөңгелек');
Textout(160,160,'ТiктөртбҮрыш');
end;
end;
Программа iске қосылған соң 18-суреттегi нәтиже көрiнедi.
18-сурет. Формаға салынған түрлi фигуралар
2.3.2. Функция графигi
Программа бойынша ... ... ... y=sinx ... ... түсерлiктей болып сызылмайды. Оның үстiне, терiс мәндi график
үзiндiсi экраннан шығып ... ... ... функциялардың тек
масштабты графигiн сызуға болады. Ол үшiн түрлi әдiстердi пайдалану ... ... ... ... ... ... (w; h) облысын таңдап алу: w ... ; h – ... f(x) ... [x1; x2] ... ең кiшi және ең ... ... Fmax) және х, у өстерi бойынша функция мәндерiнiң созылу ... (mx, my) ... ... ... ... ... координаттар жүйесiнiң бас нүктесiн (х0, у0) таңдап
алып, ... ... ... y) ... ... ... сызу ... x=x0+ +round(x*mx); y=y0-
round(y*my) – х, у мәндерiн масштабты ... ... [0; 25] ... ... ... графигiн
dx=0.01 қадаммен салу керек.
Жаңа проект ашып, қасиеттер терезесiнде ... ... ... ... ... және қосымша программа - функция енгiзiлген FormPaint
процедурасын қҮру:
Function f (x : real) : ... := ... // ... ... x2 : real; // ... ... ... шекаралары
y1, y2 : real; // функция мәндерiнiң өзгеру шекаралары
х : real; // ... ... : real; // х ... функция мәнi
dx : real; // аргумент өсiмшесi
l ,b : integer; // ... ... ... сол ... ... ... ... h : integer; // ... ... ... енi ... ... my : real; // х және у ... бойынша масштаб
х0, у0 : integer; // координаттар жүйесiнiң бас нүктесi
begin
// ... ... ... ... ... // ... жоғарғы нүктесiнiң абсциссасы
b:=Form1.ClientHeight-20; // ординатаның жоғарғы
// нүктесiнiң ординатасы
ї:=Form1.ClientHeight – 40; // ... ... – 40; // ... енi
x1:=0; // аргументтiң сол жақ ... // ... оң жақ ... // ... [x1; x2] ... функцияның max және min мәндерiн табу
y1:=f(x1); // минимум
y2:=f(x1); // максимум
x:=x1;
repeat
y:=f(x);
if yy2 then y2 := y; x := ... ... ... ... // х өсi ... ... // y өсi бойынша масштаб
// координаттар жүйесiнiң бас нүктесi
x0 := 1;
y0 := b - ... ... ... ... және у ... жазылатын сандар
MoveTo (l, b); ... b - ... (x0, y0); ... + w, ... + 5, b – h - 5, ... ffFixed, 6, ... + 5, b + 5, FloatToStrF(y1, ffFixed, 6, 3));
// график ... ... ... ... : ... ... дҮрыс көрiнбесе, программа соңына форма өлшемiн өзгерту
процедурасын енгiзуге болады:
Procedure TForm1.FormResize(Sender : ... ... ... ... ... ... масштабты график
Программада негiзгi жҮмысты GrafFunc процедурасы орындайды. Ол [x1;
x2] кесiндiсiнде функцияның ең үлкен (у2) және ең кiшi (у1) ... және ... ... облыстың биiктiгi (ї) мен енiн (w)
пайдаланып, х, у өстерi ... ... ... (mx, my). Одан ... ... ... ... график сызады.
Программа бойынша салынған график 19-суретте көрсетiлген.
2.3.3. Chart компонентi. Диаграмма тҮрғызу
Additional бетiнiң Chart ... ... ... ... ... ... Ол ... қасиеттерге, әдiстерге және
оқиғаларға ие. Сондықтан Chart компонентiнiң тек негiзгi сипаттамаларын
ғана ... ... ... ... |График не диаграмма бөлiгiн вертикаль, горизонталь |
| ... екi ... да ... көру ... ... ... не ... ... ... |
| ... ... ... масштабтауға мүмкiндiк бередi |
|Title ... ... ... -> Text ... ... ... ... мәтiн ... ... ... ... орнату ... ... ...... ... ... |Сол жақ, оң жақ және ... төменгi шекаралар |
|MarginLeft |мәндерi ... | ... | ... ... бейнелетiн берiлгендер тобының тiзiмi ... ... ... ... ... ... ... бейненiң сипаттамалары ... ... ... ... ... ... цехтардың процент түрiндегi өнiм ... ... ... ... өнiм ... 1-цех – 15%, 2-цех
– 20%, 3-цех – 25%, 4-цех – 40%.
1. Жаңа проект ашып, оның бетiне Chart1 ... ... Chart1 ... екi рет ... ... ... ... Диаграммалар
редакторы (Editing Chart1) терезесi көрiнедi (20-сурет);
20-cурет. Диаграммалар редакторы терезесi
3. Add… түймесiн ... ... ... (TeeChart Gallery – Chart
галереясынан) Pie (дөңгелек) типтi диаграмманы таңдау (21-сурет);
4. Tiles бетiнiң көмегiмен ... ... Legend бетi ... ... ... тiзiмiн) шығару; Panel бетi диаграмма
салынатын панель ... ал 3D бетi ... ... етiп ... ... ... ... таңдау терезесi
5. Диаграммалар редакторының Series бетiнiң Format iшкi бетiнен Circled ... iске ... қою (бҮл ... дөңгелек диаграмманың масштабты түрде
өзгеруiне мүмкiндiк бередi).
6. Series ... General iшкi ... Percent ... iске ... ... % түрiнде көрсетедi);
7. Форманың onCreate оқиғасын өңдеуiш ... ... i : ... ... ... series1 ... Iске қосу. Нәтижеде шығарылатын қосымша 23-суретте келтiрiлген.
23-сурет. Зауыт цехтарының өнiм үлесiнiң диаграммасы
2.3.4. Shape компонентi
Компоненттер панелiнiң Additional бетiндегi TShape (Фигура) ... ... ... ... ... салуға болады. Компоненттi
формада орнатып, оның Shape ... ... ... ... болғаны (10-
кесте).
10-кесте. Shape қасиеттерi
|Қасиет мәндерi |Орнатылатын фигура ... ... ... ... ... |ТiктөртбҮрыш ... ... ... ... ... тiктөртбҮрыш |
|stRoundSquare ... ... ... ... ... орнатылған ақ түске боялған эллипс
Фигура түсi объектiнiң Brush қасиетiнiң мәндерi арқылы, ... түсi Pen ... ... ... ... Мысалы, форманың
ортасына Shape1 компонентi ... оның Shape ... ... Pen ... Color ... clBlack, Brush ... ... clWhite мәнi таңдалған кездегi ... ... ... ... Аnimate және ... ... графикалық операторларды пайдаланып, түрлi анимация
(қозғалыс әсерiн) Үйымдастыруға болады. Мысалы, форма ... ... ... ... бiр ... ... ... көшiру қҮбылысын шығару үшiн
ТAnimate (анимация) компонентiн пайдалану жеткiлiктi:
1. Жаңа ... ... ... ... Win32 ... ... ... орнату;
2. Компоненттiң CommonAVI қасиетiнен aviRecycleFile (файлдарды кәрзеңкеге
салу) қатарын таңдап, Active қасиетiне True ... ... ... ... ... бумаға файл-дардың салынып жатқаны
көрiнедi (25-сурет).
25-сурет. ... ... ... ... ... ... да мүмкiн: жаңа проект
ашып, формада ... Button1 ... ... ... Одан ... түймесiнiң OnClick оқиғасын өңдеу ... ... ... шерту жеткiлiктi. Процедура:
Procedure TForm1.Button1Click(Sender : TObject);
begin
Animate1.Open := True;
Animate1.CommonAVI := aviRecycleFile;
Animate1.Active := True;
end;
TProgressBar компонентi және Samples ... Gauge ... ... ... ... ... файлды көшiру, программаларды комьютерге
орнату т.с.с. процестердiң ... ... ... ... ... TTimer ... Графикалық объектiлердi жылжыту
Delphi-дiң негiзгi ерекшелiктерiнiң бiрi - программа ... ... ... ... ... ... ретiнде қҮрылады. әр компоненттiң өзiне ... ... ... бар. Оны ... программаның алдын ала дайыдалған
үзiндiсi деп қарауға болады. ... ... ... ... азайтып,
қҮруды жеңiлдетедi.
1-Мысал. Компоненттер панелiнiң System бетiнде орналасқан TТimer
компонентiн пайдаланып, ... ... ... ... ... ... Жаңа ... ашып, формада Timer1, Label1 компоненттерiн орнату (Label1-
дi iшiне ... ... ... көрсетeтудi жоспарлау);
2. Компоненттер қасиеттерiне мәндер меншiктеу:
|Компонент |Қасиет |Мән |
| Timer |Enabled (қол ... |True |
| ... |1000 ... |Caption | |
| |Width (енi) |120 |
| |Heigth ... |60 |
| |Left (сол ... |100 |
| |Top ... |60 ... Label1 ... ... ... ... орнатылған
электрондық сағат элементтерiн қажеттi түрде үлкейтiп, сағатты ... ... үшiн ғана ... Timer1 ... - ... ... ... (WM_TIMER). Ол қажеттi мәлiметтi миллисекөнт
өлшемiмен периодты түрде бөлiп берiп отырады. WM_TIMER ... ... оның Enabled (қол ... мүмкiндiк) қасиетiне true мәнi, нақты
уақытты бөлiп берудi орындайтын Interval ... ... ... 1 ... (1 сек = 1000 ... TТimer компонентi өңдейтiн оқиға бiреу ғана - OnTimer (уақыт
бойынша). Код терезесiнде сәйкес ... ... ... үшiн ... екi рет ... не ... қасиеттер терезесiнен OnTimer
оқиғасын таңдап, оң ... екi рет ... ... ... ... ... Tform1. Timer1Timer (Sender : TObject) ;
var DateTime : TDateTime;
begin
DateTime := ... := ... Тime - ... ... ... ... ... функция;
TimeToStr - уақытты символдық типке түрлендiру функциясы.
26-сурет. Формада орнатылған жүрiп тҮрған ... Iске қосу ... беру (F9). ... жүрiп тҮрған сағат көрiнедi (26-
сурет).
2-мысал. Формада айдың жер айналасында қозғалу ... ... ... Label1 және System ... Timer1, ... ... Shape1,
Shape2 компоненттерiн орнатып (27-сурет), қасиеттерiне мәндер меншiктеу:
|Компонент |Қасиет |Мән ... |Height |400 |
| |Width |500 ... |Font |Times Kaz, 11, bold |
| |Caption ... ... |
| ... |True ... ... ... |200 ... |Shape ... |
| |Height |120 |
| |Width |120 |
| |Left |170 |
| |Top |90 ... |Shape ... |
| |Height |40 |
| |Width |40 |
| |Left |340 |
| |Top |130 |
2. Timer1 ... екi ... ... модуль терезесiн var бөлiмiнен
бастап ... : ... : ... ... ... : TObject);
begin
x := x+0.1;
Shape2.Left := 210 + trunc(150*cos(x));
Shape2.Top := 132 - ... ... ... iске ... ... ... айналуы
2.4.3. Базалық нүкте әдiсi
Көптеген элементтерден тҮратын күрделi суреттердi программалауда,
базалық нүкте әдiсi қолданылады. БҮл ... ... ... бiр ... ... деп ... да, ... нүктелердiң координаталары осы
нүктеге қатысты есептеледi. Егер бҮл ... ... ... ... ... ... онда суреттi масштабтауға мүмкiндiк туады. Төмендегi
мысалды базалық ... ... ... ... ... ... бетiнде жүзiп бара жатқан ... ... ... ... ... Жаңа ... ... форма бетiне Timer1 компонентiн орнату;
2. Келесi процедураларды қҮру:
var
x,y:integer; { координаты базовой точки рисунка }
implementation
{SR * ... Titanik ... ... ... координаталары}
color : TColor); { кеме түсi }
const
dx=5; ... ... form1. Canvas ... { ... ... сақтау }
Рen.Color:=color; { қажеттi түстi орнату }
{ кеме корпусы ... ... ... ... ... ... ... (x,y);
{ кеме қҮрылысы }
MoveTo (x+3*dx,y-2*dy);
LineTo (x+4*dx,y-3*dy);
LineTo (x+4*dx,y-4*dy);
LineTo (x+13*dx,y-4*dy);
LineTo (x+13*dx,y-3*dy);
LineTo (x+5*dx,y-3*dy);
LineTo (x+9*dx,y-3*dy);
{ капитан орны ... ... ... ... (x+7*dx,y-4*dy,x+8*dx,y-7*dy);
{ иллюменаторлар }
Ellipse (x+11*dx,y-2*dy,x+12*dx,y-1*dy);
Ellipse (x+13*dx,y-2*dy,x+14*dx,y-1*dy);
{ дiңгек }
MoveTo (x+10*dx,y-5*dy);
LineTo (x+10*dx,y-10*dy);
{ саймандар }
MoveTo (x+17*dx,y-3*dy);
LineTo (x+10*dx,y-10*dy);
LineTo (x,y-2*dy);
pen.Color:=buf; { қаламның бастапқы түсiн ... ... ... ... (10,100, ... ... (Sender:TObject);
begin
Titanik (x,y,Form1.Color); { суреттi өшiру}
x:=x+5; y:=y-1;
Titanik (x,y,clWhite); { жаңа ... ... салу ... ... ... ... { теңiз түсi }
Timer1.Interval:=70;
end;
3. Iске қосу. 27-суреттегi қозғалып бара жатқан кеме ... ... бара ... ... ... ... және өшiрiлуiн Titanik процедурасы орындайды.
Оған параметр ретiнде ... ... ... мен ... салу ... Егер процедура орындалған уақытта салу түсi форма фонының ... ... онда ... ... салады, ал егер сәйкес келсе, онда
сурет ... Titanik ... dx және dy ... ... ... бередi.
2.4.3. Биттiк бейнелердi жылжыту
Графикалық бейненi жылжыту үшiн TBitMap ... ... ... ... ... – осы ... бейне енгiзiлетiн компьютер жадында дайындалған
графикалық бет (адрес). Бейненi форма бетiне не ... ... ... ... әдiс арқылы шығаруға болады (алдымен TBitmap типiн
айнымалы арқылы ... алу ... : ... … … ... ... ... автокөлiктi жүктеу үшiн берiлетiн әдiс:
bt.LoadFromFile(’С:\Мои документы\avto.bmp’);
Оны Image ... ... ... (Draw) ... ... y, bt);
мҮндағы bt – биттiк бейнелi сурет атауы, (x,y) – бейненiң сол жақ ... ... ... ... ... қасиетiне Тrue мәнi меншiктелсе,
шыққан сурет көрiнбей қалады, керiсiнше жағдайда TransParentColor қасиетiне
қажеттi түстi меншiктеу керек.
Мысал. ... ... Image1 ... ... жол және
бағдаршам салып, avto.bmp файлы түрiнде ... ... ... ... Жаңа ... ... ... бетiне Image1, Timer1 компоненттерiн орнату;
2. Форма және компоненттер қасиеттерiне мәндер меншiктеу:
|Компонент ... |Мән ... |Height |210 |
| |Width |310 ... |Height |200 |
| |Width |300 |
| |Left |10 |
| |Top |20 ... ... |50 |
3. Image Editor ... ... File (.bmp) командасын беру.
Көрiнген сҮхбаттық терезенiң сурет ... ... енi мен ... енгiзу (Height 200, Width - 300). Одан әрi ОК түймесiн шерту;
4. ... ... ... ашық көк ... ... жол және ... ... (28-сурет). Суреттi svetofor.bmp атауымен сақтау;
28-сурет. Қолдан салынған арал
5. Форманың onPaint және ... onTimer ... ... ... ... avto, Buf : TBitMap; // фон, ... буфер
Svetfon, Bufobl : TRect; // фон ... ... ... y : integer; // ... сол жақ ... ... ... H : integer; // ... ... ... ... ... := ... // ... := ... // ... := ... // ... ... ... ... және ... ... }
Svet.LoadFromFile('avto.bmp');
Form1.Image1.Сanvas.Draw(0,0,Svet);
{ keme.bmp файлын жүктеу }
avto.LoadFromFile('svetofor.bmp');
avto.Transparent := true;
avto.TransParentColor := avto.Сanvas.Рixels[2,2];
{ буфер даярлау }
W := avto.Width;
H := avto.Height;
Buf.Width := W;
Buf.Height := H;
Buf.Palette:=Svet.Palette; // ... ... ... ... ... ... ... Үйымдастыру }
Form1.Image1.Canvas.Draw(x,y,Buf);
x:=x+2;
if x>±orm1.Image1.Width then x:=-W;
{ фонның сақталатын облысын анықтау }
Aralfon:=Bounds(x,y,W,H);
Buf.Canvas.CopyRect(Bufobl,Svet.Canvas,Svetfon);
{ суреттi ... ... ... iске ... ... ... бара жатқан кеме көрiнедi (29-
сурет).
29-сурет. ’Жүpiп’ бара жатқан автокөлiк
2.5. Қарапайым графикалық редактор
Бiз ... ... ... ... ... функцияларды
орындайды:
- негiзгi және қосымша түстердi орнату. Түстер палитрасына тышқанның сол
жақ түймесi шертiлсе негiзгi түс, оң жақ ... ... ... ... бояу ... – SBBrush ... ... облысты тышқан арқылы таңдалған
түске бояу;
- қалам – SBPen түймесi. Қалам арқылы ... ... ... сызық
салу;
- кескiн бөлiгiн белгiлеп алу – SBRect ... ... ... ... арқылы белгiленедi. Белгiленген бөлiктi тышқан көмегiмен басқа
орынға жылжытуға болады. Егер жылжыту кезiнде CTRL клавишiн басып ... ... ... ... ... ... бөлiгiн мәзiрдiң
сәйкес командалары арқылы алмастыру буферiне жазуға да болады;
- ... ... ... – SBErase ... ґшiргiштi редактор бетiнде
қозғалтса, қосымша түске боялады;
- тiктөртбҮрыш салу – SBRectang түймесi. Рамкасы негiзгi ... ... ... ... ... – SBFillRec түймесi. Рамкасы негiзгi түспен, iшi
қосымша түспен боялған тiктөртбҮрышты салу;
- Түзу салу – SBLine ... ... түс ... түзу ... ... ... ашу – ... командасы;
- Графикалық файлды сақтау – Файл-Сақтау командасы;
- Соңғы орындалған команданы терiстеу–Түзету-Қайтару командасы;
- Белгiленiп алынған кескiн ... ... ... ... не қиып алу ... не Түзету-Қиып алу командасы;
- Буфердегi кескiндi кiрiстiру Түзету-Кiрiстiру командасы.
Қарапайым графикалық редакторды қҮру тәсiлi:
1. Жаңа проект ... ... ... Image1, Image2, Image3, Image4 ... ... ... ... ... ... (30-
сурет);
2. SpeedButton1..SpeedButton8 командалық түймелерiнiң GroupIndex қасиетiне
1 мәнiн және AllowAllUp қасиетiне True мәнiн меншiктеймiз.
Name және Glyph қасиеттерiнiң ... ... |Мән ... ... ... |Name |SBBrush ... ... ... |
| ... |1 |БҮл ... командалық |
| | | ... тек ... ғана |
| | | ... ... ... |
| | | ... |
| ... |true ... ... | | ... |
| |Glyph ... ... ... |
| | | ... ... ... |
| | | ... ... ... |Name |SBColor | |
| |Glyph ... | ... |Name |SBPen | |
| |Glyph ... | ... |Name |SBErase | |
| |Glyph ... | ... |Name |SBLine | |
| |Glyph ... | ... |Name |SBRec | |
| |Glyph ... | ... |Name ... | |
| |Glyph ... | ... |Name ... | |
| |Glyph ... | ... ... ... т.с.с. файлдар С:\Program Files\Com-mon
Files\Borlan Shared\Images\Buttons бумасында сақталған ... ... ... бҮл ... ... ... ... өзi де белгiлеме қҮруына болады (2.2.3-тақы-рыпты қараңыз).
3. Форма бетiне OpenPictureDialog1 компонентiн және MainMenu мәзiрiн орнату
(30-сурет). Файл және ... ... ... Файл ... Ашу, ... ... ... Қайтару, Көшiру, Қиып алу, Кiрiстiру пункттерiн
енгiзу. Ашу пунктiне MOpen, Сақтау ... MSave, ... ... Көшiру пунктiне MCopy, Киып алу пунктiне MСut, Кiрiстiру ... ... ... Программаның implementation бөлiмiнде
var BitMap : TBitMap;
айнымалысын жариялау. БҮл айнымалыда ... ... ... ... ... ... Қарапайым графикалық редактор қҮру үшiн
форма даярлау
5. Форманың onCreate оқиғасын өңдеуiш қҮру:
Рrocedure TForm1.FormCreate(Sender: TObject);
var HW,i:integer;
begin
BitMap:=TBitMap.Create;
{ негiзгi және қосымша түстерге ... ... ... ... ... және қосымша түстер терезелерiн толтыру }
with Image1.Canvas do FillRect(Rect(0,0,Width,Height));
with Image2.Canvas do ... ... ... элементiнiң енiн орнату }
HW:=Image4.Width div 10;
{ түстер палитрасы элементтерiнне түстер орнату }
with Image4.Canvas ... i:=1 to 10 do ... i of
1 : ... : ... : Brush.Color:=clBlue;
4 : Brush.Color:=clFuchsia;
5 : Brush.Color:=clGreen;
6 : Brush.Color:=clLime;
7 : Brush.Color:=clMaroon;
8 : Brush.Color:=clRed;
9 : Brush.Color:=clYellow;
10 : ... ... ақ ... ... ... ... ... жүктелген кескiн сақаталатын
BitMap объектiсi қҮрылады. Кейiн негiзгi (Image1) және ... ... ... ... ... қара және ақ. ... басқа
түстердi меншiктеу FillRect функциясының көмегiмен орындалады. ... ... ... (Image4) ... ... ... ... жеке түс
берiлiп, элементтер сәйкес түске Rectangle функциясының көмегiмен ... ... ... (Image3) ... ... BitMap ... ... сақталады;
6. Форманың onDestroy оқиғасын өңдеуiшке
BitMap.Free;
операторын жазамыз. Ол ... ... ... жадыны тазалайды;
7. SBBrush және SBColor түймелерiнiң onClick оқиғасын ... ... (Sender as ... ... енгiзу. Оператор келесi әрекет орындалғанға дейiн кескiннiң
ағымдық күйiн ... Image3 және Image4 ... ... ... ... қҮру:
begin
if (Sender = Image4) or SBColor.Down then
{ ... және ... ... орнату режимi }
begin
if (Button=mbLeft) then with Image1.Canvas do ... ... ... ... ... as ... else with ... do begin
{ қосымша түстi орнату }
Brush.Color:=(Sender as TImage).Canvas.Pixels[X,Y];
FillRect(Rect(0,0,Width,Height));
end;
end else with Image3.Canvas do begin
X0:=X;
Y0:=Y;
if SBPen.Down then ... ... ... ... else if SBLine.Down then begin
{ түзу режимi }
X1:=X;
Y1:=Y;
Pen.Mode:=pmNotXor;
Pen.Color:=Image1.Canvas.Brush.Color;
end else if SBBrush.Down then begin
{ кенептiң берiлген облысын таңдалған түске бояу }
if ... then ... ... if ... then ... өшiргiш режимi }
R:=Rect(X-6,Y-6,X+6,Y+6);
DrawFocusRect(R);
Brush.Color:=Image2.Canvas.Brush.Color;
FillRect(Rect(X-5,Y-5,X+5,Y+5));
end
else if SBRect.Down or SBRectang.Down or SBFillRec.Down
then begin
{ кескiн бөлiгiмен жҮмыс }
if REnd then begin
{ ... ... ... ... ... and (Y>R.Top) and (Y

Пән: Информатика
Жұмыс түрі: Дипломдық жұмыс
Көлемі: 64 бет
Бұл жұмыстың бағасы: 900 теңге









Ұқсас жұмыстар
Тақырыб Бет саны
Delphi-дің графикалық мүмкіндіктерін қолдана отырып қозғалатын бағдарлама құру20 бет
WEBbrowser компонентін қолданып бағдарлама құру16 бет
DELPHI программалау жүйесі16 бет
Дельфи ортасында анимация жасау әдістері21 бет
Adobe Photoshop – графикалық редакторы12 бет
AutoCAD графикалық жүйесі26 бет
Autocad графикалық редакторы, оның ерекшеліктері мен артықшылықтары. графикалық редактордың сипаттамасы, меню типтері6 бет
Corel Draw графикалық редактор28 бет
Corel draw графикалық редакторы30 бет
Corel Draw программасын түрлі графикалық бейнелерді өңдеуге қолданудың әдістемелік негіздері21 бет


Исходниктер
Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь