Жобаның құрылымы:
Жобаның файлы Object Pascal тілінде жазылған және компилятормен өңделетін бағдарлама. Бұл бағдарламаны Delphi автоматты түрде құрастырады (1 сурет) және ол бірнеше жолдардан тұрады.
1- сурет. Жобаның құрылымы.
Бұл терезеге өту үшін: Проект – Показать исходный текст командасын орындау керек. Бағдарлама Program сөзінен басталып, End сөзінен кейін қойылған нүктемен аяқталады. Object Pascal тілінде көптеген арнайы сөздер әртүрлі нұсқау ретінде қолданылады, компилятор оларды солдан оңға және жоғарыдан төмен қарай оқиды. Жүйелі жақшаға {} алынған таңбалар түсініктеме ретінде қолданылады. Сонымен қатар, түсініктемені көрсету үшін (* түсінік сөз*) немесе // түсінік сөз// белгілерін қолдануға болады.
Бірақ {$R *.res} жолы түсініктеме емес, ол компиляторға берілген нұсқау(команда) болып табылады. Ол бағдарламаны ресурстар файлын қоса есептегенде компиляциялау керек екендігін баяндайды.
program Project1; мұндағы Project1 программа аты.
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
Unit3 in 'Unit3.pas';
Uses – сөзімен басталған сөйлем бағдарламаны осы сөзбен анықталған басқа файлдарда орналасқан модульдерді қоса есептегенде компиляциялау керек екенін хабарлайды.
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.Run;
end.
Әр оператор Application (Қосымша) объектінің белгілі бір әдісін шақыру жұмысын атқарады.
Application.Initialize; әдісі арқылы бағдарлама Windows-тың басқаруымен әртүрлі көмекші жұмыстарды орындайды. Application.Initialize әдісі шақырылғанда компилятордың құрастырған коды процессорды Delphi ортасының даяр тұрған командасын орындатуға мұқтаж етеді.
Application.CreateForm негізгі терезені құрастырып, оны экранда көрсетеді.
Application.Run; әдісі Windows –тан келген хабарды қабылдайды.
Жобаның коды, жоғарыда айтылғандай Delphi ортасымен құрастырылады және көптеген жағдайда бұл кодқа тиісуге тиым салынады.
Модульдер.
Модульдер – бағдарламаның үзіндісін орналастыру үшін қолданылатын бірлік. Модуль деп бағдарламаның белгілі бір тәуелсіз бөлігін атайды және олар стандартты немесе бейстандартты болып екі топқа бөлінеді. Модульдің коды бағдарламаның бет алысын анықтайды.
Модуль басқа модульдерде және бағдарламаларда пайдалану мүмкіндігін туғызатын бөлек компиляцияланатын әр түрлі типтердің анықтамалық бөлігінен және орындалатын операторлар жиынтығынан тұратын бағдарлама. Модульдер қолданбалы бағдарламалардың жиынын құрастыруға мүмкіндік береді және олар жадтың бөлек сегментінде орналасады. Жалпы модульдер бөлек орындала алмайтын бағдарлама. Модульдерді қолдану арқылы күрделі бағдарламалар құруға болады.
Кез келген модулдьдың құрамына келесі бөліктер енеді:
Тақырыбы;
Интерфейстік бөлігі;
Орындалатын бөлігі;
Терминатор (нүкте)
Модуль тақырыбы Unit арнайы сөзінен басталады, сонан соң модуль атауы және нүктелі үтір тұрады. Интерфейстік бөлігі interface, орындалатын бөлігі implementation –түйінді сөзімен басталады. Модульдің терминаторы End. Түйінді сөзімен аяқталады.
unit Unit1;
interface
uses - модульдер тізімі
const – тұрақтылар тізімі
type – типтер анықтамасы
private – бұл секцияда жарияланған айнымалы тек осы модульде көрінеді.
public – бұл секцияда жарияланған айнымалылар бұл модульге қатынайтын басқа модульдерге де көрінеді.
var - бұл секцияда жарияланған айнымалы тек осы модульде көрінеді.
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
end;
end.
ОБП тілінің негізгі ұғымдары:
объект, қасиет, тәсіл, объектілер класы, кластар иерархиясы.
Нақты Delphi тіліндегі қолданылатын объект, қасиет, тәсілдермен таныспас бұрын күнделікті өмірден бұл ұғымдарға мысалдар келтірейік.
Объект ретінде нақты нәрселер (машина, көпір т.б.) мен адам ойынан туындаған атауларды қолдануға болады. (өлең , математикалық теорема т.б.) Объектінің ақпараттық моделін оның қасиеттері білдіреді.
Қасиет – объектінің сипаттамаларын (өлшемі, түрі, түсі, көлемі т.б.), немесе объектінің күйін бейнелейтін объект атрибуты. Келесі кестеде объект пен оның қасиеттері келітірілген.
Объект аты
|
Қасиеті
|
Мұғалім
|
Аты
Еңбек өтілі
Пәні
|
Қатты диск
|
Көлемі
Бос орын көлемі
|
Құжат
|
Аты
Жасалу датасы
Орын алу көлемі
Орналасуы
|
Объект қасиеттерінің мәні
Объект аты
|
Қасиеті
|
Қабылдайтын мәні
|
Менің мұғалімім
|
Аты
Еңбек өтілі
Пәні
|
Нуржан Бахриденович
10 жыл
информатика
|
Менің қатты дискім
|
Көлемі
Бос орын көлемі
|
10 Гб
5 Гб
|
Менің құжат
|
Аты
Жасалу датасы
Орын алу көлемі
Орналасуы
|
Main.doc
2007 жыл, 10 қазан.
50 Кб
С:\Documents
|
Delphi тілінде объект қасиетінің қабылдайтын мәні меншіктеу командасы арқылы орындалады. Мысалы:
Form1.caption : = ‘программа’; {терезе тақырыбы: программа}
Form1.width : = 500; {терезе ені 500 пиксель}
Form1.heigth : = 1000; {терезе биіктігі 1000 пиксель}
Тәсіл – объектіге қатысты немесе объект жасай алатын әрекеттер.
Объект аты
|
Әдістер
|
Менің мұғалімім
|
Лекция оқу
Экзамен қабылдау
Конультация өткізу.
|
Менің қатты дискім
|
Форматтау
Көшіру
|
Менің құжат
|
Ашу
Оқу
Жазу
Атын өзгерту
|
Delphi тілінде тәсіл дегеніміз: объектіге қатысты немесе объект жасай алатын процедуралар мен функциялар.
Мысалы:
Form1.show; {пішінді көрсету}
Form1.close; {пішінді жабу}
Егер объектілер бірдей қасиеттер мен әдістерге ие болса онда олар объектілер класын құрайды.
Мысалы, Менің мұғалімім, оның мұғалімі, математика мұғалімі, информатика мұғалімі Мұғалім класынан тарайды. Объектілер класы ағаш құрылымдас болады.
Кластар иерархиясы
Насекомдар
Қанатты Қанатсыз
Шыбын Шіркей көбелек Құмырсқа Құрт
Бұндай иерархиялық құрылымда кластар арасындағы мұрагерлік қатынастар тарайды. Яғни екінші деңгейдегі класс бірінші деңгейдегі кластың қасиеттерін және әдістерін мұрагерлікке алады.
Мысалы:
Транспорт
Автомобиль Корабль Ұшақ
Жүк автомобилі Авианосец
Класс аты
|
Қасиеті
|
Тәсілі
|
Транспорт
|
Жылдамдық
Қуат
Құны
|
Алға жүру
|
Автомобиль
|
Жылдамдық*
Қуат*
Құны*
Маркасы
Жүрген жолы
|
Алға жүру
Артқа жүру
|
Жүк машинасы
|
Жылдамдық*
Қуат*
Құны*
Маркасы*
Жүрген жолы*
Жүк көтеру салмағы
|
Алға жүру
Артқа жүру
|
Корабль
|
Жылдамдық*
Қуат*
Құны*
Орналасуы
Су сыйымдылығы
|
Алға жүру
Артқа жүру
|
Авианосец
|
Жылдамдық*
Қуат*
Құны*
Орналасуы*
Су сыйымдылығы*
Ұшақ саны
|
Алға жүру
Артқа жүру
Ұшақты ұшыру
|
Ұшақ
|
Жылдамдық*
Қуат*
Құны*
Аты
Ұшу биіктігі
|
Алға жүру
Жоғару көтерілу
Төмен түсу
|
Қорытынды:
Объектіге – бағытталған программалау тілінде иерархиялық құрылымдағы объектілер қолданылады. Объектілер кластардан мұрагерлік принціпі бойынша тарайды. Яғни екінші класс бірінші деңгейдегі кластың бүкіл қасиеттеріне ие болады және өзінің арнайы қаситтерімен, әдістерімен толықтырылады.
Компоненттер.
Визуалды компоненттер кітапханасы
Delphi тілінде кластар, Визуалды компоненттер кітапханасы (Visual Component Library) деп аталатын күрделі иерархиялық құрылымнан тұрады.
Объектілер кластардан мұрагерлік принціпі бойынша тарайды. Яғни екінші класс бірінші деңгейдегі кластың бүкіл қасиеттеріне ие болады және өзінің арнайы қаситтерімен, әдістерімен толықтырылады.
Төмендегі суретте негізгі кластар иерархиясы көрсетілген. Қалғандары осы кластардан тарайды.
TComponent класынан тарайтын кластар компонент деп аталады, ал басқаларынан тарайтындары объект деп аталады. Компонент пен объектінің айырмашылығы: компонентті пішінде қозғауға, жылжытуға болса, ал объектімен ондай іс әрекет орындай алмаймыз. Мысалға VCL құрамына кіретін бірақ компонентке жатпайтын Tfont класын алайық.. Біз оны пішінге орналастыра алмаймыз, бірақ Label, Edit компоненттерімен жұмыс істегенде Tfont класынан тарайтын font қасиетін қолданамыз.
Тағы айта кететін жағдай TComponent класынан тарайтын барлық компоненттер визуалды емес. Мысалға Timer компоненті бағдарлама орындалу барысында көрінбейді.
Tobject класы
Tobject класы барлық кластардың негізін құрайды және ол объектілерді жасауға, басқаруға, жоюға мүмкіндік береді. Ол үшін төмедегідей объектінің тәсілдері қолданылады:
Constructor Great;
Жасалатын объектіге динамикалық жадыдан орын бөледі.
Destructor Destroy;
Объектіге бөлінген динамикалық жадыны босатады. Т.Б.
TPersistent класы
TPersistent класы Tobject класынан тікелей тарайды және қосымша жедел жады, дискілік файл т.б.-мен жұмыс істеуге арналған тәсілдерді (процедура, функция) қолдана алады.
TComponent класы
TComponent класы компоненттер иерархиясында ең жоғарғы орында тұр. TComponent класында анықталған қасиеттер мен тәсілдер барлық компоненттерге ортақ болып табылады. Бұдан қолданбаның өзі (TApplication) және пішін (TForm класы), қолданбада қолданылатын барлық компоненттер тарайы. TComponent класынан тікелей визуалды емес компоненттер тарайды: Timer, Tfont т.б.
TControl класы
TControl класынан тікелей визуалды компоненттер тарайды. Визуалды компоненттер арқылы, тышқан пен пернелер тақтасын қолданып, ақпаратты қолданбаға енгізуге немесе шығаруға, қолданбаны басқаруға болады. Сондықтан TControl класынан тарайтын кластар басқару элементтері деген ортақ атпен аталады.
TControl класында аналық басқару элементі (parent controls) деген ұғым енгізіледі.
Бір компоненттің ішіне екінші компонент орналасса бірінші компонент – аналық компонент болады. Аналық компонент ретінде: Tpanel, TScrollBox т.б. терезелік басқару элементтері (TWinControl) қолданылады. Егер компоненттер пішін үстіне тікелей орналасса онда анылық компонент пішіннің өзі болады.
Төмендегі қасиеттер аналық-балалық қарым қатынасты анықтайды.
Property Parent: TwinControl -ағымдағы басқару элементіне арналған аналық компонентті көрсетеді.
Property ParentСolor: Boolean- Аналық компонентте қолданылған түсті қолдана ма екенін көрсетеді, басқа жағдайда өз түсін қолданады.
Property ParentFont: Boolean- Аналық компонентте қолданылған шрифті қолдана ма екенін көрсетеді, басқа жағдайда өз шрифтін қолданады.
Property ParentFont: Boolean- Аналық компонентте қолданылған шрифті қолдана ма екенін көрсетеді, басқа жағдайда өз шрифтін қолданады.
Property Left: Integer- Басқару элементінің жоғарғы сол жақ бұрышынан бастап Аналық компоненттің сол жақ қабырғасына дейінгі ара қашықтықты пиксель санымен көрсетеді.
Property Top: Integer- Басқару элементінің жоғарғы сол жақ бұрышынан бастап Аналық компоненттің жоғарғы қабырғасына дейінгі ара қашықтықты пиксель санымен көрсетеді.
Property Width: Integer- Басқару элементінің енін пиксель санымен көрсетеді.
Property Heigdth: Integer- Басқару элементінің биіітігін пиксель санымен көрсетеді.
Property Align: TAlign- Басқару элементінің аналық компонентте туралануын анықтайды. (Қандай туралану бар екендігін үйде анықтаңдар)
Property Name: string – Компонент атын анықтайды.
Property Caption: string – басқару элементінің тақырыбын көрсетеді.
Property Сolor : TColor - басқару элементінің фон түсін анықтайды.
Property Enabled : Boolean – компонент тышқаннан немесе пернелер тақтасынан түскен оқиғаларға белсенділігін анықтайды.
Property Font : TFont - компонентте көрінетін текст түрін анықтайды.
Property Visible : Boolean - компоненттің экранда көрінуін анықтайды.
Сабақ тақырыбы: ‘Label’, ‘Button’ компоненттерін қолданып
Психологиялық тест программасын құрастыру.
Сабақ мақсаты: ‘Label’, ‘Button’ қасиеттері мен әдістерін программалауды үйрену.
Айнымалылардың көрсіну аумағын ұғыну.
Тармақталған алгоритмді қолдану дағдысын қалыптастыру.
Теориялық бөлім.
TLabel (метка) компоненті пішінге түсініктеме жазулар шығару үшін қолданылады. Негізгі қасиеті: Caption. Font қасиеті арқылы шрифт түрін таңдауға болады.
Tlabel қасиеттері
type TAlignment = (taLeftJustify, taRightJustify, taCenter) ; property lignment:
|
Тексті туралау (AutoSize=False болған жағдайда): taLeftJustify -солға; taRightJustify – оңға, taCenter - ортаға
|
property AutoSize: Boolean;
|
Caption қасиетіне тексті енгізу барысында көлемі өзгере ме екенін анықтайды
|
property Transparent: Boolean;
|
Егер True болса Tlabel компонентінде фон болмайды.
|
property Wordwrap: Boolean;
|
wordwrap=True болса көп жолды текст енгізуге болады.
|
TButton компоненті программаны басқаруда, OnClick уақиғасын программалауда кеңінен қолданылады.
TButton қасиеттері
property Cancel: Boolean;
|
Егер True болса , OnClick уақиғасы Esc пернесін басқанда пайда олады.
|
property Default: Boolean;
|
Егер True болса , OnClick уақиғасы Enter пернесін басқанда пайда олады.
|
property Wordwrap: Boolean;
|
wordwrap=True болса көп жолды текст енгізуге болады.
|
‘Label’, ‘Button’ компоненттерін қолданып психологиялық тест программасын құрастыру керек.
Шешу жолы:
Ол үшін бізге 2 айнымалы керек және ол айнымалылар бүкіл процедурада көрінуі үшін біз оны
Public бөлімінде хабарлаймыз.
public s,k : integer;
s – «Иә» жауаптарын есептеу үшін,
k – «Сұрақты енгізу» батырмасын басқанда k-ға 1 қосылып отырады.
k:=k+1;
if k=1 then label1.Caption:='Сіз өтірік айтасыз ба?';
if k=2 then label1.Caption:='Сіз өсек айтасыз ба?';
if k=3 then label1.Caption:='Өзіңізге ұнайтын адамның қасында ыңғайсыздық сезінесіз бе?';
if k=4 then label1.Caption:='Әдепсіз бола аласыз ба?';Психологиялық сұрақтар:
s – «Иә» жауаптарының санына байланысты зерттеу нәтижесі:
label2.Caption:='Психологиялық зерттеу нәтижесінде айқындалғаны';
if s=0 then label1.Caption:='Сіз қу адамсыз';
if s=1 then label1.Caption:='Сіз айлакерсіз';
if s=2 then label1.Caption:='Сіз кәдімгі адамсыз';
if s=3 then label1.Caption:='Сіз кәдімгі адамсыз';
if s=4 then label1.Caption:='Сіз кіршіксіз шынайы адамсыз';
Практикалық жұмыс.
Достарыңызбен бөлісу: |