Delphi программалау ортасы - Лекция
Лекция 1. Delphi программалау ортасы
1. Кіріспе
2. Delphi-ді іске қосу. Delphi ортасы
3. Проект. Форма.Қасиеттер. Қасиеттер терезесі
4. Оқиғалар
1. Кіріспе
Обьектіге бағдарлы оқиғалық программалау тілінде программаның жұмысы
негізінен оқиғалар тізбегінен және түрлі обьектілердің осы оқиғаларға
жауабынан тұрады. Олардың визуальды түрлері – visual Basic тілі Qbasic
программалау тілі негізінде, Delphi (Делфи) обьектілі Паскаль (Object
Pascal) тілі негізінде Windows операциялық жүйесін басшылыққа алып құрылған
(visual - көзбен көру, экрандық). Олар, әсірісе, Delphi программалау тілі
- кез-келген қосымшаны дайындауға болатын жылдамдығы тез, қуатты тіл.
Delphi-дің бірінші нұсқасы 1994 жылы жарыққа шығып, кейінгі жылдары
оның бірте-бірте кеңейтілген 2, 3, 4, 5, 6,7-нұсқалары жарық көрді.
Дәстүрлі Паскаль оқып үйренуге жеңіл және MS Dos жүйесінде программа
дайындауға ең жақсы құрылымдық программалау тілі екені белгілі. Delphi – де
Паскаль тілінде орындау мүмкін және мүмкін емес күрделі процестерді
программалауға болады. Delphi-дің негізгі ерекшелігі – онда қосымша құруда
компоненттік және обьектілік тәсілдер пайдаланылады(Windows ортасында
пайдаланатындықтан, Delphi-де программаны көбінесе қосымша деп атайды). Бұл
программалау технологиясында нағыз революция жасады деуге болады.
Компоненттік тәсілдің мәнісі жеңіл: әр қосымша кітапханасы программалау
ортасында дайындалып, арнайы іс - әрекеттерді орындайтын компоненттер
элементтерінен жинақталады.
Delphi Windows жүйесінде программалаудың ыңғайлы құралы. Онда көптеген
операторларды пайдаланып программа дайындау, программа мәзірін құру,
анимация, мультимедиа процестерін ұйымдастыру, OLE технологиясын
пайдаланып, басқа офистік қосымшаларды шақыру, олармен жұмыс істеу және т.б
іс-әрекеттерді орындау да мүмкін.
2. Delphi-ді іске қосу. Delphi ортасы
Windows терезесі арқылы Delphi –ді іске қосу командасы:
Іске қосу – Программалар – Borland delphi6 – Delphi 6
Экранда Delphi ортасының үш терезесі көрінеді (1.1-сурет).
1
3 2
1.1-сурет.Delphi ортасы
1- Delphi 5-тің негізгі терезесі;
2- Форма(Form1);
3- Обьект инспекторы терезесі (Object Inspector).
Жалпы ортада программа құруға арналған төртінші, модуль терезесі де
іске қосылады(Unit1.pas). Форма терезесінің астында орналасатындықтан, ол
алғашқыда көрінбейді.
Delphi-дің негізгі терезесінің құрамына негізгі мәзір, аспаптар
панелі және компоненттер палитрасы енгізілген (1.2-сурет). Негізгі мәзір
пункттеріне Delphi-де жұмыс істеу командалары, аспаптар панеліне ішкі
мәзірлерге енгізілген негізгі командаларды орындайтын түймелер
орналатырылған.
1.2-сурет. Delphi-дің негізгі терезесі
Стандартты түймелер:
- New(Жаңа);
- Open(Ашу);
- Save(сақтау) ;
- Open Project(проектіні ашу);
- View Form(Форманы көрсету);
- Run(Іске қосу);
- Pause (‡зіліс);
- Add file to Project (Проектіге файл қосу), т.б.
3. Проект. Форма.Қасиеттер. Қасиеттер терезесі
Delphi-де дайындалатын программа дайындау проект (жоба) деп аталады.
Форма – программаны дайындау алдында ашылатын, программаның сұхбаттық
терезесі. Delphi алғашқы рет іске қосылған кезде форма Form1 атауымен
көрінеді(1.1-сурет). Оның жиектеріне тышқан көрсеткішін орналастырып, ол
екі жақты нұсқама түріне айналған кезде жылжыту және қалдыру тәсілі бойынша
формасын кеңейту не қысу қиын емес.
Құрылатын программада пайдалану үшін формада түрлі компоненттер (форма
компоненттері) орнатылады. Негізгі компоненттердің кейбірі Access
берілгендер қоры жүйесінде пайдаланылатын элементтер панеліне енгізілген
түймелер сияқты. Олар Delphi терезесінің компоненттер палитрасына
орналастырылған.
Кей жағдайларды экранда форма көрінбеуі мүмкін. Он экранға шығару үшін
View – Forms командасын беру жеткілікті.
Форманың және формаға енгізілетін компоненттердің(компоненттер жөнінде
келесі тақырыптарды қараңыз) түрлі қасиеттері бар (оларды компонент
“паспорты” деп те атайды). Қасиет (Сипаттама, параметр) – айнымалылардың
ерекше түрі. Олар обьектінің түрлі мүмкіндіктерін сипаттап, ағымдық күйін
анықтайды. Мысалы, форма қасиеттерінің мәндері – форма тақырыбының мәтіні,
өлшемі, экранда орналасуы, түсі т.б. Delphi іске қосылған кезде форма
қасиеттеріне алғашқы сәйкес мәндер меншіктеліп қойылады.
Форманы не онда орнатылған компонентті программа құру үшін дайындау
оның кейбір қасиеттерінің мәндерін өзгертуден басталады. Қасиеттер тізімі
Обьект инспекторы (Object Inspector) терезесіне енгізілген.. Тізімді
инспектор терезесіне шығару үшін сәйкес обьектіні (форманы не формада
орнатылған форма компонентін) бір шерту арқылы таңдау керек. Инспектор
терезесінің жоғарғы қатарына таңдалған обьект атауы да жазылып
қойылады.Мысалы, Delphi іске қосылған кезде форманың ашылған қасиеттер
терезесі 1.1-суретте көрсетілген. Терезенің екі қосымша беті бар:
Properties (Қасиеттер) және Events (Оқиғалар). Терезе ашылғанда екі
бағанға енгізілген жазулардан тұратын оның Properties бөлімі ашулы тұрады.
Бірінші бағанда көрінетіндер-қасиет атауларыб екінші бағанға сәйкес
жазылғандар-олардың мәндері.
4. Оқиғалар
Windows - тағы сияқты Delphi – де программалар оқиғалар арқылы
басқарылады. Мысалы, пайдаланушы программа құру үшін алдымен формаға
компонент орнату, форманы не формада орналасқан компонентті тышқан арқылы
шертуі мүмкін. Оның әр іс – әрекеті оқиға шақырады. Яғни, оқиға
программаның жұмыс істеуі кезінде обьект жағдайының өзгеруі.
Delphi-де әр оқиғаға атап беріліп қойылған. Мысалы, компоненттер
палитрасының Button түймесі арқылы формада орнатылған Button1 компонентін
шерту Click (шерту) оқғасын шақырады (1. 5. 4-тақырыпты қараңыз).
Әр обьектіге байланысты оқиғалар жеткілікті Мысалы, формаға –
байланысты оқиғалар саны-35 (1.4-сурет). Олар қасиеттер терезесінің Events
қосымша беті не енгізілген. Терезеде оқиға атауларының алдына On префіксі
(қосымшасы) тіркестіріліп жазылған. Ол-атаудың оқиға екендігін білдіретін
белгі.
1.4 - сурет. Форма оқиғалары
Delphi ортасында жиі кездесетін оқиғалар:
OnClick – тышқан түймесін бір рет басу;
OnDbiClick – тышқан түймесін екі рет басу;
OnKeyDown – клавишті басу;
On KeyUp – басылған клавишті босату;
OnMouseDown – тышқан түймесін басу;
OnMouseUp - тышқан түймесін босату;
OnMouseMove – тышқан көрсеткішін жылжыту;
OnCreate – форманы екі рет шерту, т.б.
Лекция 2. Программа құрылымы
1. Программалық код терезесі
2. Программа құрылымы. Негізгі модуль
3. Тәсіл модуль құрылымы
1. Программалық код терезесі
Delphi-де программа (проект) екі бөлімнен тұрады. Алғашқы автоматты
түрде project1 атауы берілетін проект файлы (негізгі модуль) жәнеunit1. pas
атауы берілетін модуль. Олар жеке терезелерде орналастырылған. Модульге
оқиғаларға сәйкес іс – әрекеттерді орындайтын программа мәтіні
(процедуралар) енгізіледі (олар 1.4 – тақырыпта кең түрде қарастырылған).
Программа мәтінін программалық код деп, терезені программалық код терезесі
не қысқаша редактор терезесі деп те атайды. 1.1-тақырыпта ескертілгеніндей,
Delphi іске қосылған кезде ол форма терезесінің астында көрінбей тұрады. Он
экранға шығару тәсілдері:
- форманы жабу (жабу түймесін шерту);
- код терезесінің бір шеті форма астында көрініп тұрса, оны шерту.
Терезе белсендірулі түрде ашылады да, онда процедура дайындамасы
(үлгісі) көрінеді. Оның тақырыбы нүкте арқылы бөлінген класс және процедура
атауларынан тұрады (1.5-сурет). т.б.
Жалпы формадан код терезесіне өту және код терезесінен формаға өту
үшін F12 клавишін басу желкілікті. 1.5 – суретте көрініп тұрғаны – код
терезесіне енгізілген процедура дайындамасы. Оқиғаға байланысты құрылған
процедура оқиғаны өңдеуіш не оқиғаны өңдеу процедурасы делінеді. Процедура
дайындамасының жазылу түрі:
Procedure атау (Sender: TObjiect);
Сипаттау бөлімі
Begin
Процедура денесі
End;
Мұндағы Sender параметрі құрылатын процедураның қай класна тиістілігін
анықтайды.
Терезенің сол бөлігіндегі – браузер терезесі. Онда код
терезесінде барлық жарияланулардың құрылымын көріп шығуға болады.
1.5 – сурет. Редактор терезесі. Онда көрінген процедура дайындамасы.
2. Программа құрылымы. Негізгі модуль
Кез келген программа program сөзінен басталатын проект файлы мен бір
не бірнеше модульдерден тұрады да, қолдан құрылатын программа модуль ішіне
енгізіледі. Проект файлы dpr, модуль pas кеңейтілуі бойынша сақталады.
Проект файлын негізгі модуль деп атайды. Негізгі модульдің мазмұны
проектінің жалпы сипаттамасынан тұрады. Delphi іске қосылған кезде он ол
автоматты түрде дайындап шығады. Негізгі модульге ерекше жағдайлардан басқа
кездері қосымша нұқсқаулар енгізулің қажеті жоқ. Негізгі модуль (проект):
Program Project1;
Uses
Forms
Unit in “Unit1. pas’ {Form1};
{$R*.RES}
begin
Application. Initialise;
Application. СreateForm(Tform1, Form1);
Application. Run;
End;
Мұндағы,
Progect1 – негізгі модуль (проект) атауы. Проектіні дайындап, жаңа
атау бойынша сақтаған кезде ол соңғы атауға алмастырылып қойылады;
Uses (қолдану) – Tурбо Паскальдағы сияқты, қызметші сөз. Оның соңына
программада пайдаланылатын стандартты (кітапханалық) Forms модулі мен
Delphi-дің модульге алғашқы рет меншіктеген атауы. (Unit1) жазылған Unit1-
ден соң оның қайсы модульдік файлда құралатыны (In ‘Unit1. pas’) және
онымен байланысты форма атауы көрсетіледі. ({Form}).
{$R*.RES}-нұсқау. Ол компиляторға қосымшаның (Windows көмегімен
дайындалған қолданбалы программаның) қор сипаттамаларын, мысалы,
шартбелгілер (пиктограммалар) сақталған файлды және т.с.с. пайдалану
керектігін көрсетеді (файлдың кеңейтілуі -.res);
Begin – end операторларының аралығына енгізілген. Соңғы бөлім-
қосымшаның алғашқы жүктелуін қамтамасыз ететін тәсілдер (Delphi-де арнайы
іс-әрекетті орындайтын процедура, функция және командалар тәсілдер
делінеді):
Application.Initialize – қосымша обьектісін инициалдау (программаны
алғашқы рет дайындау) тәсілі;
Application.CreateForm – проект құрамына енетін форманы дайындап,
экранда көрсету тәсілі (create-құру);
Application.Run – программаны іске қосуды қамтамасыз ету тәсілі.
3. Тәсіл. Модуль құрылымы
Delphi-де тәсілдің командалық түрде жазылуы:
Обьект.Тәсіл
Мысалы, Application.Initialize – Application обьектісінің Initialize
тәсілін орындау.
Кейбір жағдайда бөлімге проект сақталатын бума атын меншіктеу
командасын қосып қою да мүмкін, т.б.
Жалпы, Delphi-де программаның орындалуы автоматты түрде негізгі
модульді орындаудан басталады.
Модуль-түрлі іс-әрекеттерді орындауға арналған программа бөлімі.
Модуль тақырыбы Unit (модуль) қызметші сөзінен басталып, соңына әдеттегідей
нүктелі үтір (;) таңбасы мен аяқталатын модуль атауы жазылады. Delphi-дің
модульге алғашқы рет меншіктейтін атауы- Unit1. Жаңа проект ашылған кезде
модуль дайындамасы да автоматы түрде құрылады:
unit Unit1;
Interface Uses
Windows, Messages, SysUtils, Clfsses,
Graphics, Controls, Forms, Dialogs;
Type
Tform1=class(TForm)
Private
{Privare declarations}
public
{Public declarations}
end;
var
Form1: Tform1;l
Implementation
{$R*.DFM}
end.
Интерфейс (interface) бөлімі interface кілттік сөзімен басталады да
оған бөлімдер енгізіледі: uses - Турбо Паскальда пайдаланатын бөлім сияқты,
оған стандартты модуль атаулары жазылады, бөлімге пайдаланушы пайдаланған
модуль атауын кірістіріп қоюы да мүмкін. Одан әрі, Delphi дайындалған форма
типі сипатталады (онда өрістер, қасиеттер, компоненттер сипатталып, олардан
соң модульде жазылатын процедуралар мен функциялар (программа элементтері)
жарияланады, т.б.).
Private (жеке, дербес) бөліміне тек ағымдық модульге тиісті элементтер
енгізілуі мүмкін (элемент - өрістер, тәсілдер, қасиеттер мен оқиғалар);
Public (көпшілік) бөлімінің ішінде ағымдық модульге қол жеткізуге болатын
кез келген программа не модульдің көрінетін элементтері, облыстары
енгізіледі. Олар класқа енетін элементтердің пайдалану облыстарын ғана
анықтайтын болғандықтан, әдетте (көп жағдайда) олар бос көрінеді.
Implementation (іске асыру, орындау) бөліміндегі {$R*.DFM}-.dfm
кеңейтілуі бойынша жазылған файлды пайдалану нұсқаукы. Ол модульді сәйкес
форманың сипаттамасымен байланыстырады (файла форма қасиеттерінің мәндері
жазылып қойылған. Ол формаға қойылған компоненттер қасиеттерінің де
сипаттамаларын бойында сақтайды. Қасиеттер сәйкес Objiect Inspector
терезесінде көрінеді). Одан соңғы қатарларға программалаушы Delphi тілінде
қажетті процедураларды қолдан кірістіру керек. Олардың ішіндегі оқиғаны
өңдеуіш процедуралардың тақырыптары модульдің интерфейс бөлімінде автоматты
түрде жазылып қойылады, мысалы, 3.7.4, 3.11-тақырыптары өңделетін арнайы
информация үшін толық модульдер құрылған.
Кейде модульдің соңына инициалдау (initialization) бөлімі енгізіледі.
Бөлім модуль айнымалыларын инициалдау (бастапқы мәндер беріп), программаны
дайындау үшін қажет. Егер де толтырылса, бұл бөлім басқаруды программа
денесіне беру ден бұрын орындалады. Бөлім нұсқауларын begin және end
кілттік сөздерінің арасына енгізу керек. Жоғарыда көрсетілген сиқты, бөлім
толтырылмаса, begin сөзі жазылмай, оған тек end өзі енгізіледі. Ол –
модульдің соңын білдіретін кілттік сөз.
Лекция 3. Берілгендерді енгізу және шығару
1. Берілгендерді жекедиалогтық терезеде енгізу. InputBox
функциясы
2. Стандартты типті- түрлендіру функциялары
3. Берілгендерді жеке диалогтық терезеде шығару. Showmessage
процедурасы
4. Берілгендерді формада енгізу және шығару. TЕdit, Tlabel,
TButton класстары және олардың қасиеттері
1. Берілгендерді жеке диалогтық терезеде енгізу. InputBox функциясы
Delphi –де айнымалы мәнін жадқа енгізу үшін Турбо Паскальда
пайдалынылатын Read (оқу ) операторы жоқ. Программада ол үшін басқа
тәсілдердің қолданылуы мүмкін :
1) менщшіктеу;
2) енгізу терезесін пайдалану;
3) форманың Edit компоненті өрісін пайдалану.
Меншіктеу командасының программада жазылуы әдеттегідей , мысалы,
х:=4.7;
Енгізу терезесі Delphi-дің стандартты InputBox функциясының терезесі.
Программада InputBox (енгізу қорабы ) функциясын пайдалану командасының
жазылу үлгісі:
айнымалы := InputBox (‘тақырып ’,’түсініктеме ’,’мән’)
мұндағы,
айнымалы –мәні енгізу терезесіне енгізілетін жолдық типті
айнымалы атауы (InputBox функциясының мәні әр кезде жолдық (String)
типті. Мән меншіктелетін айнымалы (х) программада х: String; түрінде
сипатталуы тиіс);
Тақырып-енгізу терезесінің тақырыбы ретінде жазылатын мәтін;
Түсініктеме- енгізу терезесінің ішінде жазылатын түсініктеме мәтін;
Мән-енгізу терезесі көрінген кезде оның енгізу өрісінде
көрінетін мәтін. Әдетте оны бос символдық етіп енгізеді. Мысалы ,х:=4.7
меншіктеу командасын InputBox функциясын пайдаланып, мынадай түрде
беруге болады:
х:= InputBox (‘Аргумент мәні ’, ‘х:=’ ‘’ )
Команданың орындалу барысында көрінетін терезе 1.6- суретте
көрсетілген .Терезенің енгізу өрісіне 4,7 мәнін енгізіп, ОК түймесін
шерту керек (не КҚ клавишін бауғада болады).
Ескерту. Windows-тың күйге келтіріліп қойылуына байланысты нақты
сан әдеттегідей үтір (,) арқылы бөлініп енгізілуі мүмкін. Ол
меншіктелетін айнымалы (х) жолдық типті болғандықтан, қажет болса, оны
сандық типті етіп түрлендіру керек.
1.6- сурет. Енгізу терезесі
2. Стандартты типті- түрлендіру функциялары:
1- кесте
Функция Орындайтын іс -әрекетті
StrToFloat(x) Кескіні жолдық типті болатын х нақты санын
қалпына келтіру
FloatStrTo (x) х нақты санын жолдық типті ету
FloatStrToF х нақты санын форматты жолдық типке
(x,f,s,o) түрлендіруүМұндағы f-формат (кескіндеу форматы ). Ол
көбінесе ffGeneral не ffFidex түрінде жазылады;
s-барлық цифрлар саны (дәлдік);
о-ондық нүктеден соң жазылатын цифрлар саны (ондық
дәлдік ), мысалы, FloattostrF(x,ffFidex,7.3 );
StrToInt(x) Кескіні жолдық типті х бүтін санаын қалпына
келтіру ;
IntToStr(x) Х бүтін санын жолдық типті ету
(IntToStr-Integer to string, т.с.с.)
Ескерту. 1. FloatStrToF функциясының форматын (f) ffExponent
түрінде жазуғада болады. Ол санды экспонеттік етіп дөңгелектейді.
2. Delphi-де Турбо Паскальда қолданылатын Str(x,s) және оған
кері Val(s,x,code) типті түрлендіру процедураларында пайдалану
мүмкін.Мысалы, x=25 болса, Str(x,s) процедурасының орындалу
нәтижесі:s=’25’;s=’54’ болса Val(s,x, code) процедурасының орындалу
нәтижесі :x=54, code=0.
3. Берілгендерді жеке диалогтық терезеде шығару. Showmessage процедурасы
Delphi-де берілгендерді Showmessage (мәліметтерді көрсету)
процедурасының терезесіне шығаруға болады. Процедураның (оператордың)
жазылу түрі.
Showmessage(s);
Мұндағы s-жолдық типті өрнек .Егер ол сандық типті болса оны жолдық
типке түрлендіру үшін s аргументінің орнына типті түрлендірудің сәйкес
функциясын енгізу керек. Мсыалы, s нақты типті сан болса, оны шығару
терезесінде көрсету операторының мынадай түрде жазылуы мүмкін:
Showmessag(FloatToStr(s)); не
Showmessag((FloatToStr(s,ffgeneral, 7,3));
Жүйе соңғы операторды оқып шығып, жеті цифрдан тұратын нақты санды
символдық типте шығару терезесінде көрсетеді.
4. Берілгендерді формада енгізу және шығару.
TЕdit, Tlabel, TButton класстары және олардың қасиеттері
Компоненттер понеліне формаға оқиғаларды өңдеуіш процедуралар
тудыратын түрлі компоненттер (интерфейс элементтерін) орнатып, программа
нәтижесін форма терезесінде көрсету – Delphi-де визуальды прогрммалаудың ең
түйінді негізі. Әсіресе, ол үшін компоненттер понелінің Standart бетінен
мәтіндермен жұмыс істейтін TЕdit, мәтін енгізілетін TLabel және командалық
TButton компоненттері жиі пайдаланады. Мысалы, формаға Еdit1 редакциялау
өрісін орнатып, оның Text қасиеті арқылы не іске қосу командасын берген соң
оған курсорды енгізіп, клавиатура арқылы бір жолдық мәтін енгізуге және оны
редакциялауға болды. (Оны таңдап, буфер арқылы формада орнатылған екінші
Еdit өрісіне көшіруде мүмкін.)
Формада орнатылған Label, Еdit компоненттерінің Caption, Text
қасиеттеріне праграмма арқылы қол жеткізу – паскальдағы жазу өрісіне қол
жеткізу сияқты. Алдымен обьект атауы жазылып, одан соң нүкте қойылады да,
оның соңына қасиет атауы енгізіледі. Қасиетке мән меншіктеу тәсілі
әдеттегідей. Мысалы:
Label1. Caption:=’біз студенттерміз’;
Еdit1 өрісіне енгізілген қарапайым мәтінді (S) Label1 –өрісіне шығару
да мүмкін. Ол үшін процедура денесін мынадай етіп алу жеткілікті (Еdit1.
Text- Еdit1 обьектісінің Text қасиетін программа арқылы орындау әдісі):
Var s string;
Begin
S= Еdit1. Text;
Label1. Caption :=s;
End;
Формада TButton (түйме) компонентін орнатып, оны программаны іске қосу
түймесі ретінде пайдалану қыйын емес.
Осы класстардың тағы да бірнеше қасиеттерін қарастырайық.
TLabel:
- AutoSize: Boolean - компонент көлемі ішіне жазылған текстке
қатысты өзгеру не өзгермейтіндігін белгілейді,
- Layout: TТextLayout; - компонент ішіндегі тексттің вертикаль
бойынша реттелу түрін анықтайды.
- Transparent: Boolean; - компонент фоны мөлдір болуын не болмауын
анықтайды.
TEdit:
- BorderStyle: TSaticBorderStile; - компонент айналасында рамканың
болуын (болмауын) анықтайды.
- SelText: string; - тексттің ерекшеленген фрагменті (ТMemo классы
үшін де тиісті).
тәсілдері (басқа да текстпен жұмыс істейтін компоненттерге де тиісті):
- Procedure Сlear; virtual – бүкіл текстті жояды.
- Procedure ClearSelection; - ерекшеленген текстті жояды.
- Procedure CopytoClipboard; - ерекшеленген текстті алмасу буферәне
көшіреді.
- Procedure PasteFromClipboard;- алмасу буферіне көшірілген текстті
курсор тұрған орынға қояды.
Лекция 4. Программалау элементтері
1. Берілгендер. Өрнек
2. Программаның жалпы түрде құрлымы.
3.Тармақталу командасы. Таңдау комадасы. Case операторы
4. Циклдер
1. Берілгендер. Өрнек
Автоматты құрылғының не адамның өңдеуіне бейімделіп дайындалған
сандық;символдық, мәтіндік т.б. инфармацияны(ақпаратты) берілгендер деп
атайды.Программаны орындау барысында мәні программа мәтінінде көрсетілген
қалпынан өзгермейтін шаманы тұрақты деп, мәні өзгеріп отыратын шаманы
айнымалы деп, айнымалыға берілген атауды идентификатор деп те атайтыны
беолгілі.
Delphi Object Pascal программалау тілін басшылыққа алып құрылған.Онда
пайдаланылатын көптеген операторлар (нұсқаулар), кілттік сөздер,
айнымалыларды сипаттау және программа құрылымы Турбо Паскаль программлау
тіліне негізделген.
Delpihi-де жиі пайдаланылатын берілгендер типтері:
Integer, Real, Char, String, Boolean
(Integer-бүтін, real-нақты, char-символ, string-жол, booean-логикалық).
Айнымалы атауы үшін латын алфавитінің әріптерін және цифрлар мен
кейбір басқа символдарды алуға болады, ол үшін кілттік сөздерді алуға және
бос орын (‘’) символын енгізуге рұқсат етілмеген. Атау тек әріппен басталуы
тиіс.
Жүйе атауды оқып шыққан соң мәшине жадында ол үшін арнайы ұяшықтар
блогын бөледі де, мәнді сонда сақтайды (яғни айнымалы берілгендер
сақталатын жад облысы).Айнымалы атауы программаның var бөлімінде
сипатталуы міндетті (variable-айнымалы, кілттік сөз).
Мысалы, программаға енгізілген
a1:=521; a2:=45; a3:=7; a4:=5, 8; simb:=’k’;
меншіктеу командалары үшін айнымалылар мынадай түрде сипатталуы тиіс:
var a1:integer; a2, a3:byte; a4:real; simb:char;
мұндағы а2, а3 айнымалыларын integer арқылып сипаттап,
а1, а2, а3:integer;деп жазуға болады.
Ескерту. Мәндері integer типті болатын айнымалылардыңсипатталуы тиіс.
Мысалы, а1:=40; a2:=5; b:=a1a2; меншіктеу нұсқауларының орындалу
нәтижесінде b мәні 8-ге тең, бірақ b-ның сипатталуы:b : real;
Өрнек- берілгендермен әрекет жүргізіліп, мән өндірілетін тұжырымды
жазу.Арифметикалық өрнектің, меншіктеу операторының, т.б. жазылуы Турбо
Паскальдағы сияқты, мысалы, y:=5(3*x+1); z1:=’a; Мұндай операторлардың
орындалуы үшін айнымалы атауы мен өрнек мәнінің типтері бірдей болуы тиіс.
Математикалық өрнекке түрлі операциялар енгізілуі мүмкін.
Мысал.
мәндерді қосу, азайту, көбейту, бөлу(+, -, *, ), т.б.;
mod (бүтін сандарды бөлуде шығатын қалдық );
div (бүтін сандарды бүтін бөлу);
and (және), or (немесе), not (емес );
chr (13) не #13-жаңа жолдан бастау коды.
Өрнекке енгізілген плюс (+) таңбасы элементтердің типі не сәйкес түрлі
әрекеттер орындайды:
-сандарды қосу;
-жолдық типті берілгендерді біріктіру (жалғастыру).
and, or, not-құрама шарттарда пайдаланылатын кілттік сөздер.
Программаға енгізілген математикалық өрнекте типтерді түрлендіру
функциялары жиі пайдаланылады.
2. Программаның жалпы түрде құрылымы
Программаға ретімен мынадай бөлімдердің енгізілуі мүмкін (программа
құрылымы):
программа тақырыбы (procedure не function);
ен бөлімі (label);
тұрақтылар бөлімі (const);
айнымалылар бөлімі (var);
қосалқы программалар бөлімі (процедуралармен функциялар);
операторлар бөлімі.
Delphi-де тиянақты бір іс-әрекетті орындайтын программалық элемент жеке
процедура арқылы жазылады.Мысалдар келесі тақырыпта берілген.
Түсініп оқуға жеңіл болуы үшін күрделі программаның қажетті жерлеріне
түсініктеме мәтіндер енгізіліп қойылады. Түсініктеме оператор алдында
енгізілсе, фигуралық жақшалар ({}) ішінде орналастырылады. Егер ол оператор
соңында енгізілсе, алдында\\ (екі теріс көлденең сызық) символдары
жазылады.Соңғысын тек бір жолдық түсініктемеде пайдалану мүмкін. Мысалы,
1.{Трапеция ауданы}
s:=(a+b)*h2;
2. s:=(a+b)*h2; \\ трапеция ауданы
Компьютер түсініктемені оқымай тастап кетеді, ол тек пайдаланушыға
программаның жазылуын түсінуді жеңілдету үшін қажет.
3.Тармақталу командасы. Таңдау комадасы. Case операторы
Тармақталу командасының қысқа және толық нұсқалары бар. Олардың жазылу
түрлері.
if p then s қысқа нұсқа
if p then else s2 толық нұсқа
мұндағы Р- шарт, S, S1, S2- орындалу тиіс сериялар (бір блоктық
оперторлар). Егер блок бірнеше операторлардан тұрса, олар бір құрама
оператор ретінде қарастырылып, begin-end операторлық жақшалардың ішінде
жазылады (мұндағы ескертетін жайт- программа денесі де бір сыртқы блок
ретінде қарастырылады):
if p then begin
S1
end
else begin
S2
end;
Блокқа енгізілген тек біреу болса, оны операторлық жақшаларға алу
міндетті емес.
If (егер) командасының орындалу стандарты Паскальдағы сияқты: егер шарт
орындалса, онда then кілттік сөзінен соң жазылған блок, шарт орындалмаса
else кілттік сөзінен соң жазылған блок орындалды.
Таңдау командасы- көп сериалы тармақталу командасы. Әдетте ол Case
(қорап) операторын пайдаланып құралады.
Оператордың жазылу үлгісі:
Case өрнек of
1-тізім: begin
S1
end;
2-тізім: begin
S2
end;
n- тізім: begin
Sn
end;
end;
мұндағы
өрнек- мәні бойынша сәйкес тізім нұсқаулары (S1, 2, ..., Sn)
орындалатын өрнек. Көбінесе ол мәні case операторының алдында енгізілетін
айнымалы түрінде алынады;
k- тізім сұрыптаушы (таңдаушы) делінеді Ол үтір арқылы ажыратылып
жазылатын тұрақтылар тізімі (к=1, 2, ...n).
Тізім орнына бір тұрақтыны не тұрақтылар аралығын алуға болады.
Ралық екі нүкте арқылы ажыратылып жазылады. Мысалы: 3.4.5.6 тізімін 3...6
аралығымен ауыстыру мүмкін: егер айнымалы (х)мәні (-(;2) аралығында алынса
таңдаушыны x2 деп жазуға болады. Сәйкес тізім нұсқаулары орындалып болған
соң басқару case операторынан соңғы нұсқауға беріледі. Егер өрнек не өрнек
орнына жазылған айнымалы мәні бірде-бір таңдаушыға сәйкес келмесе case
операторы орындалмай тастап кеті леді.
4. Циклдер
Циклдердің қолдану тәсілдері стандартты Турбо Паскальдағы
сияқты.While(әзірше), Repeat (дейін), For(үшін) циклдік құрылымдардың
жазылу үлгілері:
1) While P do
Begin
S
End;
2) Repeat
S
Until (not P);
3) For k:=k0 to kn do
begin
S
End;
Мұндағы P-шарт; do -орындау (кілттік сөз);
S – цикл денесі;
Until-дейін (кілттік сөз);
K-бүтін типті есептегіш
(цикл параметрі);
k0 , kn -есептегіштің
бастапқы , соңғы мәндері.
Лекция 5. Көмекші программалар
1. Көмекші программалар
2. Функция
3. Модуль құру
1. Көмекші программалар
Программа үстінде жұмыс істей отырып, программист кейбір инструкциялар
қатары бірнеше рет программаның әр түрлі бөлігінде қайталанатынын байқайды.
Программада осындай қайталануларды болдырмауға болады. Бұл үшін
программада бірнеше рет қайталанатын инструкциялар қатарын көмекші
программа ретінде жариялап, қайталанған жерлеріне осы көмекші программаны
шақыру инструкциясын қойып шығу керек.
Көмекші программаны қолданудың артықшылықтары бар. 1-шіден, программада
кодтың қайталануы болмайды, демек программа құруды жеңілдетеді, әрі
өзгерістер енгізу және отладка жасау процессін ыңғайлы етеді. 2-шіден,
прогамманың сенімділігі біршама артады. Көмекші программаларды тек
қайталануды болдырмау үшін ғана қолданбайды. Үлкен мәселені бірнеше кіші
ішкі мәселелерге бөліп, әр мәселені көмекші программа ретінде құру ыңғайлы.
Бұл жағдайда программаның оқылуы жақсарады, әрі отладка процессі
оңайланады.
Көмекші программа – бұл жалпы ортақ мәселенің бір бөлігін шешетін
кішігірім программа. Delphi-де көмекші программаның екі түрі бар: процедура
және функция
Әрбір көмекші программаның атауы бар, ол оны программа ішінде шақыру
үшін қолданылады.
Функцияның процедурадан айырмашылығы мынада: функция атауына мән
(функцияның нәтижелік мәні) байланыстырылған, сондықтан функцияны өрнек
операндасы (мысалы меншіктеу) ретінде қолдануға болады.
Көмекші программаның әдетте, параметрлері бар болады. Олар формальді
және нақты болып бөлінеді.
Функцияны жариялағанда көрсетілетін параметрлер формальді деп аталады.
Процедураны шақыру инструкциясында көрсетілетін параметрлер нақты деп
аталады.
Параметрлер
• көмекші программаға берілгендерді жіберу үшін
• көмекші программаның нәтижесін алу үшін
қолданылады.
Жалпы жағдайда процедураның нақты параметрі ретінде типі сәйкес
формальді параметрдің типімен бірдей болатын өрнекті қолдануға болады.
2. Функция
Функция — бұл көмекші программа, яғни, бір ғана ортақ атау берілген
инструкциялар қатары. Функцияның инструкцияларына өту процессі функцияны
шақыру деп аталады. Функцияның инструкцияларынан программа дағы осы
функцияны шақыру инструкциясына өту - функциядан қайту деп аталады.
Жалпы түрде функцияны шақыру инструкциясы мынадай көріністе болады:
Айнымалы := Функция (Параметрлер) ;
Мыналарға көңіл аудару қажет:
• әрбір функция белгілі бір типтегі мәнді қайтарады, сондықтан
функцияның мәні меншіктелетін айнымалының типі функция типіне сәйкес
болу керек;
• әрбір нақты функция үшін параметрлер сан мен типі қатал анықталған.
Жалпы түрде функцияның жариялануы мына көріністе болады:
function Атау (параметр1 : тип1, ..., параметрК : типК) : Тип;
var мұнда локал айнымалылардың сипатталуы
begin
мұнда функция инструкциялары
Атау := Өрнек;
end;
Мұнда:
• function — Delphi тілінің қызметші сөзі, ол өзінен кейін функция
инструкциялары жазылатындығын білдіреді;
• атау — функция атауы. Программадан функция инструкцияларына өту үшін
қолданылады;
• параметр — мәні функция мәнін есептеу үшін қолданылатын айнымалы.
Кәдімгі айнымалыдан айырмашылығы, ол var сөзімен басталатын
айнымалыларды сипаттау бөлімінде емес, функцияның атауында
сипатталады. Нақты мәніне параметр программаның жұмысы барысында
негізгі программадан функцияны шақыру нәтижесінде ие болады;
• тип — функцияның шақырған программаға қайтаратын мәнінің типі.
Төмендегі мысалда isint және isFioat функциялары келтірілген. isint
функциясы редакторлау өрісіне бүтін санды енгізу барысында басылған перне
символы рұқсат етілген не етілмегендігін анықтайды. Сандар, Enter ,
Backspace пернелеріне рұқсат етілген деп есептеледі. IsFloat функциясының
міндеті де осындай, бірақ, бөлшек сандар үшін. IsFloat функциясының екі
параметрі бар: басылған перне коды және редакторлау өрісіне енгізіліп
қойылған символдар қатары.
Функцияға мысал бүтін санды енгізу кезінде енгізілген символдың
рұқсат етілген не етілмегендігін анықтайды
function Islnt(ch : char) : Boolean;
begin
if (ch = '0'} and (ch = '9') сандар
or (ch = 113) Enter пернесі
or (ch = #8) Backspace пернесі
then Islnt := True символ рұқсат етілген
else Islnt := False; рұқсат етілмеген символ
end;
бөлшек санды енгізу кезінде енгізілген символдың
рұқсат етілген не етілмегендігін анықтайды
function IsFloat(ch : char; st: string) : Boolean;
begin
if (ch = '0') and (ch = '9') сандар
or (ch = #13) Enter пернесі
or (ch = #8) Backspace пернесі
then
begin
IsFloat := True; дұрыс символ
Exit; функциядан шығу
end;
case ch of
'-': if Length(st) = 0
then IsFloat := True; ',':
if (Pos(',',st) = 0)
and (st[Length(st)]'= '0') and (st[Length(st)] = '9')
then бұрын енгізілмеген болса үтір белгісін цифрдан соң енгізуге
болады
IsFloat := True; else басқа символдарға рұқсат етілмейді
IsFloat := False;
end;
end;
3. Модуль құру
Delphi программистке өз функциялары мен процедураларын жеке модульге
орналастыруға, бұдан соң осы модульдің процедура мен функцияларын
программада пайдалануға(uses модульдер тізімінде өз модулінің атауын
көрсету керек) рұқсат етеді.
Модуль құру үшін форма мен модуль терезесін жабу қажет ( сақтауды
ұсынған терезеде No –ді таңдау қажет, яғни, жабылған форманың модулін
сақтау керек емес). Бұдан соғ File мәзірінен New - Unit командасы
таңдалады. Нәтижеде код редакторының терезесі ашылады. Мұнда
қалыптастырылған модуль шаблоны бар. Оның мәтіні төменде келтіріледі.
Модуль шаблоны
unit Unit1;
interface
implementation
end.
Модульді сақтау кезінде Unit1 атауы программист берген атауға автоматты
түрде алмастырылып қойылады.
Interface бөліміне басқа модульдер шақыра алатын осы модульдің
процедура мен функциялары жарияланады.
Implementation (реализация) бөліміне interface бөлімінде жарияланған
процедуралар мен функциялар орналастырылады.
Модуль File- Save командасымен сақталады. Мұндай модульдерді жеке
папкаға (мысалы Units атауымен) сақтаған дұрыс.
Модульді пайдалану. Программада модульдің функция мен процедураларын
пайдалана алу үшін программист осы модульді жобаға қосып, оның атауын
пайдаланылатын модульдер тізімінде көрсетуі керек.
Лекция 6. Объектілі-бағдарлы программалау тәсілі
1. Объектілі-бағдарлы программалау тәсілі жөнінде
2. Мұрагерлік. Инкапсуляция. Полиморфизм.
1. Объектілі-бағдарлы программалау тәсілі жөнінде
Бейсик, Паскаль сияқты дәстүрлі программалау тілдерінде күрделі, үлкен
программаларды дайындаудың кемшілігі – ол үшін программалаушылар тобының
көп күш жұмсауы қажет болатын. Программалауды жеңілдету үшін 80-жылдары
объект, класс (object, class) ұғымдары енгізіліп, объектілі – бағдарлы
программалау (ОБП) тәсілі негізге алынды. ОБП – Паскальда қолданылатын
процедуралық және құрылымдық программалаудың және модуль құрудың дамытылған
түрі. Ол берілгендерді белгілі бір абстракциялық деңгейде көрсетіп,
модульдік программалауды пайдаланады. Мысалы, Visual Basic программалау
жүйесі объектілі программалау тәсілін пайдаланып, Qbasic тілі негізінде
визуальды түрде құрылған. Паскальдың ОБП тәсілін пайдаланып құрылған жаңа
нұсқасы Object Pascal (Объектілі Паскаль) деп аталады. Delphi осы тілдің
негізінде дайындалған. Объектілі программалаудың ыңғайсыздығы – онда
дәстүрлі программалау тәсілдері пайдалана берілмейді, бірақ ондағы көп
қиындықтар арнайы тәсілдерді пайдалану арқылы тез шешілген.
ОБП тілінің дәстүрлі программалау тілдерінің өзгешелігі – онда,
өрістерге қоса, мынадай ұғымдар негізге алынған: класс, объект, өңдеу
тәсілі, объект қасиеті және оқиға.
Өрістер – Турбо Паскальдағы жазу (record) типінің өрістері сияқты;
Қасиеттер – объект сипаттамалары (параметрлері);
Тәсілдер – кластың өрістері мен қасиеттерін өңдеу процедуралар
мен функциялар;
объект – түрлі мәндердің қасиеттері тәсілдерінің жиынтығы;
оқиға – объект жағдайының өзгеруі.
Класс - өрістер, қасиеттер және тәсілдерінің бірлігінен тұратын тип,
не, жалпы түрде, өңдеу тәсілдері не қасиеттері ортақ түрде сипатталатын
объектілер (нысандар) жиынтығы.
Жүйе объект үшін жадтың динамикалық облысынан арнайы орын қалдырады.
Яғни, шын мәнінде, объект жай айнымалы емес, ол – жадтың динамикалық
облысының кездейсоқ адресін сақтайтын көрсеткіш. Бірақ программада оған
Турбо Паскальда пайданылатын көрсеткіш белгісі (^) енгізілмей жазылады.
Объект құрылған кезде автоматты түрде конструктор (constructor) деп
аталатын тәсіл шақырылып, ол объектіні динамикалық облыста орналастырады,
динамикалық жадтан объектіні арнайы деструктор (destructor) тәсілі жояды.
Сонымен, ОБП –да пайдаланылатын объект сөзінің екі мағынасы бар: нақты
объект (мысалы, геометриялық дене, формада орнатылған компонент, т.б.) және
айнымалы (абстрактты, дерексіз объект). Delphi-де екінші объект нақты класс
данасын анықтайды.
Класқа иерархиялық (бағынышты, жоғарыдан төмен) кластардың енуі де
мүмкін. Мысалы, геометриялық фигуралар класы жазық фигуралар және кеңістік
фигуралары болатын екі ішкі кластық фигураларға бөлінеді. Ал жазық
фигуралар класы төбелері бар (үшбұрыш, көпбұрыш) және төбелерсіз (шеңбер,
эллипс) болып екі ішкі класқа бөлінеді. Объектілі программалауда барлық
кластар иерархиялық түрде негізгі Tobject класынан тарайды (Tobject (
Tpersistent ( Tcomponent ( ...). Әдетте негізгі класты аталық, бағыныңқы
кластарды ұрпақ не сәбилік кластар деп атайды (Tobject – барлық кластардың
арғы атасы, Tcomponent – барлық иерархиялық компоненттердің жоғарғысы
(компонент деп Tcomponent класының мұрагері болатын класс данасын атайды)).
Әр ұрпақ өзінің аталық класының мүмкіндіктерін (өрістерінің, қасиеттерінің,
тәсілдерінің сипаттамаларын) қабылдайды. Мысалы, Tobject класының Create
(бастапқы мән меншіктеу (инициалдау)) тәсілі барлық ұрпақ кластарға тиісті
(Tobject класында конструктор Create деп аталады). Әр ұрпақ өзіне қосымша
жаңа мүмкіндіктер (сипаттамалар) қосып, келесі ұрпақтарға беруі мүмкін.
Delphi –де класс атауын Т әрпінен бастау келісілген. Формаға енгізілген
компонент данасын сандық индекс қосылған класс атауымен аталады.
Ұрпақ кластың сипатталу түрі:
type
ұрпақ класс атауы = class (негізгі класс атауы);
end;
var
объект : класс атауы;
мұндағы класс мүшелері - өрістер, қасиеттер және тәсілдер.
Мысалы,
type
Tform1= class (TForm)
Button1 : TButton;
Label1 : TLabel;
Procedure Button1 Click (Sender : TObject);
end;
var Form1 : Tform1;
TForm1 = class (TForm) жазуы Tform класының үлгісімен құрылатын жаңа
(ұрпақ) TForm1 айнымалысы – класс данасы.
Программаны дайындау барысында Delphi модульдің Interface бөліміне
формаға енгізілген компоненттер мен оқиғасы таңдалған тәсілдерді сипаттауды
автоматты түрде енгізеді, тәсілдерді іске асыру нұсқаулары модульдің
inplementation бөліміне қолдан жазылады.
Жалпы, Delphi –де класс деп өзіне ұқсас даналарды дайындау үшін үлгі
түрінде алынатын, толық түрде дайындалған программа үзіндісін де атайды.
Программалаушы бұрын дайындалған класс данасының көшірмесін түрлі
программаларға не бір программаның түрлі жерлеріне енгізіп, программалауды
және оның көлемін көп жеңілдетуіне болады.
Delphi құрамына жүздеген дайын кластар енгізілген. Әр компонент қатаң
түрде тек бір класқа ғана тиісті. Мысалы, Delphi – де форма (TForm)
компоненті - Forma класына тиісті, осы типті айнымалы (Form1) – класс
объектісі. Класс бөлігі ретінде сипатталып, модульдің
Inplementation (іске асыру) бөлігінде мәтіні жазылатын сәйкес процедура
- тәсіл, мысалы, procedure TForm1.Button1Click.
Форма ішіне орналастырылған TЕdit компонентінің Edit1 данасын
(объектісін) екі рет шерткен кезде пайда болатын оқиғаны өңдеу тәсіліне
(процедурасына) мысал:
procedure TForm1.Edit1Click(Sender : TObject);
begin
Edit1.Text:=’Сіз редакциялау өрісін екі рет шертіңіз’;
end;
программаны іске қосу командасы берілген соң компилятор автоматты түрде
негізгі модульге енгізілген төмендегі екі тәсілді орындайды:
Application.CreateForm(TForm1, Form1);
Application.Run;
Бұлардың біріншісі жадта Form1 объектісін құрады (объектіні
инициалдайды), екіншісі Application объектісіне қосымшаның негізгі формасын
іске қосуға нұсқау береді (Run). Жоғарыда жазылған процедураның орындалу
нәтижесінде форманың Edit1 өрісіне оның Text қасиетіне меншіктелген мәтін
жазылады.
Ескерту. Белгісіз жағдайда программада тәсілді не қасиет орнату
командасын иерархиялық түрде жазу қажет, мысалы:
TForm1.Button1.FontSize:= 14;
Мұндағы иерархияның бірінші объектісі – форма (Form1), екінші объект –
формада орнатылған Button1 түймесі, үшінші объект – түйменің шрифт
қасиеті; команда – форманың Button1 объектісіне енгізілген FontSize
(шрифт өлшемі) айнымалысына 14 мәнін меншіктеу. Яғни, объектілер арасына
қойылатын нүкте сәйкес иерархиялық объектіге сілтеме.
2. Мұрагерлік. Инкапсуляция. Полиморфизм.
ОБП –да класс үшін мұрагерлік, инкапсуляция және полиморфизм принцптері
енгізілген.
Мұрагерлік-программада негізгі класс типінің ұрпақ иерархиялық
кластарда да сақталуы. Мысалы.көлік, жеңіл жүк машинасы т.б.. болып
бөлінеді. Олардың жұмыс істеу жағдайына байланысты, сипаттамаларына ортақ
және бөлек өрістер, қасиеттер мен тәсілдер енгізілуі мүмкін. Әр қайсысында
тип элементтерін толық сипаттау тиесілі емес. Бірінің типін аталық
(негізгі) етіп қабылдап, екіншісіне қосымша қасиеттерді енгізу
жеткілікті.Delphi-дің барлық кластары TObject класына мұрагер.
Инкапсуляция (ішінде, біртұтас ).Класс өрістер, қасиеттер және
тәсілдердің бірлігінен тұрады.Олардың бір тұтатас түрінде қарастыру
инкапсуляция деп аталады. Әр класс аяқталған толық бір іс-әрекетті
бойында сақтайды. Кластың мұндай принципі өзінде инкапсульдайды делінеді.
Класта инкапсульданған процедуралар – функциялар, тәсілдер.
Полиморфизм (көп түрлілік)-мұрагер кластардың аталық класқа
енгізілген тәсіл атауы бойынша басқа қасиеттер енгізілген тәсіл атауы
бойынша басқа қасиеттер енгізілген ұқсас есепті шешуіне болатындығы, яғни
түрлі кластарда түрлі әрекеттерді орындайтын тәсілдерге бірдей атау беру
мүмкіндігі.
Лекция 7. TRadioButton, TScroolBar, TBitbtn, TPanel, TComboBox класстары
1. TradioButton, TscroolBar класстары және қасиеттері
2. TBitbtn, TPanel, TComboBox класстары және қасиеттері
1. TradioButton, TscroolBar класстары және қасиеттері
TRadio Button - байланысты ауыстырып - қосқыш ... жалғасы
1. Кіріспе
2. Delphi-ді іске қосу. Delphi ортасы
3. Проект. Форма.Қасиеттер. Қасиеттер терезесі
4. Оқиғалар
1. Кіріспе
Обьектіге бағдарлы оқиғалық программалау тілінде программаның жұмысы
негізінен оқиғалар тізбегінен және түрлі обьектілердің осы оқиғаларға
жауабынан тұрады. Олардың визуальды түрлері – visual Basic тілі Qbasic
программалау тілі негізінде, Delphi (Делфи) обьектілі Паскаль (Object
Pascal) тілі негізінде Windows операциялық жүйесін басшылыққа алып құрылған
(visual - көзбен көру, экрандық). Олар, әсірісе, Delphi программалау тілі
- кез-келген қосымшаны дайындауға болатын жылдамдығы тез, қуатты тіл.
Delphi-дің бірінші нұсқасы 1994 жылы жарыққа шығып, кейінгі жылдары
оның бірте-бірте кеңейтілген 2, 3, 4, 5, 6,7-нұсқалары жарық көрді.
Дәстүрлі Паскаль оқып үйренуге жеңіл және MS Dos жүйесінде программа
дайындауға ең жақсы құрылымдық программалау тілі екені белгілі. Delphi – де
Паскаль тілінде орындау мүмкін және мүмкін емес күрделі процестерді
программалауға болады. Delphi-дің негізгі ерекшелігі – онда қосымша құруда
компоненттік және обьектілік тәсілдер пайдаланылады(Windows ортасында
пайдаланатындықтан, Delphi-де программаны көбінесе қосымша деп атайды). Бұл
программалау технологиясында нағыз революция жасады деуге болады.
Компоненттік тәсілдің мәнісі жеңіл: әр қосымша кітапханасы программалау
ортасында дайындалып, арнайы іс - әрекеттерді орындайтын компоненттер
элементтерінен жинақталады.
Delphi Windows жүйесінде программалаудың ыңғайлы құралы. Онда көптеген
операторларды пайдаланып программа дайындау, программа мәзірін құру,
анимация, мультимедиа процестерін ұйымдастыру, OLE технологиясын
пайдаланып, басқа офистік қосымшаларды шақыру, олармен жұмыс істеу және т.б
іс-әрекеттерді орындау да мүмкін.
2. Delphi-ді іске қосу. Delphi ортасы
Windows терезесі арқылы Delphi –ді іске қосу командасы:
Іске қосу – Программалар – Borland delphi6 – Delphi 6
Экранда Delphi ортасының үш терезесі көрінеді (1.1-сурет).
1
3 2
1.1-сурет.Delphi ортасы
1- Delphi 5-тің негізгі терезесі;
2- Форма(Form1);
3- Обьект инспекторы терезесі (Object Inspector).
Жалпы ортада программа құруға арналған төртінші, модуль терезесі де
іске қосылады(Unit1.pas). Форма терезесінің астында орналасатындықтан, ол
алғашқыда көрінбейді.
Delphi-дің негізгі терезесінің құрамына негізгі мәзір, аспаптар
панелі және компоненттер палитрасы енгізілген (1.2-сурет). Негізгі мәзір
пункттеріне Delphi-де жұмыс істеу командалары, аспаптар панеліне ішкі
мәзірлерге енгізілген негізгі командаларды орындайтын түймелер
орналатырылған.
1.2-сурет. Delphi-дің негізгі терезесі
Стандартты түймелер:
- New(Жаңа);
- Open(Ашу);
- Save(сақтау) ;
- Open Project(проектіні ашу);
- View Form(Форманы көрсету);
- Run(Іске қосу);
- Pause (‡зіліс);
- Add file to Project (Проектіге файл қосу), т.б.
3. Проект. Форма.Қасиеттер. Қасиеттер терезесі
Delphi-де дайындалатын программа дайындау проект (жоба) деп аталады.
Форма – программаны дайындау алдында ашылатын, программаның сұхбаттық
терезесі. Delphi алғашқы рет іске қосылған кезде форма Form1 атауымен
көрінеді(1.1-сурет). Оның жиектеріне тышқан көрсеткішін орналастырып, ол
екі жақты нұсқама түріне айналған кезде жылжыту және қалдыру тәсілі бойынша
формасын кеңейту не қысу қиын емес.
Құрылатын программада пайдалану үшін формада түрлі компоненттер (форма
компоненттері) орнатылады. Негізгі компоненттердің кейбірі Access
берілгендер қоры жүйесінде пайдаланылатын элементтер панеліне енгізілген
түймелер сияқты. Олар Delphi терезесінің компоненттер палитрасына
орналастырылған.
Кей жағдайларды экранда форма көрінбеуі мүмкін. Он экранға шығару үшін
View – Forms командасын беру жеткілікті.
Форманың және формаға енгізілетін компоненттердің(компоненттер жөнінде
келесі тақырыптарды қараңыз) түрлі қасиеттері бар (оларды компонент
“паспорты” деп те атайды). Қасиет (Сипаттама, параметр) – айнымалылардың
ерекше түрі. Олар обьектінің түрлі мүмкіндіктерін сипаттап, ағымдық күйін
анықтайды. Мысалы, форма қасиеттерінің мәндері – форма тақырыбының мәтіні,
өлшемі, экранда орналасуы, түсі т.б. Delphi іске қосылған кезде форма
қасиеттеріне алғашқы сәйкес мәндер меншіктеліп қойылады.
Форманы не онда орнатылған компонентті программа құру үшін дайындау
оның кейбір қасиеттерінің мәндерін өзгертуден басталады. Қасиеттер тізімі
Обьект инспекторы (Object Inspector) терезесіне енгізілген.. Тізімді
инспектор терезесіне шығару үшін сәйкес обьектіні (форманы не формада
орнатылған форма компонентін) бір шерту арқылы таңдау керек. Инспектор
терезесінің жоғарғы қатарына таңдалған обьект атауы да жазылып
қойылады.Мысалы, Delphi іске қосылған кезде форманың ашылған қасиеттер
терезесі 1.1-суретте көрсетілген. Терезенің екі қосымша беті бар:
Properties (Қасиеттер) және Events (Оқиғалар). Терезе ашылғанда екі
бағанға енгізілген жазулардан тұратын оның Properties бөлімі ашулы тұрады.
Бірінші бағанда көрінетіндер-қасиет атауларыб екінші бағанға сәйкес
жазылғандар-олардың мәндері.
4. Оқиғалар
Windows - тағы сияқты Delphi – де программалар оқиғалар арқылы
басқарылады. Мысалы, пайдаланушы программа құру үшін алдымен формаға
компонент орнату, форманы не формада орналасқан компонентті тышқан арқылы
шертуі мүмкін. Оның әр іс – әрекеті оқиға шақырады. Яғни, оқиға
программаның жұмыс істеуі кезінде обьект жағдайының өзгеруі.
Delphi-де әр оқиғаға атап беріліп қойылған. Мысалы, компоненттер
палитрасының Button түймесі арқылы формада орнатылған Button1 компонентін
шерту Click (шерту) оқғасын шақырады (1. 5. 4-тақырыпты қараңыз).
Әр обьектіге байланысты оқиғалар жеткілікті Мысалы, формаға –
байланысты оқиғалар саны-35 (1.4-сурет). Олар қасиеттер терезесінің Events
қосымша беті не енгізілген. Терезеде оқиға атауларының алдына On префіксі
(қосымшасы) тіркестіріліп жазылған. Ол-атаудың оқиға екендігін білдіретін
белгі.
1.4 - сурет. Форма оқиғалары
Delphi ортасында жиі кездесетін оқиғалар:
OnClick – тышқан түймесін бір рет басу;
OnDbiClick – тышқан түймесін екі рет басу;
OnKeyDown – клавишті басу;
On KeyUp – басылған клавишті босату;
OnMouseDown – тышқан түймесін басу;
OnMouseUp - тышқан түймесін босату;
OnMouseMove – тышқан көрсеткішін жылжыту;
OnCreate – форманы екі рет шерту, т.б.
Лекция 2. Программа құрылымы
1. Программалық код терезесі
2. Программа құрылымы. Негізгі модуль
3. Тәсіл модуль құрылымы
1. Программалық код терезесі
Delphi-де программа (проект) екі бөлімнен тұрады. Алғашқы автоматты
түрде project1 атауы берілетін проект файлы (негізгі модуль) жәнеunit1. pas
атауы берілетін модуль. Олар жеке терезелерде орналастырылған. Модульге
оқиғаларға сәйкес іс – әрекеттерді орындайтын программа мәтіні
(процедуралар) енгізіледі (олар 1.4 – тақырыпта кең түрде қарастырылған).
Программа мәтінін программалық код деп, терезені программалық код терезесі
не қысқаша редактор терезесі деп те атайды. 1.1-тақырыпта ескертілгеніндей,
Delphi іске қосылған кезде ол форма терезесінің астында көрінбей тұрады. Он
экранға шығару тәсілдері:
- форманы жабу (жабу түймесін шерту);
- код терезесінің бір шеті форма астында көрініп тұрса, оны шерту.
Терезе белсендірулі түрде ашылады да, онда процедура дайындамасы
(үлгісі) көрінеді. Оның тақырыбы нүкте арқылы бөлінген класс және процедура
атауларынан тұрады (1.5-сурет). т.б.
Жалпы формадан код терезесіне өту және код терезесінен формаға өту
үшін F12 клавишін басу желкілікті. 1.5 – суретте көрініп тұрғаны – код
терезесіне енгізілген процедура дайындамасы. Оқиғаға байланысты құрылған
процедура оқиғаны өңдеуіш не оқиғаны өңдеу процедурасы делінеді. Процедура
дайындамасының жазылу түрі:
Procedure атау (Sender: TObjiect);
Сипаттау бөлімі
Begin
Процедура денесі
End;
Мұндағы Sender параметрі құрылатын процедураның қай класна тиістілігін
анықтайды.
Терезенің сол бөлігіндегі – браузер терезесі. Онда код
терезесінде барлық жарияланулардың құрылымын көріп шығуға болады.
1.5 – сурет. Редактор терезесі. Онда көрінген процедура дайындамасы.
2. Программа құрылымы. Негізгі модуль
Кез келген программа program сөзінен басталатын проект файлы мен бір
не бірнеше модульдерден тұрады да, қолдан құрылатын программа модуль ішіне
енгізіледі. Проект файлы dpr, модуль pas кеңейтілуі бойынша сақталады.
Проект файлын негізгі модуль деп атайды. Негізгі модульдің мазмұны
проектінің жалпы сипаттамасынан тұрады. Delphi іске қосылған кезде он ол
автоматты түрде дайындап шығады. Негізгі модульге ерекше жағдайлардан басқа
кездері қосымша нұқсқаулар енгізулің қажеті жоқ. Негізгі модуль (проект):
Program Project1;
Uses
Forms
Unit in “Unit1. pas’ {Form1};
{$R*.RES}
begin
Application. Initialise;
Application. СreateForm(Tform1, Form1);
Application. Run;
End;
Мұндағы,
Progect1 – негізгі модуль (проект) атауы. Проектіні дайындап, жаңа
атау бойынша сақтаған кезде ол соңғы атауға алмастырылып қойылады;
Uses (қолдану) – Tурбо Паскальдағы сияқты, қызметші сөз. Оның соңына
программада пайдаланылатын стандартты (кітапханалық) Forms модулі мен
Delphi-дің модульге алғашқы рет меншіктеген атауы. (Unit1) жазылған Unit1-
ден соң оның қайсы модульдік файлда құралатыны (In ‘Unit1. pas’) және
онымен байланысты форма атауы көрсетіледі. ({Form}).
{$R*.RES}-нұсқау. Ол компиляторға қосымшаның (Windows көмегімен
дайындалған қолданбалы программаның) қор сипаттамаларын, мысалы,
шартбелгілер (пиктограммалар) сақталған файлды және т.с.с. пайдалану
керектігін көрсетеді (файлдың кеңейтілуі -.res);
Begin – end операторларының аралығына енгізілген. Соңғы бөлім-
қосымшаның алғашқы жүктелуін қамтамасыз ететін тәсілдер (Delphi-де арнайы
іс-әрекетті орындайтын процедура, функция және командалар тәсілдер
делінеді):
Application.Initialize – қосымша обьектісін инициалдау (программаны
алғашқы рет дайындау) тәсілі;
Application.CreateForm – проект құрамына енетін форманы дайындап,
экранда көрсету тәсілі (create-құру);
Application.Run – программаны іске қосуды қамтамасыз ету тәсілі.
3. Тәсіл. Модуль құрылымы
Delphi-де тәсілдің командалық түрде жазылуы:
Обьект.Тәсіл
Мысалы, Application.Initialize – Application обьектісінің Initialize
тәсілін орындау.
Кейбір жағдайда бөлімге проект сақталатын бума атын меншіктеу
командасын қосып қою да мүмкін, т.б.
Жалпы, Delphi-де программаның орындалуы автоматты түрде негізгі
модульді орындаудан басталады.
Модуль-түрлі іс-әрекеттерді орындауға арналған программа бөлімі.
Модуль тақырыбы Unit (модуль) қызметші сөзінен басталып, соңына әдеттегідей
нүктелі үтір (;) таңбасы мен аяқталатын модуль атауы жазылады. Delphi-дің
модульге алғашқы рет меншіктейтін атауы- Unit1. Жаңа проект ашылған кезде
модуль дайындамасы да автоматы түрде құрылады:
unit Unit1;
Interface Uses
Windows, Messages, SysUtils, Clfsses,
Graphics, Controls, Forms, Dialogs;
Type
Tform1=class(TForm)
Private
{Privare declarations}
public
{Public declarations}
end;
var
Form1: Tform1;l
Implementation
{$R*.DFM}
end.
Интерфейс (interface) бөлімі interface кілттік сөзімен басталады да
оған бөлімдер енгізіледі: uses - Турбо Паскальда пайдаланатын бөлім сияқты,
оған стандартты модуль атаулары жазылады, бөлімге пайдаланушы пайдаланған
модуль атауын кірістіріп қоюы да мүмкін. Одан әрі, Delphi дайындалған форма
типі сипатталады (онда өрістер, қасиеттер, компоненттер сипатталып, олардан
соң модульде жазылатын процедуралар мен функциялар (программа элементтері)
жарияланады, т.б.).
Private (жеке, дербес) бөліміне тек ағымдық модульге тиісті элементтер
енгізілуі мүмкін (элемент - өрістер, тәсілдер, қасиеттер мен оқиғалар);
Public (көпшілік) бөлімінің ішінде ағымдық модульге қол жеткізуге болатын
кез келген программа не модульдің көрінетін элементтері, облыстары
енгізіледі. Олар класқа енетін элементтердің пайдалану облыстарын ғана
анықтайтын болғандықтан, әдетте (көп жағдайда) олар бос көрінеді.
Implementation (іске асыру, орындау) бөліміндегі {$R*.DFM}-.dfm
кеңейтілуі бойынша жазылған файлды пайдалану нұсқаукы. Ол модульді сәйкес
форманың сипаттамасымен байланыстырады (файла форма қасиеттерінің мәндері
жазылып қойылған. Ол формаға қойылған компоненттер қасиеттерінің де
сипаттамаларын бойында сақтайды. Қасиеттер сәйкес Objiect Inspector
терезесінде көрінеді). Одан соңғы қатарларға программалаушы Delphi тілінде
қажетті процедураларды қолдан кірістіру керек. Олардың ішіндегі оқиғаны
өңдеуіш процедуралардың тақырыптары модульдің интерфейс бөлімінде автоматты
түрде жазылып қойылады, мысалы, 3.7.4, 3.11-тақырыптары өңделетін арнайы
информация үшін толық модульдер құрылған.
Кейде модульдің соңына инициалдау (initialization) бөлімі енгізіледі.
Бөлім модуль айнымалыларын инициалдау (бастапқы мәндер беріп), программаны
дайындау үшін қажет. Егер де толтырылса, бұл бөлім басқаруды программа
денесіне беру ден бұрын орындалады. Бөлім нұсқауларын begin және end
кілттік сөздерінің арасына енгізу керек. Жоғарыда көрсетілген сиқты, бөлім
толтырылмаса, begin сөзі жазылмай, оған тек end өзі енгізіледі. Ол –
модульдің соңын білдіретін кілттік сөз.
Лекция 3. Берілгендерді енгізу және шығару
1. Берілгендерді жекедиалогтық терезеде енгізу. InputBox
функциясы
2. Стандартты типті- түрлендіру функциялары
3. Берілгендерді жеке диалогтық терезеде шығару. Showmessage
процедурасы
4. Берілгендерді формада енгізу және шығару. TЕdit, Tlabel,
TButton класстары және олардың қасиеттері
1. Берілгендерді жеке диалогтық терезеде енгізу. InputBox функциясы
Delphi –де айнымалы мәнін жадқа енгізу үшін Турбо Паскальда
пайдалынылатын Read (оқу ) операторы жоқ. Программада ол үшін басқа
тәсілдердің қолданылуы мүмкін :
1) менщшіктеу;
2) енгізу терезесін пайдалану;
3) форманың Edit компоненті өрісін пайдалану.
Меншіктеу командасының программада жазылуы әдеттегідей , мысалы,
х:=4.7;
Енгізу терезесі Delphi-дің стандартты InputBox функциясының терезесі.
Программада InputBox (енгізу қорабы ) функциясын пайдалану командасының
жазылу үлгісі:
айнымалы := InputBox (‘тақырып ’,’түсініктеме ’,’мән’)
мұндағы,
айнымалы –мәні енгізу терезесіне енгізілетін жолдық типті
айнымалы атауы (InputBox функциясының мәні әр кезде жолдық (String)
типті. Мән меншіктелетін айнымалы (х) программада х: String; түрінде
сипатталуы тиіс);
Тақырып-енгізу терезесінің тақырыбы ретінде жазылатын мәтін;
Түсініктеме- енгізу терезесінің ішінде жазылатын түсініктеме мәтін;
Мән-енгізу терезесі көрінген кезде оның енгізу өрісінде
көрінетін мәтін. Әдетте оны бос символдық етіп енгізеді. Мысалы ,х:=4.7
меншіктеу командасын InputBox функциясын пайдаланып, мынадай түрде
беруге болады:
х:= InputBox (‘Аргумент мәні ’, ‘х:=’ ‘’ )
Команданың орындалу барысында көрінетін терезе 1.6- суретте
көрсетілген .Терезенің енгізу өрісіне 4,7 мәнін енгізіп, ОК түймесін
шерту керек (не КҚ клавишін бауғада болады).
Ескерту. Windows-тың күйге келтіріліп қойылуына байланысты нақты
сан әдеттегідей үтір (,) арқылы бөлініп енгізілуі мүмкін. Ол
меншіктелетін айнымалы (х) жолдық типті болғандықтан, қажет болса, оны
сандық типті етіп түрлендіру керек.
1.6- сурет. Енгізу терезесі
2. Стандартты типті- түрлендіру функциялары:
1- кесте
Функция Орындайтын іс -әрекетті
StrToFloat(x) Кескіні жолдық типті болатын х нақты санын
қалпына келтіру
FloatStrTo (x) х нақты санын жолдық типті ету
FloatStrToF х нақты санын форматты жолдық типке
(x,f,s,o) түрлендіруүМұндағы f-формат (кескіндеу форматы ). Ол
көбінесе ffGeneral не ffFidex түрінде жазылады;
s-барлық цифрлар саны (дәлдік);
о-ондық нүктеден соң жазылатын цифрлар саны (ондық
дәлдік ), мысалы, FloattostrF(x,ffFidex,7.3 );
StrToInt(x) Кескіні жолдық типті х бүтін санаын қалпына
келтіру ;
IntToStr(x) Х бүтін санын жолдық типті ету
(IntToStr-Integer to string, т.с.с.)
Ескерту. 1. FloatStrToF функциясының форматын (f) ffExponent
түрінде жазуғада болады. Ол санды экспонеттік етіп дөңгелектейді.
2. Delphi-де Турбо Паскальда қолданылатын Str(x,s) және оған
кері Val(s,x,code) типті түрлендіру процедураларында пайдалану
мүмкін.Мысалы, x=25 болса, Str(x,s) процедурасының орындалу
нәтижесі:s=’25’;s=’54’ болса Val(s,x, code) процедурасының орындалу
нәтижесі :x=54, code=0.
3. Берілгендерді жеке диалогтық терезеде шығару. Showmessage процедурасы
Delphi-де берілгендерді Showmessage (мәліметтерді көрсету)
процедурасының терезесіне шығаруға болады. Процедураның (оператордың)
жазылу түрі.
Showmessage(s);
Мұндағы s-жолдық типті өрнек .Егер ол сандық типті болса оны жолдық
типке түрлендіру үшін s аргументінің орнына типті түрлендірудің сәйкес
функциясын енгізу керек. Мсыалы, s нақты типті сан болса, оны шығару
терезесінде көрсету операторының мынадай түрде жазылуы мүмкін:
Showmessag(FloatToStr(s)); не
Showmessag((FloatToStr(s,ffgeneral, 7,3));
Жүйе соңғы операторды оқып шығып, жеті цифрдан тұратын нақты санды
символдық типте шығару терезесінде көрсетеді.
4. Берілгендерді формада енгізу және шығару.
TЕdit, Tlabel, TButton класстары және олардың қасиеттері
Компоненттер понеліне формаға оқиғаларды өңдеуіш процедуралар
тудыратын түрлі компоненттер (интерфейс элементтерін) орнатып, программа
нәтижесін форма терезесінде көрсету – Delphi-де визуальды прогрммалаудың ең
түйінді негізі. Әсіресе, ол үшін компоненттер понелінің Standart бетінен
мәтіндермен жұмыс істейтін TЕdit, мәтін енгізілетін TLabel және командалық
TButton компоненттері жиі пайдаланады. Мысалы, формаға Еdit1 редакциялау
өрісін орнатып, оның Text қасиеті арқылы не іске қосу командасын берген соң
оған курсорды енгізіп, клавиатура арқылы бір жолдық мәтін енгізуге және оны
редакциялауға болды. (Оны таңдап, буфер арқылы формада орнатылған екінші
Еdit өрісіне көшіруде мүмкін.)
Формада орнатылған Label, Еdit компоненттерінің Caption, Text
қасиеттеріне праграмма арқылы қол жеткізу – паскальдағы жазу өрісіне қол
жеткізу сияқты. Алдымен обьект атауы жазылып, одан соң нүкте қойылады да,
оның соңына қасиет атауы енгізіледі. Қасиетке мән меншіктеу тәсілі
әдеттегідей. Мысалы:
Label1. Caption:=’біз студенттерміз’;
Еdit1 өрісіне енгізілген қарапайым мәтінді (S) Label1 –өрісіне шығару
да мүмкін. Ол үшін процедура денесін мынадай етіп алу жеткілікті (Еdit1.
Text- Еdit1 обьектісінің Text қасиетін программа арқылы орындау әдісі):
Var s string;
Begin
S= Еdit1. Text;
Label1. Caption :=s;
End;
Формада TButton (түйме) компонентін орнатып, оны программаны іске қосу
түймесі ретінде пайдалану қыйын емес.
Осы класстардың тағы да бірнеше қасиеттерін қарастырайық.
TLabel:
- AutoSize: Boolean - компонент көлемі ішіне жазылған текстке
қатысты өзгеру не өзгермейтіндігін белгілейді,
- Layout: TТextLayout; - компонент ішіндегі тексттің вертикаль
бойынша реттелу түрін анықтайды.
- Transparent: Boolean; - компонент фоны мөлдір болуын не болмауын
анықтайды.
TEdit:
- BorderStyle: TSaticBorderStile; - компонент айналасында рамканың
болуын (болмауын) анықтайды.
- SelText: string; - тексттің ерекшеленген фрагменті (ТMemo классы
үшін де тиісті).
тәсілдері (басқа да текстпен жұмыс істейтін компоненттерге де тиісті):
- Procedure Сlear; virtual – бүкіл текстті жояды.
- Procedure ClearSelection; - ерекшеленген текстті жояды.
- Procedure CopytoClipboard; - ерекшеленген текстті алмасу буферәне
көшіреді.
- Procedure PasteFromClipboard;- алмасу буферіне көшірілген текстті
курсор тұрған орынға қояды.
Лекция 4. Программалау элементтері
1. Берілгендер. Өрнек
2. Программаның жалпы түрде құрлымы.
3.Тармақталу командасы. Таңдау комадасы. Case операторы
4. Циклдер
1. Берілгендер. Өрнек
Автоматты құрылғының не адамның өңдеуіне бейімделіп дайындалған
сандық;символдық, мәтіндік т.б. инфармацияны(ақпаратты) берілгендер деп
атайды.Программаны орындау барысында мәні программа мәтінінде көрсетілген
қалпынан өзгермейтін шаманы тұрақты деп, мәні өзгеріп отыратын шаманы
айнымалы деп, айнымалыға берілген атауды идентификатор деп те атайтыны
беолгілі.
Delphi Object Pascal программалау тілін басшылыққа алып құрылған.Онда
пайдаланылатын көптеген операторлар (нұсқаулар), кілттік сөздер,
айнымалыларды сипаттау және программа құрылымы Турбо Паскаль программлау
тіліне негізделген.
Delpihi-де жиі пайдаланылатын берілгендер типтері:
Integer, Real, Char, String, Boolean
(Integer-бүтін, real-нақты, char-символ, string-жол, booean-логикалық).
Айнымалы атауы үшін латын алфавитінің әріптерін және цифрлар мен
кейбір басқа символдарды алуға болады, ол үшін кілттік сөздерді алуға және
бос орын (‘’) символын енгізуге рұқсат етілмеген. Атау тек әріппен басталуы
тиіс.
Жүйе атауды оқып шыққан соң мәшине жадында ол үшін арнайы ұяшықтар
блогын бөледі де, мәнді сонда сақтайды (яғни айнымалы берілгендер
сақталатын жад облысы).Айнымалы атауы программаның var бөлімінде
сипатталуы міндетті (variable-айнымалы, кілттік сөз).
Мысалы, программаға енгізілген
a1:=521; a2:=45; a3:=7; a4:=5, 8; simb:=’k’;
меншіктеу командалары үшін айнымалылар мынадай түрде сипатталуы тиіс:
var a1:integer; a2, a3:byte; a4:real; simb:char;
мұндағы а2, а3 айнымалыларын integer арқылып сипаттап,
а1, а2, а3:integer;деп жазуға болады.
Ескерту. Мәндері integer типті болатын айнымалылардыңсипатталуы тиіс.
Мысалы, а1:=40; a2:=5; b:=a1a2; меншіктеу нұсқауларының орындалу
нәтижесінде b мәні 8-ге тең, бірақ b-ның сипатталуы:b : real;
Өрнек- берілгендермен әрекет жүргізіліп, мән өндірілетін тұжырымды
жазу.Арифметикалық өрнектің, меншіктеу операторының, т.б. жазылуы Турбо
Паскальдағы сияқты, мысалы, y:=5(3*x+1); z1:=’a; Мұндай операторлардың
орындалуы үшін айнымалы атауы мен өрнек мәнінің типтері бірдей болуы тиіс.
Математикалық өрнекке түрлі операциялар енгізілуі мүмкін.
Мысал.
мәндерді қосу, азайту, көбейту, бөлу(+, -, *, ), т.б.;
mod (бүтін сандарды бөлуде шығатын қалдық );
div (бүтін сандарды бүтін бөлу);
and (және), or (немесе), not (емес );
chr (13) не #13-жаңа жолдан бастау коды.
Өрнекке енгізілген плюс (+) таңбасы элементтердің типі не сәйкес түрлі
әрекеттер орындайды:
-сандарды қосу;
-жолдық типті берілгендерді біріктіру (жалғастыру).
and, or, not-құрама шарттарда пайдаланылатын кілттік сөздер.
Программаға енгізілген математикалық өрнекте типтерді түрлендіру
функциялары жиі пайдаланылады.
2. Программаның жалпы түрде құрылымы
Программаға ретімен мынадай бөлімдердің енгізілуі мүмкін (программа
құрылымы):
программа тақырыбы (procedure не function);
ен бөлімі (label);
тұрақтылар бөлімі (const);
айнымалылар бөлімі (var);
қосалқы программалар бөлімі (процедуралармен функциялар);
операторлар бөлімі.
Delphi-де тиянақты бір іс-әрекетті орындайтын программалық элемент жеке
процедура арқылы жазылады.Мысалдар келесі тақырыпта берілген.
Түсініп оқуға жеңіл болуы үшін күрделі программаның қажетті жерлеріне
түсініктеме мәтіндер енгізіліп қойылады. Түсініктеме оператор алдында
енгізілсе, фигуралық жақшалар ({}) ішінде орналастырылады. Егер ол оператор
соңында енгізілсе, алдында\\ (екі теріс көлденең сызық) символдары
жазылады.Соңғысын тек бір жолдық түсініктемеде пайдалану мүмкін. Мысалы,
1.{Трапеция ауданы}
s:=(a+b)*h2;
2. s:=(a+b)*h2; \\ трапеция ауданы
Компьютер түсініктемені оқымай тастап кетеді, ол тек пайдаланушыға
программаның жазылуын түсінуді жеңілдету үшін қажет.
3.Тармақталу командасы. Таңдау комадасы. Case операторы
Тармақталу командасының қысқа және толық нұсқалары бар. Олардың жазылу
түрлері.
if p then s қысқа нұсқа
if p then else s2 толық нұсқа
мұндағы Р- шарт, S, S1, S2- орындалу тиіс сериялар (бір блоктық
оперторлар). Егер блок бірнеше операторлардан тұрса, олар бір құрама
оператор ретінде қарастырылып, begin-end операторлық жақшалардың ішінде
жазылады (мұндағы ескертетін жайт- программа денесі де бір сыртқы блок
ретінде қарастырылады):
if p then begin
S1
end
else begin
S2
end;
Блокқа енгізілген тек біреу болса, оны операторлық жақшаларға алу
міндетті емес.
If (егер) командасының орындалу стандарты Паскальдағы сияқты: егер шарт
орындалса, онда then кілттік сөзінен соң жазылған блок, шарт орындалмаса
else кілттік сөзінен соң жазылған блок орындалды.
Таңдау командасы- көп сериалы тармақталу командасы. Әдетте ол Case
(қорап) операторын пайдаланып құралады.
Оператордың жазылу үлгісі:
Case өрнек of
1-тізім: begin
S1
end;
2-тізім: begin
S2
end;
n- тізім: begin
Sn
end;
end;
мұндағы
өрнек- мәні бойынша сәйкес тізім нұсқаулары (S1, 2, ..., Sn)
орындалатын өрнек. Көбінесе ол мәні case операторының алдында енгізілетін
айнымалы түрінде алынады;
k- тізім сұрыптаушы (таңдаушы) делінеді Ол үтір арқылы ажыратылып
жазылатын тұрақтылар тізімі (к=1, 2, ...n).
Тізім орнына бір тұрақтыны не тұрақтылар аралығын алуға болады.
Ралық екі нүкте арқылы ажыратылып жазылады. Мысалы: 3.4.5.6 тізімін 3...6
аралығымен ауыстыру мүмкін: егер айнымалы (х)мәні (-(;2) аралығында алынса
таңдаушыны x2 деп жазуға болады. Сәйкес тізім нұсқаулары орындалып болған
соң басқару case операторынан соңғы нұсқауға беріледі. Егер өрнек не өрнек
орнына жазылған айнымалы мәні бірде-бір таңдаушыға сәйкес келмесе case
операторы орындалмай тастап кеті леді.
4. Циклдер
Циклдердің қолдану тәсілдері стандартты Турбо Паскальдағы
сияқты.While(әзірше), Repeat (дейін), For(үшін) циклдік құрылымдардың
жазылу үлгілері:
1) While P do
Begin
S
End;
2) Repeat
S
Until (not P);
3) For k:=k0 to kn do
begin
S
End;
Мұндағы P-шарт; do -орындау (кілттік сөз);
S – цикл денесі;
Until-дейін (кілттік сөз);
K-бүтін типті есептегіш
(цикл параметрі);
k0 , kn -есептегіштің
бастапқы , соңғы мәндері.
Лекция 5. Көмекші программалар
1. Көмекші программалар
2. Функция
3. Модуль құру
1. Көмекші программалар
Программа үстінде жұмыс істей отырып, программист кейбір инструкциялар
қатары бірнеше рет программаның әр түрлі бөлігінде қайталанатынын байқайды.
Программада осындай қайталануларды болдырмауға болады. Бұл үшін
программада бірнеше рет қайталанатын инструкциялар қатарын көмекші
программа ретінде жариялап, қайталанған жерлеріне осы көмекші программаны
шақыру инструкциясын қойып шығу керек.
Көмекші программаны қолданудың артықшылықтары бар. 1-шіден, программада
кодтың қайталануы болмайды, демек программа құруды жеңілдетеді, әрі
өзгерістер енгізу және отладка жасау процессін ыңғайлы етеді. 2-шіден,
прогамманың сенімділігі біршама артады. Көмекші программаларды тек
қайталануды болдырмау үшін ғана қолданбайды. Үлкен мәселені бірнеше кіші
ішкі мәселелерге бөліп, әр мәселені көмекші программа ретінде құру ыңғайлы.
Бұл жағдайда программаның оқылуы жақсарады, әрі отладка процессі
оңайланады.
Көмекші программа – бұл жалпы ортақ мәселенің бір бөлігін шешетін
кішігірім программа. Delphi-де көмекші программаның екі түрі бар: процедура
және функция
Әрбір көмекші программаның атауы бар, ол оны программа ішінде шақыру
үшін қолданылады.
Функцияның процедурадан айырмашылығы мынада: функция атауына мән
(функцияның нәтижелік мәні) байланыстырылған, сондықтан функцияны өрнек
операндасы (мысалы меншіктеу) ретінде қолдануға болады.
Көмекші программаның әдетте, параметрлері бар болады. Олар формальді
және нақты болып бөлінеді.
Функцияны жариялағанда көрсетілетін параметрлер формальді деп аталады.
Процедураны шақыру инструкциясында көрсетілетін параметрлер нақты деп
аталады.
Параметрлер
• көмекші программаға берілгендерді жіберу үшін
• көмекші программаның нәтижесін алу үшін
қолданылады.
Жалпы жағдайда процедураның нақты параметрі ретінде типі сәйкес
формальді параметрдің типімен бірдей болатын өрнекті қолдануға болады.
2. Функция
Функция — бұл көмекші программа, яғни, бір ғана ортақ атау берілген
инструкциялар қатары. Функцияның инструкцияларына өту процессі функцияны
шақыру деп аталады. Функцияның инструкцияларынан программа дағы осы
функцияны шақыру инструкциясына өту - функциядан қайту деп аталады.
Жалпы түрде функцияны шақыру инструкциясы мынадай көріністе болады:
Айнымалы := Функция (Параметрлер) ;
Мыналарға көңіл аудару қажет:
• әрбір функция белгілі бір типтегі мәнді қайтарады, сондықтан
функцияның мәні меншіктелетін айнымалының типі функция типіне сәйкес
болу керек;
• әрбір нақты функция үшін параметрлер сан мен типі қатал анықталған.
Жалпы түрде функцияның жариялануы мына көріністе болады:
function Атау (параметр1 : тип1, ..., параметрК : типК) : Тип;
var мұнда локал айнымалылардың сипатталуы
begin
мұнда функция инструкциялары
Атау := Өрнек;
end;
Мұнда:
• function — Delphi тілінің қызметші сөзі, ол өзінен кейін функция
инструкциялары жазылатындығын білдіреді;
• атау — функция атауы. Программадан функция инструкцияларына өту үшін
қолданылады;
• параметр — мәні функция мәнін есептеу үшін қолданылатын айнымалы.
Кәдімгі айнымалыдан айырмашылығы, ол var сөзімен басталатын
айнымалыларды сипаттау бөлімінде емес, функцияның атауында
сипатталады. Нақты мәніне параметр программаның жұмысы барысында
негізгі программадан функцияны шақыру нәтижесінде ие болады;
• тип — функцияның шақырған программаға қайтаратын мәнінің типі.
Төмендегі мысалда isint және isFioat функциялары келтірілген. isint
функциясы редакторлау өрісіне бүтін санды енгізу барысында басылған перне
символы рұқсат етілген не етілмегендігін анықтайды. Сандар, Enter ,
Backspace пернелеріне рұқсат етілген деп есептеледі. IsFloat функциясының
міндеті де осындай, бірақ, бөлшек сандар үшін. IsFloat функциясының екі
параметрі бар: басылған перне коды және редакторлау өрісіне енгізіліп
қойылған символдар қатары.
Функцияға мысал бүтін санды енгізу кезінде енгізілген символдың
рұқсат етілген не етілмегендігін анықтайды
function Islnt(ch : char) : Boolean;
begin
if (ch = '0'} and (ch = '9') сандар
or (ch = 113) Enter пернесі
or (ch = #8) Backspace пернесі
then Islnt := True символ рұқсат етілген
else Islnt := False; рұқсат етілмеген символ
end;
бөлшек санды енгізу кезінде енгізілген символдың
рұқсат етілген не етілмегендігін анықтайды
function IsFloat(ch : char; st: string) : Boolean;
begin
if (ch = '0') and (ch = '9') сандар
or (ch = #13) Enter пернесі
or (ch = #8) Backspace пернесі
then
begin
IsFloat := True; дұрыс символ
Exit; функциядан шығу
end;
case ch of
'-': if Length(st) = 0
then IsFloat := True; ',':
if (Pos(',',st) = 0)
and (st[Length(st)]'= '0') and (st[Length(st)] = '9')
then бұрын енгізілмеген болса үтір белгісін цифрдан соң енгізуге
болады
IsFloat := True; else басқа символдарға рұқсат етілмейді
IsFloat := False;
end;
end;
3. Модуль құру
Delphi программистке өз функциялары мен процедураларын жеке модульге
орналастыруға, бұдан соң осы модульдің процедура мен функцияларын
программада пайдалануға(uses модульдер тізімінде өз модулінің атауын
көрсету керек) рұқсат етеді.
Модуль құру үшін форма мен модуль терезесін жабу қажет ( сақтауды
ұсынған терезеде No –ді таңдау қажет, яғни, жабылған форманың модулін
сақтау керек емес). Бұдан соғ File мәзірінен New - Unit командасы
таңдалады. Нәтижеде код редакторының терезесі ашылады. Мұнда
қалыптастырылған модуль шаблоны бар. Оның мәтіні төменде келтіріледі.
Модуль шаблоны
unit Unit1;
interface
implementation
end.
Модульді сақтау кезінде Unit1 атауы программист берген атауға автоматты
түрде алмастырылып қойылады.
Interface бөліміне басқа модульдер шақыра алатын осы модульдің
процедура мен функциялары жарияланады.
Implementation (реализация) бөліміне interface бөлімінде жарияланған
процедуралар мен функциялар орналастырылады.
Модуль File- Save командасымен сақталады. Мұндай модульдерді жеке
папкаға (мысалы Units атауымен) сақтаған дұрыс.
Модульді пайдалану. Программада модульдің функция мен процедураларын
пайдалана алу үшін программист осы модульді жобаға қосып, оның атауын
пайдаланылатын модульдер тізімінде көрсетуі керек.
Лекция 6. Объектілі-бағдарлы программалау тәсілі
1. Объектілі-бағдарлы программалау тәсілі жөнінде
2. Мұрагерлік. Инкапсуляция. Полиморфизм.
1. Объектілі-бағдарлы программалау тәсілі жөнінде
Бейсик, Паскаль сияқты дәстүрлі программалау тілдерінде күрделі, үлкен
программаларды дайындаудың кемшілігі – ол үшін программалаушылар тобының
көп күш жұмсауы қажет болатын. Программалауды жеңілдету үшін 80-жылдары
объект, класс (object, class) ұғымдары енгізіліп, объектілі – бағдарлы
программалау (ОБП) тәсілі негізге алынды. ОБП – Паскальда қолданылатын
процедуралық және құрылымдық программалаудың және модуль құрудың дамытылған
түрі. Ол берілгендерді белгілі бір абстракциялық деңгейде көрсетіп,
модульдік программалауды пайдаланады. Мысалы, Visual Basic программалау
жүйесі объектілі программалау тәсілін пайдаланып, Qbasic тілі негізінде
визуальды түрде құрылған. Паскальдың ОБП тәсілін пайдаланып құрылған жаңа
нұсқасы Object Pascal (Объектілі Паскаль) деп аталады. Delphi осы тілдің
негізінде дайындалған. Объектілі программалаудың ыңғайсыздығы – онда
дәстүрлі программалау тәсілдері пайдалана берілмейді, бірақ ондағы көп
қиындықтар арнайы тәсілдерді пайдалану арқылы тез шешілген.
ОБП тілінің дәстүрлі программалау тілдерінің өзгешелігі – онда,
өрістерге қоса, мынадай ұғымдар негізге алынған: класс, объект, өңдеу
тәсілі, объект қасиеті және оқиға.
Өрістер – Турбо Паскальдағы жазу (record) типінің өрістері сияқты;
Қасиеттер – объект сипаттамалары (параметрлері);
Тәсілдер – кластың өрістері мен қасиеттерін өңдеу процедуралар
мен функциялар;
объект – түрлі мәндердің қасиеттері тәсілдерінің жиынтығы;
оқиға – объект жағдайының өзгеруі.
Класс - өрістер, қасиеттер және тәсілдерінің бірлігінен тұратын тип,
не, жалпы түрде, өңдеу тәсілдері не қасиеттері ортақ түрде сипатталатын
объектілер (нысандар) жиынтығы.
Жүйе объект үшін жадтың динамикалық облысынан арнайы орын қалдырады.
Яғни, шын мәнінде, объект жай айнымалы емес, ол – жадтың динамикалық
облысының кездейсоқ адресін сақтайтын көрсеткіш. Бірақ программада оған
Турбо Паскальда пайданылатын көрсеткіш белгісі (^) енгізілмей жазылады.
Объект құрылған кезде автоматты түрде конструктор (constructor) деп
аталатын тәсіл шақырылып, ол объектіні динамикалық облыста орналастырады,
динамикалық жадтан объектіні арнайы деструктор (destructor) тәсілі жояды.
Сонымен, ОБП –да пайдаланылатын объект сөзінің екі мағынасы бар: нақты
объект (мысалы, геометриялық дене, формада орнатылған компонент, т.б.) және
айнымалы (абстрактты, дерексіз объект). Delphi-де екінші объект нақты класс
данасын анықтайды.
Класқа иерархиялық (бағынышты, жоғарыдан төмен) кластардың енуі де
мүмкін. Мысалы, геометриялық фигуралар класы жазық фигуралар және кеңістік
фигуралары болатын екі ішкі кластық фигураларға бөлінеді. Ал жазық
фигуралар класы төбелері бар (үшбұрыш, көпбұрыш) және төбелерсіз (шеңбер,
эллипс) болып екі ішкі класқа бөлінеді. Объектілі программалауда барлық
кластар иерархиялық түрде негізгі Tobject класынан тарайды (Tobject (
Tpersistent ( Tcomponent ( ...). Әдетте негізгі класты аталық, бағыныңқы
кластарды ұрпақ не сәбилік кластар деп атайды (Tobject – барлық кластардың
арғы атасы, Tcomponent – барлық иерархиялық компоненттердің жоғарғысы
(компонент деп Tcomponent класының мұрагері болатын класс данасын атайды)).
Әр ұрпақ өзінің аталық класының мүмкіндіктерін (өрістерінің, қасиеттерінің,
тәсілдерінің сипаттамаларын) қабылдайды. Мысалы, Tobject класының Create
(бастапқы мән меншіктеу (инициалдау)) тәсілі барлық ұрпақ кластарға тиісті
(Tobject класында конструктор Create деп аталады). Әр ұрпақ өзіне қосымша
жаңа мүмкіндіктер (сипаттамалар) қосып, келесі ұрпақтарға беруі мүмкін.
Delphi –де класс атауын Т әрпінен бастау келісілген. Формаға енгізілген
компонент данасын сандық индекс қосылған класс атауымен аталады.
Ұрпақ кластың сипатталу түрі:
type
ұрпақ класс атауы = class (негізгі класс атауы);
end;
var
объект : класс атауы;
мұндағы класс мүшелері - өрістер, қасиеттер және тәсілдер.
Мысалы,
type
Tform1= class (TForm)
Button1 : TButton;
Label1 : TLabel;
Procedure Button1 Click (Sender : TObject);
end;
var Form1 : Tform1;
TForm1 = class (TForm) жазуы Tform класының үлгісімен құрылатын жаңа
(ұрпақ) TForm1 айнымалысы – класс данасы.
Программаны дайындау барысында Delphi модульдің Interface бөліміне
формаға енгізілген компоненттер мен оқиғасы таңдалған тәсілдерді сипаттауды
автоматты түрде енгізеді, тәсілдерді іске асыру нұсқаулары модульдің
inplementation бөліміне қолдан жазылады.
Жалпы, Delphi –де класс деп өзіне ұқсас даналарды дайындау үшін үлгі
түрінде алынатын, толық түрде дайындалған программа үзіндісін де атайды.
Программалаушы бұрын дайындалған класс данасының көшірмесін түрлі
программаларға не бір программаның түрлі жерлеріне енгізіп, программалауды
және оның көлемін көп жеңілдетуіне болады.
Delphi құрамына жүздеген дайын кластар енгізілген. Әр компонент қатаң
түрде тек бір класқа ғана тиісті. Мысалы, Delphi – де форма (TForm)
компоненті - Forma класына тиісті, осы типті айнымалы (Form1) – класс
объектісі. Класс бөлігі ретінде сипатталып, модульдің
Inplementation (іске асыру) бөлігінде мәтіні жазылатын сәйкес процедура
- тәсіл, мысалы, procedure TForm1.Button1Click.
Форма ішіне орналастырылған TЕdit компонентінің Edit1 данасын
(объектісін) екі рет шерткен кезде пайда болатын оқиғаны өңдеу тәсіліне
(процедурасына) мысал:
procedure TForm1.Edit1Click(Sender : TObject);
begin
Edit1.Text:=’Сіз редакциялау өрісін екі рет шертіңіз’;
end;
программаны іске қосу командасы берілген соң компилятор автоматты түрде
негізгі модульге енгізілген төмендегі екі тәсілді орындайды:
Application.CreateForm(TForm1, Form1);
Application.Run;
Бұлардың біріншісі жадта Form1 объектісін құрады (объектіні
инициалдайды), екіншісі Application объектісіне қосымшаның негізгі формасын
іске қосуға нұсқау береді (Run). Жоғарыда жазылған процедураның орындалу
нәтижесінде форманың Edit1 өрісіне оның Text қасиетіне меншіктелген мәтін
жазылады.
Ескерту. Белгісіз жағдайда программада тәсілді не қасиет орнату
командасын иерархиялық түрде жазу қажет, мысалы:
TForm1.Button1.FontSize:= 14;
Мұндағы иерархияның бірінші объектісі – форма (Form1), екінші объект –
формада орнатылған Button1 түймесі, үшінші объект – түйменің шрифт
қасиеті; команда – форманың Button1 объектісіне енгізілген FontSize
(шрифт өлшемі) айнымалысына 14 мәнін меншіктеу. Яғни, объектілер арасына
қойылатын нүкте сәйкес иерархиялық объектіге сілтеме.
2. Мұрагерлік. Инкапсуляция. Полиморфизм.
ОБП –да класс үшін мұрагерлік, инкапсуляция және полиморфизм принцптері
енгізілген.
Мұрагерлік-программада негізгі класс типінің ұрпақ иерархиялық
кластарда да сақталуы. Мысалы.көлік, жеңіл жүк машинасы т.б.. болып
бөлінеді. Олардың жұмыс істеу жағдайына байланысты, сипаттамаларына ортақ
және бөлек өрістер, қасиеттер мен тәсілдер енгізілуі мүмкін. Әр қайсысында
тип элементтерін толық сипаттау тиесілі емес. Бірінің типін аталық
(негізгі) етіп қабылдап, екіншісіне қосымша қасиеттерді енгізу
жеткілікті.Delphi-дің барлық кластары TObject класына мұрагер.
Инкапсуляция (ішінде, біртұтас ).Класс өрістер, қасиеттер және
тәсілдердің бірлігінен тұрады.Олардың бір тұтатас түрінде қарастыру
инкапсуляция деп аталады. Әр класс аяқталған толық бір іс-әрекетті
бойында сақтайды. Кластың мұндай принципі өзінде инкапсульдайды делінеді.
Класта инкапсульданған процедуралар – функциялар, тәсілдер.
Полиморфизм (көп түрлілік)-мұрагер кластардың аталық класқа
енгізілген тәсіл атауы бойынша басқа қасиеттер енгізілген тәсіл атауы
бойынша басқа қасиеттер енгізілген ұқсас есепті шешуіне болатындығы, яғни
түрлі кластарда түрлі әрекеттерді орындайтын тәсілдерге бірдей атау беру
мүмкіндігі.
Лекция 7. TRadioButton, TScroolBar, TBitbtn, TPanel, TComboBox класстары
1. TradioButton, TscroolBar класстары және қасиеттері
2. TBitbtn, TPanel, TComboBox класстары және қасиеттері
1. TradioButton, TscroolBar класстары және қасиеттері
TRadio Button - байланысты ауыстырып - қосқыш ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz