Delphi –дегі кластар тармағы
Полиморфизм – бұл мағынасы ұқсас мәселелердің әр түрлі тәсілмен шешетін кластар қасиеті. Object Pascal – дың шеңберінде кластардың қасиеті оған кіретін әдістердің жиынтығымен анықталады. Класс ұрпақтарындағы қандай да бір әдістің алгоритмін өзгерте отырып, программист бұл ұрпаққа ата- анасында жоқ ерекше қасиетті бере алады. Әдісті өзгерту үшін оны сол ұрпақта жабу қажет, яғни ұрпақта бір атаулы әдісті хабарлап, оған қажетті әрекетті жүзеге асыру қажет. Нәтижесінде объект – ата – ана мен объект – ұрпақта әр түрлі алгоритмдік негізі бар, объектілерге әр түрлі қасиет беретін екі бір атаулы әдіс жұмыс істейтін болады.
Object Pascal тілінде полиморфизм тек жоғарыда сипатталған мұрагерлік механизмі мен ата-ананың әдісін жабумен шектелмейді, сондай-ақ оларды виртуалдандыруда жүзеге асады.
Кластың құрушылары
Өріс деп кластағы инкапсуляцияланған мәліметтерді айтады. Өріс кез келген типті болуы мүмкін, оның ішінде класта болуы мүмкін;
Мысалы:
Type
TMyClass=class
AIntField:Integer;
AstrField:String;
AObjectField:TObject;
……………………….
End;
Әрбір объект өрістер жиынтығын алады, бірақ осы кластың барлық объектілері үшін жалпы қасиеттер мен әдістер жиынтығы бар. Инкапсуляцияның іргелі принципі өріске кластың әдістері мен қасиеттерінің көмегі арқылы қатынас жасау керектігін талап етеді. Бірақ Object Pascal тілінде өріске тікелей шығуға рұқсат етіледі.
Type
TMyClass=class
FIntField:Integer;
FstrField:String;
………………….
End;
Var aObject:TMyClass;
Begin
………………..
AObject.FintField:=0;
AObject.FStrtField:=’символдар жолы’;
……………………….
End;
Класс – ұрпақ өзінің барлық аталарынан барлық өрістерді ала алады және оны өзінікімен толықтырады, бірақ алдын-ала анықтай алмайды. Сөйтіп, тармақ иерархиясында класс қаншалықты төмен орналасса, соншалықты оның объектілерінен мәліметтер ала алады.
Класта инкапсуляцияланған процедуралар мен функциялар әдістер деп аталады. Олар әдеттегі қосалқы программалар тәрізді хабарланады:
Type TMyClass=class
Function MyFunc(aPar:Integer):integer;
Procedure MyProc;
End;
Кластың әдістеріне кіру оның өрістеріне кіргендей құрама атаулардың көмегімен жүзеге асырылады.
Var
AObject:TmyClass;
Begin
……………………
AObject:MyProg;
…………………..
End;
Жоғарыда айтылғандай кластың әдістері ұрпақтарында жабылып тұруы мүмкін. Мысалы,
Type
TparentClass=Class
Procedure DOWork;
End;
TChildClass=Class (TParent Class);
Procedure DOWork;
End;
Екі класстың ұрпақтары да DOWork процедурасының атауы бойынша ұқсас әрекеттерді орындауы мүмкін. Бірақ, бұл жалпы жағдайда әртүрлі орындалады. Мұндағы әдістерді ауыстыру статикалық деп аталады, яғни копмильятормен программаны жүргізу кезеңінде әдістерді динамикалық ауыстыру жиі пайдаланылады. Мұны жүзеге асыру үшін аталық класта орналасқан әдіс динамикалық немесе виртуалды түрде хабарлануы тиіс. Осындай хабарлауды кездестіргеннен кейін компилятор екі кесте құрады. DMT (Dynamic Method Table) және VMT (Virtual Method Table) оларды сәйкес динамикалық немесе виртуалды әдістердің кіру нүктесіндегі адреске орналастырады. Әрбір ауыстырылатын әдіске оралған компилятор сәйкес кестелердің бірінен қосалқы программаға кіру нүктесінің адресін шығаруға мүмкіндік беретін кодты кояды.
Класс ұрпағында әдісті алмастыру override (жабу) директивасымен хабарланады. Осы нұсқауды алғаннан кейін, компилятор программаны жүргізу кезеңінде ата – аналық кестесіне класс – ұрпақ әдісінің кіру нүктесін орналастырады, ал аталыққа жаңа әдістің көмегімен қажетті әрекетті орындауға мүмкіндік береді.
Динамикалық және виртуалдық әдістердің арасындағы айырмашылығы – динамикалық әдістер кестесінде осы класта тек dynamic ретінде хабарланған әдістер адрестері болады, ал виртуалдың кестесінде сол кластың виртуалдың әдістерімен қатар, оның барлық аталықтарының да адрестері сақталады. Көлемі айтарлықтай VMTкестесі жылдам іздеуді жүзеге асырады, сондай-ақ, динамикалық әдіске оралғанда программа алдымен DMT объектінің кестесін қарап шығады, одан кейін аталық класын қажетті кіру нүктесі табылғанша іздейді.
Динамикалық жабылатын әдістер ешнәрсе орындамауы мүмкін. Мұндағы әдістер абстрактылы әдістер деп аталады, олар ұрпақтарында жабылуға міндетті. Программист adatract директивасымен хабарлау арқылы абстрак әдісті шақыруға тосқауыл қоя алады. Мысалы:
Type
TvisualObject=class (TWinControl)
…
Procedure DRAW (IsSHOW:Boolean);
Virtual; abstract; end;
TvisualChildObject=class(TWinControl)
…
Procedure DRAW (IsSHOW:Boolean):override;
End;
Var
aVisualObject:TvisualObject;
aVisualChild: TvisualChildObject;
begin
…
aVisualObject. SHOW; {қате / Абстракт әдіс шақырылды}
aVisualObject. SHAW {Шақыру дұрыс. TvisualChildObject класындағы DRAW әдісі жабылған}
… End;
Жабылмаған абстракт әдісті шақыру орындалу барысында қате болып есептеледі. Сауатты құрылған программада абстракт әдіс шақырылмайды. Кез келген класстың құрамына екі арнайы әдіс кіреді: конструктор және деструктор. Tobject класында бұл әдістер Create және Destroy деп аталады. Конструктор динамикалық жадыда объектілерді үлестіреді және жадының осы адресіне SELF айнымалысын орналастырады, ал автоматты түрде класта хабарланады. Конструктор және деструктор процедура болып табылады, бірақ Constructor және destructor қызметші сөздерінің көмегімен хабарланады:
Type
TMyClass=class
InField:Integer;
Constructor Create (Value:integer);
Destructor Destroy;
End;
Көптеген конструкторлар объектінің дұрыс жұмыс істеуіне қажетті қандай да бір әрекетті орындайды. Сондықтан класс ұрпақ конструкторында алдымен өзініңаталық конструкторын шақыру қажет, одан кейін қосымша әрекеттер жүзеге асырылады. Аталық кластағы кез келген әдісті шақыру Inherited (мұрагер) қызметші сөзінің көмегімен жүзеге асырылады:
Constructor TMyClass.Create (Value:Integer);
Begin
Inherited Create; //Мұрагер конструкторды шақыру
Inherited:= Value //Қосымша әрекетті орындау
End;
Кейбір әдістер объектіні құрмай және инициализация жасамай-ақ шақырылу мүмкін. Мұндағый әдістер кластың әдістері деп аталады, олар class қызметші сөзінің көмегімен шақырылады.
Type
TMyClass=class (TObject)
Class Function GetClassName:String;
End;
Var
S:string;
Begin
S:=TMyClass.GetClassName;
…
End;
Кластың әдістері өрістерін шақыра алмайды, жалпы жағдайда объект құрмай-ақ шақырылады. Әдетте класс туралы қызметші ақпаратпен шектеледі: класс аты, аталық класс аты, әдістәң адресі және т.б.
Қасиеттер-бұл өріске кіру мүмкіндігін реттейтін кластардың арнайы механизмі. Қасиеттер property, read және write қызметші сөздерінің көмегімен хабарланады (read және write сөздері тек қасиетті хабарлау контексінде пайдаланатын қызметші сөздер). Әдетте қасиет қандай да бір өріспен байланысты болады және осы өріске жазуда немесе одан оқуда пайдаланатын кластың әдістерін көрсетеді.
Мысалы:
Type
TaClass=Class
IntField: integer;
Function.GetField:integer;
Procedure SetField (Value: integer);
Property IntegerValue:integer read
GetField write SetField;
End;
Программа контексінде қасиет өзін әдеттегі өріс ретінде көрсетеді. Сондай-ақ, төмендегідей операторларды жазуға болады:
Var
aClass:TaClass;
Value: integer;
Begin
aClass:=TaClass.Creat {Өрісті немесе қасиетті шақырар
алдындағы конструктордың міндетті шақырылуы}
aClass.InterValue:=0;
…
Value:=aClass.InterValue;
…
aClass.Destroy; //керек емес объектіні өшіру
end;
Мұнымен бірге, төмендегідей меншіктеу операторының жазылуы мүмкін:
aClass.IntField:=NewValue;
Бұл оператормен төмендегі оператордың арасындағы айырмашылық – қасиеті шақырғанда SetField әдісі автоматты түрде қосылады және арнайы әрекеттер орындалады.
Оқу программасында келтірілген
LbOUTPUT.CAPTION:=”жол” операторын еске түсірейік.
Label компоненттің Caption қасиеті SetText әдісін шақырады, ол ішкі айнымалыдағы символдар жолын сақтап қана қоймай, жаңа мәтінді де еске сақтайды.
Егер қасиетті арнайы оқу немесе жазу үшін қажеттілік болмаса сәйкес әдістің атауының орнына өріс атауын көрсетуге болады:
Type
TaClass=Class;
IntField:integer;
Procedure SetField(Value:integer);
Property IntegerValue: Integer read IntField write SetField;
End;
Егер қасиет тек оқу немесе жазу үшін ғана қажет болса, онда оған сәйкес бөлігін жазбауға болады. Қасиет өріспен байланыспауы да мүмкін.
Шынында, ол қасиеттің өзінің типіндей мәліметтерден қандайда бір әрекетті жүзеге асыратын бір немесе екі әдісті сипаттайды.
Жобаның құрылымы. Жоба файлы Object Pascal тілінде жазылған, компилятормен өңдеуге арналған программа болып табылады. Бұл программа Delphi – де автоматты түрде құрылады, бірнеше жолдардан тұрады. Оны көру үшін Delphi – ді шақырып, бас менюден Project/View Source опциясын таңдаңыз. Delphi Project1 мәтінінен тұратын код терезесін шығарады:
Program Project1;
Uses
Forms,
Unit1 in ‘Unit1.pas’ {fmExample};
{SR*. RES}
Begin
Application. Unitialize;
Application. Greate Form (TfmExample, fmExample );
Application. Run;
End.
Код терезесінде қарайтылған шрифтпен қызметші сөздер жазылған, ал курсивпен фигуралық жақша ({}) ішіне түсіндірме жазылған. Программа мәтіні Program сөзінен басталып, End сөзімен аяқталып тұр. End сөзінен кейінгі нүктеден соң жазылған жазуды программалық бірліктің терминаторы деп атайды. Егер программа мәтінінде осындай терминетор кездесетін болса, компилятор программаны жолдауды тоқтатып, мәтіннің қалған бөлігін ескермейді (жойы жібереді).
Object Pascal тілінде қызметші сөздер маңызды роль атқарады. Әрбір қызметші сөз компиляторға шартты нұсқау береді, тек ағылшын тілінде жазылады.
Ал түсіндірменің компилятор үшін ешқандай мәні жоқ, түсіндірме кездессе, компилятор оны қалдырып кетеді. Программадағы түсіндірме программист үшін аса маңызды, ол программаны түсінуді жеңілдетеді. Object Pascal тілінде фигуралық жақшаға ({}) алынған кез келегн символдар тізбегі түсіндірме болып есептеледі.
Жоғарыдағы келтірілген мәтінде екі түсіндірме бар, бірақ {SR*. RES} жолы шын мәнінде түсіндірме емес. Бұл арнайы түрде жазылған фрагменті – компилятор директивасы деп аталады. Директивалар S символынан басталады. Түсіндірме үшін сондай – ақ, (*,*) және // белгілері де пайдаланылады. (*.*) – фигуралық жақша тәрізді, ал // символдары компиляторға түсіндірменің ағымдағы жолдың соңына дейін жазылатынын ескертеді.
Program сөзінен кейінгі жазылған атау мен соңынан қойылған «;» программа тақырыбын құрайды. Тақырыптан кейін бейнелеу бөлімі жазылады, Мұндағы программист программада пайдаланылатын идентификаторларды сипаттайды. Идентификаторлар типер, айнымалылар, процедуралар, функциялар тәрізді программа элементтерін белгілейді. Uses қызметші сөзінен кейін басталатын сөйлемнің көмегімен программист программаның ажырамайтын құрамдас бөлігі ретінде қарастырылатын, басқа файлдарда орналасатын программа фрагменті (модульдер) туралы компиляторға хабарлайды.
Программадағы:
Uses
Forms,
Unit1 in ‘Unit1.pas’ {fmExample};
Жолдар программада файл жобамен қатар, Forms және Unit1 модульдері пайдаланатындығын көрсетеді. Forms модулі Delphi – де стандартты модуль, ал Unit1 - әлі белгісіз, жаңа модуль, Delphi Мұндағый жағдайда модульдің мәтіні бар файлдың атын да көрсетеді (in ‘Unit1.pas’) және файл модуліне байланысты форманың сипаттамасы {fmExample} – де.
Программа денесі Begin сөзінен басталып, End. Терминеторымен шектеледі. Программа денесі Object Pascal – дың біренеше операторларынан тұрады. Әрбір операторда қандай да бір әрекет жүзеге асырылады – айнымалы мәнін өзгерту, есептеу нәтижесін талдау, қосалқы программаға оралу және т.б. Біздің мысалда программа денесінде үш орындалатын оператор бар:
Application. Unitialize;
Application. Greate Form (TfmExample, fmExample );
Application. Run
Бұлардың әрқайсысы Application объектілер әдісінің біріне оралады. Объект дегеніміз – өңдеуге арналған мәліметтер мен қосалқы программаны қамтитын, арнайы дайындалған программа фрагменті. Мәліметтер деп объектінің өрістерін, ал қосалқы программа деп оның әдістерін айтамыз. Объект тұтасымен алғанда, қандай да бір нақты есепті шығаруға арналған, программада бөлінбейтін бүтін ретінде қарастырылады. Объект қазіргі программалау тілдерінде маңызды роль атқарады. Объектінің басты екі қасиеті бар: оның функционалдығы мен бөлінбейтіндігі.
Delphi – ді құрушылар жүздеген объектіні қарастырған, ол көп қабатты программалар үйін тұрғызатын кірпіштер тәрізді. Программаны құрудың Мұндағый принципі объектілі бағдарланған программалау деп аталады.
Application объектісінде Windows программаны толығымен басқаруға қажетті мілңметтер мен қосалқы программалар жинақталған. Delphi автоматты түрде әрбір жаңа проект үшін Application объект программасын құрады.
Application. Initialize жолы Application объектісінің Initialize әдісіне оралатынын көрсетеді. Осы жолды оқығаннан кейін компилятор қандай да бір программа фрагментін орындауды талап ететін кодты құрады. Осы фрагментті орындағаннан кейін (яғни программистердің тілімен айтқанда, қосалқы программадан шыққаннан кейін) процессор басқарудыпрограмманың келесі жолына береді, ол Сreate Form әдісі арқылы шақрылады.
Application объектісінің Сreate Form әдісі экранда бас форма терезесін құрып көрсетеді, ал Run – Windows – ден түскен пайдаланушының әрекеті жөніндегі хабарларды үздіксіз алып, оны өңдеуді жүзеге асырады. Пайдаланушы Close батырмасын тышқанмен белгілегенде Windows программаға программа жұмысын тоқтатып, оған бөлінген жүйелік ресурстарды босату жөнінде арнайы хабарлама береді.
Сонымен қорыта келгенде, файл жобаны толығымен Delphi өзіқұрады. Осы себепті файл – жобаның затының алатын орны ерекше, ол әдетте, код терезесінде көрінбейді. Күрделі жобаларды құрғанда бұл файлды оған кіретін басқа формалардың қызметін түсіндіру үшін, сондай – ақ, программа жұмысын бастар алдындағы кейбір арнайы әрекеттерді орындау үшін пайдалануға болады
Delphi ортасының меню жолы
Менюдің “Файл” (File) пункті командаларын қарастырайық. Бұл пунктте «Құру»(Создать), «Ашу»(Открыть), «Жобаны ашу»(Открыть проекта), «Таңдау»(Выбрать), «Сақтау»(Сохранить) және т.б. командалар қарастырылған. Толығырақ сипаттама алу үшін «Кесте 1» -де берілген.
Кесте 1 Менюдің “Файл” (File) пункті командалары
Ағымды проекттi жаңа атпен сақтайды
Сохранить все (Save All)
Барлық ашылған файл, проект пен модульдердi сақтау
Закрыть
(Close)
Ағымды проекттi және онымен байланысты модульдер мен формаларды жабады
Закрыть все (Close All)
Барлық ашылған файлдарды жабады
Использовать модуль (Use Unit)
Таңдалған модульдi белсендi модульдiң сипаттамасына қосады
Печать (Print)
Белсендi файлды баспаға бередi
Выход (Exit)
Проекттi жабады және ортадан шығады
Менюдiң басқа пунктерiн қарастырайық. “Правка” (Edit) пунктi “Отменить” (Undo) және “Вернуть” (Redo) командаларынан тұрады, олар редактормен жұмыс iстеу кезiнде жасалған қате әрекеттердiң салдарын жоюға өте пайдалы. Мысалы, егер қажет текст фрагментi кездейсоқ өшiрiлген жағдайда.
“Отменить” (Undo) командасын орнату үшiн редактор менюiндегi Сервис | Опции редактора (Options | Environment) пунктiн қалай қолдануға болатындығын түсiндiредi. “Отменить” (Undo) командасының мүмкiн санын шектеуге болады. “Вырезать”(Cut), “Копировать”(Copy), “Вставить” (Paste) және “Удалить”(Delete) командаларының қызметi Windows-тың басқа қосымшаларындағы осы командалардың қызметiмен бiрдей, бiрақ Delphi-де оларды тек текстке емес, визуалды компоненттерге де пайдалануға болады.
“Сделать верхним” (Bring To Front), “Сделать нижним” (Send To Back), “Выровнять” (Align) және “Размер” (Size) командалары 1 сабақта талқыланған. Қалған 4 пункт формаладың сыртқы түрiн жылдам “безендiруге” көмектеседi.
“Поиск” менюiнде программаны орындау кезiнде қатенi табуға көмектесетiн “Find Error” (қатенi iздеу) командасы бар. Қате туралы хабарда оның адресi (орны) көрсетiлген жағдайда Сiз менюдiң Search | Find Error пунктiн таңдап, сол адрестi енгiзуіңізге болады. Егер мүмкiндiк болса, Delphi ортасы программада қате жiберiлген орынға сiздi апарады.
Менюдiң “Вид” (View) пунктi командаларын қарастырып, сипаттама берейік «Кесте 2».
Кесте 2 Менюдiң “Вид” (View) пуктiнiң құрамы
Список дел
(To do List)
Жасалған iс-әрекеттер тiзiмi
Панель выравнивания (Alignment Palette)
Формадағы объектiлердi әртүрлi параметрлер бойынша түзету
Обозреватель (Browser)
Программадағы объектiлер сатысын, бастапқы текстегi идентификаторды iздеу және т.б. көру құралдарын шақыру
Обзор кода
(Code Explorer)
Сiздiң модулiңiзде сипатталған барлық типтердi, қасиеттердi, әдiстердi, глобалды айнымалыларды көрсететiн ағаш тәрiздес диаграмманы ұсынады
Список компонентов (Component List)
Компоненттер палитрасының альтернативасы. Тышқан болмаған жағдайда компоненттер аты бойынша iздеуде пайдаланады
Список окон
(Window List)
Delphi ортасында ашылған терезелер тiзiмi
Форма/Модуль
(Toggle Form/Unit)
Delphi ортасының компоненттер тақтасы
Компоненттер тақтасы - Delphi ортасының ең басты байлығы болып табылады. Ол негізгі терезенің сол жақ бөлігінде орналасқан және онда қажетті компонентті жылдам іздеуді қамтамасыз етеді. Олардың ашылатын беттері бар. Компонент деп белгілі бір қасиеті бар программист формалар терезесіне орналастыра алатын қандай да бір басқару элементін түсінеміз. Компоненттердің көмегімен программаның сүлбесі (каркасы) жасалады. Жалпы жағдайда экранда көрінетін терезелер, батырмалар, таңдаулар тізімі және т.б. арқылы орындалады.
Батырмалар панелі тәрізді компоненттер палитрасы түзетіледі. Ол үшін арнайы редактор пайдаланылады, редактор терезесі компоненттер палитрасындағы кез келген пиктограммаға курсорды келтіріп, тышқанның оң жақ батырмасын басқанда және «Properties» опциясын таңдағанда пайда болады. Компоненттер тақтасы қосымшаға қатысатын компоненттерді таңдау мүмкіндіктерін береді. Компоненттер - бұл Delphi – қосымшаны жинауға қажетті «құрылыс блоктары». Компоненттер пиктограмма түрінде тақтада орналасқан. Delphi-ді іске қосқанда «Standart» беті белсенді болып тұрады. Беттердің орналасу тәртібін өзгерту, атын өзгерту, жою, пиктограмма қосу немесе кейбір пиктораммаларды басқа бетке жылжыту үшін Palette Properties диалогтік терезесі қолданылады. Осы диалогтік терезені ашу үшін Component/Configure Palette командасын немесе компоненттер палитрасының кез-келген жерінде тышқанның оң жағындағы контекстік менюдің Properties(қасиет) командасы арқылы жүзеге асады.. Component palette-(компоненттер палитрасы)-бұл Delphi-де көп қолданылатын құралдардың бірі. Ол көптеген сандар бетінен тұрады және олар компоненттер үлесінде болады «Сурет 1.3». Жұмыс барысында пайдаланушы жаңа беттерді құруға және барын кетіруге, кез-келген беттердегіні кетіруге, қосуға және олардың тәртіптерін өзгерте алады.
Сурет 1.3 Компоненттер палитрасы
Standard – Delphi-гі басқарудың стандарттық компоненттері, олар алдыңғы Массивтықтық мүмкіндіктерін кеңейтеді;
Additional – Delphi-гі басқарудың қосымша компоненттері, олар алдыңғы жзиынтық мүмкіндіктерін кеңейтеді;
Win32 – өзінде windows-тың (9x/NT) 32 дәрежелі Массивтығы бар компоненті ;
System – Delphi-дің спецификалық жүйелі көрнекі емес компоненті ;
Data Access – мәліметтер қорына шығу үшін;
Data Controls – мәліметтер қорындағы ақпараттарды көрсету үшін компоненттер;
ADO – ActiveX Data Objects (ADO) қолдану арқылы мәліметтер қорына қосылуға мүмкіндігі бар компоненттер;
InterBase –Borland Database Engine (BDE) немесе ActiveX Date Objects (ADO) қолданбаусыз, InterBase мәліметтер қорына қосыла алатын компоненттер ;
MIDAS – мәліметтер қорының көп буынды технологиялары үшін компоненттер;
InternetExpress –Web Server application (Internet–тіркемелер), жұмыс істей алатын тіркемелерді және де multi–tiered database (көп буынды тіркемелер) жұмыс істейтін тіркемені құра алатын компоненттер;
Internet – Internet-пен жұмыс істей алатын компоненттер;
FastNet components – оның көмегімен тіркемелер әртүрлі Internet – протоколдары қолдана алатын компоненттер;
Decision Cube –мәліметтер қорындағы көп өлшемді ақтараттар анализі компоненті (тек Delphi Client/Server);
QReport – жазбаша есептерді көрнекі жобалау компоненті;
Dialogs – өзіне Windows-тың стандарттық диалогтық терезелерін кіргізетін компоненттер;
Win 3.1 - Windows 3.1 басқару компоненттері (тіркемелердің кері сиымдылығы үшін);
Samples – құжаттамаларда үлгі ретінде қолданылатын компоненттер ( олардың мәндері /DELPHI/SOURCE/SAMPLES/ папкасында орналасқан);
ActiveX –басқа да фирмалармен дайындалған ActiveX, компоненттері;
Servers page components – танымал COM- серверлер үшін VCL «белгісін» көрсететін компоненттер.
Компоненттер палитрасы Delphi құралдар панелінде көрінуі де мүмкін
немесе көрінбеуі мүмкін. Осы опцияны басқару View => Component Palette мәзірі бөлімінің көмегімен жүзеге асырылады.
Терезенің негізгі өрісінен сіз терезенің сол жағынан объектілер инспекторын (Object Inspector) көре аласыз, оның көмегімен сіз компоненттерге қасиет бере аласыз және жағдайларды жөндейді. Бұл бетті 2 бағаннан тұрады: сол бағанда қасиеттер аты бар, ал оң жағында қасиеттердің нақты мәні бар.
Пиктограммалық батырмалар арқылы негізгі меню жүйесінің маңызды операцияларына (мүмкіндіктеріне) тез арада жеткізуге болады.
Атқаратын жұмыстарына байланысты пиктограммалық батырмалар 6 топқа бөлінген, әр топ жеке тақташада орналасады және олардың атқаратын жұмысы төменде келтірілген.
Standard парағы
- Объектілер репозитариясын ашу (File/new)
- бұрыннан құрылған файлды ашу (File / open file)
-файлды дискіде сақтау (File / Save as….) (Ctrl+S)
- дискіге жазып барлық файлдарды сақтау (File / Save all)
- бұрыннан құрылған программаның жобасын ашу (File / open)
(Ctrl+F11)
- жобаға жаңа файлды қосу (Project / Add to Рroject) (Shift+F11)
- жобадағы файлды жою (Project / Remove from Project)
View қарап шығу тобы
- екпінді жобаның құрамындағы модульдер тізімінен қажетті
модульді таңдау (View / Units) (Shift+F12)
-екпінді жобаның құрамындағы формалардың тізімінен керекті форманы таңдау (View / Form) (Ctrl+F12)
-форманың терезесінен программа кодының терезесіне және одан
кері өту (View / Toggle Form Unit) (F12)
-жаңа форманы құру (View / New Form)
Debug (түзету ) тобы
- программаны компиляциялау және орындау
- түзету енгізіп жатқан программаның жұмысын уақытша тоқтату
(Run / Program Pause)
-қадамдық тексеру ішкі пограмманың жұмысын бақылау тәртібінде
орындайды.
Custome (баптау) тобы
-Delphi ортасының құрамындағы анықтама жүйесін іске қосу.
(Help / Cоntents)
- Delphi ортасының екпінді күйін сақтау.
Компоненттер жинағы – Delphi-дің негізгі ерекшелігі. Ол негізгі терезенің оң жағында орналасып, қажетті компонентті тез табуға арналған белгішелерден тұрады.
Компонент деп – белгілі бір қасиеттері бар және форма терезесінде кез-келген объектіні орналастыру мүмкіндігін туғызатын функционалды элементті атайды. Delphi ортасының компоненттері 19 топқа бөлінген, ол топтарды парақтар деп атайды. Компоненттер көмегімен программаның негізі – қаңқасы құрылады (терезелер, батырмалар, таңдау тізімдері және т.с.с.)
Батырмалар тақташасы сияқты компоненттер палитрасын икемдеуге болады. Ол үшін компоненттер палитрасына кіретін кез-келген пиктограммада тышқан тетігінің оң батырмасын таңдау арқылы арнайы редакторды іске қосу қажет.
Ашылған менюдегі Рroperties (қасиеттер) пунктін таңдағанда оның терезесі шығады.
Delphi ортасының компоненттері бағдарлама орындалғандағы көріністің пішімін анықтайтын бөлек элементтері ретінде қолданылады. Сонымен қатар, Delphi ортасының көрініспен жұмыс атқармайтын, яғни визуалды емес көптеген маңызды компоненттері бар. Дәлірек айтсақ, компонент алдын-ала даярланған бағдарламаның үзіндісі, оны қажет болғанда құрылып жатқан бағдарламаға ендіруге болады деп түсіну керек.
Delphi ортасының құрамына бірнеше компоненттер кіреді. Солардың кейбір маңыздыларын қарастырайық. Standard парағы.
Сурет 1.4 Standard парағы
Standard парағының құрамына келесі компоненттер кіреді. Төмендегі «Кесте 3» - де командалар мен олардың функцияларына сипаттама бберілген.
Кесте 3 Standard парағы компоненттері
Белгісі
Аты
Атқаратын жұмысы
Frame
Жиектері бар форма тәрізді аумақ, басқа компоненттерді контейнері ретінде қолданылады
Main Menu
Бағдарламаның негізгі меню жүйесі. Компонент арқылы күрделі меню құрып, жұмыс атқаруға болады.
Popup Menu
Көмекші немесе локалды меню. Әдетте бұл меню тышқанның оң батырмасын басқанда пайда болады.
Label
Белгі. Компонентке шағын жазу орналастыру мақсатында қолданылады.
Edit
Енгізу қатары. Бір мәтіндік жолды енгізу, көрсету және түзету амалдарын орындауға қолданылады.
Memo
Көпжолдық мәтін редакторы. Енгізу және шығару амалдарын орындауға қолданылады.
Button
Нұсқаулық батырма. OnClick оқиғасын өңдеуші үзінді кейбір нұсқауларды орындайды.
Кесте 3 жалғасы
Check Box
Тәуелсіз ауыстырғыш. Бағдарламаны орындалу барысында тышқанды басқанда енгізілетін ауыстырғыштың Checked мәні өзгертіледі.
Radio Button
Тәуелді ауыстырғыш. Әдетте ол осындай тағы да бір компонентпен бір топқа біріктіріледі. Тышқанмен сырт еткізгенде алдыңғы таңдалған компоненттің босатылуына себеп болады.
List Box
Таңдау тізімі. Опциялар варианттарының тізімін ұсынады және таңдалған бір опцияны бақылауға мүкіндік туғызады.
Combo Box
Қиыстырылған таңдау тізімі. Таңдау тізімінен және мәтін редакторынан тұрады.
ScrollBar
Басқару белдеулері. Windows терезелері сияқты тік және көлденең белдеулерін ұсынады.
GroupBox
Элементтер тобы. Бір мағыналық компоненттерді біріктіру.
RadioGroup
Тәуелді ауыстырғыштар тобы. Бір-бірімен байланысқан бірнеше ауыстырғыштармен жұмыс атқаруға мүмкіндік туғызады.
Panel
Тақташа. Бірнеше компоненттерді біріктіру үшін қолданылады. Ішкі және сыртқы жиектері бар, жаншылған және дөңесті эффектілерін көрсетуге болады.
ActionList
Әрекеттер тізімі. Пайдаланушының бір тектес элементтер тобындағы басқару элементін таңдау әрекетіне, бағдарламаны сезіндіру амалдарын орындатуға арналған.
Additional парағының құрамына сұхбаттасу терезелерін орналастыру үшін қолданылатын келесі компоненттер кіреді.
Сурет 1.5 Additional парағы
Төменде Additional парағы компоненттері мен олардың функциялары келітірген «Кесте 4».
Кесте 4 Additional парағы компоненттері
Белгі
Аты
Атқаратын жұмысы
BitBtn
Бетінде суреті және жазуы бар нұсқаулық батырма
SpeedButton
Пиктограммалық батырма. Әдетте негізгі менюдің опцияларына қол жеткізу үшін қолданылады.
MaskEdit
Арнайы мәтіндік редактор. Енгізілетін мәтінді сүзу үшін қолданылады.
StringGrid
Жолдар кестесі. Осы компонент мәтіндік мәліметті кесте түрінде көрсетуге мүмкіндік туғызады.
DrawGrid
Кез келген түрдегі мәліметтерден тұратын кесте (тіпті сурет те болуы мүмкін)
Image
Сурет. Осы компоненттің көмегімен суреттерді, пиктограммалар мен метофайлдарды шығаруға болады.
Shape
Фигура. Осы компоненттің көмегімен әр түрлі фигураларды (төртбұрыш, эллипс, шеңбер т.с.с.) формаға оналастыруға болады.
Bevel
Жиектеу. Терезенің бір аумағын үш өлшемді жиекпен немесе белдеулермен жиектеу.
Кесте 4 жалғасы
ScrollBox
Қарап шығу белдеулермен қамтылған тақташа. Егер тақташадағы орналастырылған компоненттер ашылған терезеде толығымен көрсетілмесе, онда белдеулер автоматты түрде орнатылады.
CheckListBox
Ұсынылған тізімнен бірнеше опцияларды таңдауға мүмкіндік береді (әр опция CheckBox ауыстырғышымен қамтылған )
Srlitter
Шек. Бұл компонент формадағы екі көрінетін компоненттер аралығында орналасады және бағдарламаның орындалу барысында компоненттердің арасындағы шегін жылжытуға мүмкіндік туғызады.
StaticText
Статистикалық мәтін, Label – ден айырмашылығы - өзіндік Windows терезесімен қамтылған. Сондықтан бұл терезедегі мәтінді жиектеуге болады.
ControlBar
Басқару белдеулері. Drag$Dock технологиясындағы компоненттерді «айлақтату» жабдығы – контейнері.
Application Events
Егер бұл компонент формаға орналастырылса, онда Windows-тің бағдарламаға арналған хабарлары сол терезеге шығарылады.
Chart
Диаграмма. Берілгендердің графикалық көрінісін шығаратын арнайы тақташаларды құруды жеңілдетеді.
Dialogs парағы. Dialogs парағында Windows ортасының стандартты сұхбаттасу элементтерін ұйымдастыру үшін қолданылатын компоненттері орналасқан «Сурет 1.6». Осы парақтың объектілері орындалғанда көрінбейді және сұхбаттасу жұмыстары бағдарламалы орындалады.
Сурет 1.6 Dialogs парағы
Мысалы, if Open Dialog1.Execute then Image1.Picture.LoadFromFile (OpenDialog1. FileName);
Windows–тің сұхбаттасу терезелерінің Dialogs парғында пайда болуларының реті: Open Dialog – сұхбаттасуды таңдау; SaveDialog – файлдарды сақтау; FontDialog – қаріпін орнату; ColorDialog – түсті таңдау; PrintDialog – баспаға шығару; PrinterSetupDialog – принтерді орнату; FinDialog – жолды іздеу; ReplaceDialog – іздеу және алмастыру.
System парағы. Бұл парақты компоненттері DDE, OLE таймер және т.с.с. жүйелі сервистік элементтеріне қол жеткізуге мүмкіндік туғызады «Сурет 1.7».
Сурет 1.7 System парағы
System парағы компоненттері төмендегі компоненттер тұрады. Бұл командалар функциясын төмендегі «Кесте 5» көруге болады.
Кесте 5 System парағы компоненттері
Белгі
Аты
Атқаратын жұмысы
Timer
Таймер, OnTimer оқиғасы Interval (аралығы) қасиетінде анықталған уақыт аралығы бойынша шақырылады. Уақыт аралығы 1...65535 мс.
PaintBox
Сурет салуға арналған аумақ. Тышқанмен байланысты оқиғаны өңдеу үзіндісінің TРaintBox-пен салыстырмалы координаттарымен анықталады.
FileListBox
Арнайы тізімді ListBox, Мұндағы көрсетілген деректориядағы (Directory қасиеті) файлдардың тізімін шығаруға болады. Файлдар атына Mask қасиеті арқылы олардың түрін анықтауға болады.Сонымен қатар, FileEdit қасиеті арқылы файл түрін редакциялауға мүмкіндік туғызатын редакторды анықтауға болады.
Кесте 5 жалғасы
Арнайы тізімді ListBox, Мұндағы ағымдағы табақшаның деректориялар құрылымы көрсетіледі.
DriveComВox
Арнайы ағымды табақшаны таңдау ComboВoxDirlist қасиеті арқылы TdirextoryListBox элементі басқа табақшаларға өту әрекеттерін қадағалап отырады.
Filter ComboВox
Арнайы файлдар атын таңдауға мүмкіндік туғызатын ComboВox. Файлдар тізімі Filter - фильтр сүзгіш қасиеті арқылы анықталады. Ол үшін (файл) FileList қасиетінде файл түрінің үлгісі анықталған TFileListBox элементі орнатылады.
Media Player
Мультимедиалық құрылғыларды (CD-ROM, MIDI т.с.с.) басқару жұмыстарын атқарады. Play, Stop, Record батырмаларымен қамтылған. Ал аталған құрылғылармен жұмыс істеу үшін қосымша арнайы құрылғылар және бағдарламалар қажет болуы мүмкін.
Ole Container
Ole – объектілерін орналастыруға болатын жабдық (контейнер).
DDEClientConv,
DDE байланысын ұйымдастыру үшін қолданылатын 4 компонент. компоненттер арқылы DDE – сервер. Осы (шығар көзі) және DDE - клиент (қабылдаушы) қосымшаларынан құрастыруға болады.
DDEClientItem,
DDEServerConv,
DDEServerItem,
Delphi ортасының құрамына бірнеше компоненттер кіреді. Солардың кейбір маңыздыларын қарастырайық.
Сурет 1.8 Standard парағы
Standard парағының құрамына келесі компоненттер кіреді:
Кесте 6 Standard парағы компоненттері
Белгі
Аты
Атқаратын жұмысы
Label
Белгі. Компонентке шағын жазу орналастыру мақсатында қолданылады.
Edit
Енгізу қатары. Бір мәтіндік жолды енгізу, көрсету және түзету амалдарын орындауға қолданылады.
GroupBox
Элементтер тобы. Бір мағыналық компоненттерді біріктіру.
Additional парағы. Additional парағының құрамына сұхбаттасу терезелерін орнату үшін қолданылатын келесі компоненттер кіреді «2.2-сурет».
Сурет 1.9 Additional парағы
Additional парағының құрамына келесі компоненттер кіреді. Компоненттер мен олардың функциясын қарастырайық «Кесте 1.7».
Кесте 7 Additional парағы компоненттері
Белгі
Аты
Атқаратын жұмысы
BitBtn
Бетінде суреті және жазуы бар нұсқаулық батырма
Image
Сурет. Осы компоненттің көмегімен суреттерді, пиктограммалар мен метофайлдарды шығаруға болады.
Кесте 7 жалғасы
Bevel
Жиектеу. Терезенің бір аумағын үш өлшемді жиекпен немесе белдеулермен жиектеу.
SpeedButton
Пиктограммалық батырма. Әдетте негізгі менюдің опцияларына қол жеткізу үшін қолданылады.
System парағы. Бұл парақты компоненттері DDE, OLE таймер және т.с.с. жүйелі сервистік элементтеріне қол жеткізуге мүмкіндік туғызады «2.3-сурет».
Сурет 1.10 System парағы
System парағының құрамына келесі компоненттер кіреді. Мысалға, «Кесте 2.3» - де Timer командасы келтірілген.
Кесте 8 System парағы
Белгі
Аты
Атқаратын жұмысы
Timer
Таймер, OnTimer оқиғасы Interval (аралығы) қасиетінде анықталған уақыт аралығы бойынша шақырылады. Уақыт аралығы 1...65535 мс.
Бұл команда арқылы уақыт тағайындалады. Операция белгілі бір уақыт аралығында орындалады.
2. Арнайы бөлім. «Арнаулы орта мектептегі пәндер бойынша тестілеу программасын құру»
2.1 Бағдарламаның құрылымдық сипаттамасы
Бағдарламаны құру үшін қолданылған компоненттер: Delphi ортасының компоненттері бағдарлама орындалғандағы көріністің пішімін анықтайтын бөлек элементтері ретінде қолданылады. Сонымен қатар, Delphi ортасының көрініспен жұмыс атқармайтын, яғни визуалды емес көптеген маңызды компоненттері бар. Дәлірек айтсақ, компонент алдын-ала даярланған бағдарламаның үзіндісі, оны қажет болғанда құрылып жатқан бағдарламаға ендіруге болады деп түсіну керек.
Пішін терезесі Windows жобасы – болашакта программа жазатын терезе болып табылады. Басында бұл терезе бос болады. Дәлірек айтсақ, ол Windows – дің интерфейстік элементтері үшін стандартты жүйелік менюді шақыру батырмаларынан, терезені үлкейту, кішірейту, жабу батырмаларынан және тақырып жолынан тұрады. Әдетте, терезенің жұмыс алаңы нүктелік координаталық тормен толтырылған, ол формадағы компоненттердің орналасуын реттеу қызметін атқарады (бұл нүктелерді алып тастау үшін Tool/Environment Options меню командаларының көмегімен, Preference қойымтасындағы Display Grid ауыстырып қосқышындағы жалаушаны алып тастау қажет). Форма құрастырушысының немесе форманың терезесі – болашақ программаның Windows ортасындағы жобасы.
Сурет 2.1 Пішін терезесі
Алдымен бұл терезе бос болады, дәл айтсақ Windows стандартты интерфейстік элементтерінен, яғни жүйелік менюді шақыру, терезені үлкейту/кішірейту, жабу батырмаларынан, тақырып қатарынан және қоршалған шегінен тұрады. Бұл терезенің жұмыс аумағы координаттар торының нүктелерімен реттеліп тұрады.
Программалау Lego конструкторының бөлшектерімен атқарылатын жұмыс сияқты компоненттер жинағынан қажетті компонентті таңдап, форманың терезесіне орналастырудан басталады. Сөйтіп, форма терезесінде қажетті компонеттер бірінен соң бірі орналасады.
Бұл ерекшелік – визуалды (көзбен шолу) программалаудың негізі болып табылады. Программалаушы әр мезгілде құрылатын программаның терезесін бақылап отырып, қажетті өзгерістерді кез келген мезетте енгізу мүмкіндігіне ие болады.
Жоғарыда айтылғандарды басшылыққа ала отырып, оқу программасына арналған форма құруға болады. Бұл процесті жеңілдету үшін әрбір компоненттің қасиеттерін келтірейік. Компоненттердің орналасу ретіне қарай келтірейік, яғни алдымен форма дайындалады, одан кейін формаға панель орналасады, оған батырмалар мен енгізу жолы орналасады, ал белгі мен көп жолдық редактор панельдің үстіне форманың бос жеріне орналасады.
Компоненттердің өлшемі 800х600 экран мүмкіндігін ескере отырып, тағайындалған.
Кесте 9 Пішіндер компоненттері
Объектілер инспекторы терезесіне енгізілетін өзгертулер (қасиеті және мәні)
Form1: Tform
Caption: Оқу программасы
Height:375
Name: fmExample
"">Width: 544
Panel1: Tpanel
Align: Albottom
Bevelouter: Bvnone
Caption: бос қалдыру
Height: 84
BBRun: TRunTbitBtn
Kind: BkOk
"">Name: BBRun
: TbitBtn
Kind: BkClose
"">Name: BbClose
: Tedit
Name: Edinput
"">Text: бос қалдыру
: 544
LbOutput: Tlabel
Align: Albottom
Caption: бос қалдыру
Name: Lboutput
MmOutput: Tmemo
Align: Alclient
Lines: бос қалдыру
Name: mmOutput
ScrollBars: SSBoth
WordWrap: False
Форманың өлшемі Height (биіктік) және Width (ені) ескертусіз алынған өлшеммен сәйкес келеді. Position қасиеті экранның жиектеріне қатысты форманың орналасуын басқарады. Podesigned і форманы Poscreen Center экранның центрі бойынша симметриялы етіп орналастыруды талап етеді.
Align қасиеті ол өзі орналасатын контейнерге салыстырмалы орналасатын компонентті туралау тәсілін көрсетеді. Контейнер – оған басқа компоненттерді орналастыруға болатын орын болып табылады. Осындай контейнердің бірі – Panel компоненті. Біз формаға панельді орналастырдық, оның қасиеті Align, мәні – AlButton ( төменгі жағынан) тағайындадық. Осы мәндерді тағайындағаннан кейін компонент төменгі жиекке тартылады да, бар ұзындығымен созылып орналасады.
Caption (тақырып) қасиеті барлық көрінетін элементке қатысты. Панель үшін оның ортасына орналасатын мәтінді анықтайды.
Панель мен оған орналасақан белгі белгі бір бүтін ретінде қабылдануы үшін панельдің Bevelouter (сыртқы жиек) қасиетіне Bvnone мәні тағайындалған.
Left (солға), Top(жоғарғы жағынан) және Width (ені) қасиеттері компоненттің сол жақ жоғарғы бұрышының орнын анықтайды.
Name (аты) қасиеті программадағы компоненттің атын анықтайды.
Қазіргі практикада қабылданған программалау стилі бойынша атаудың алдына екі әріптен тұратын префикс қойылады. Префикстегі мнемоника программистке атау берілген компоненттің немесе оның қасиетінің типі жөнінде ескертеді. Мысалы, Align қасиетінің барлық мүмкін мүмкін болатын мәні үшін Delphi – дегі стандартты префикс Al (ол Align сөзінен алынған); бұдан ағылшын сөздері:AlButton, AlTop, AlLeft және т.б.алынады.
Енгізу жолы көптеген оқу программаларында тікелей қатысады, сондықтан бұл компонент edinput деп аталады: ed префиксі - бұл edit компонентінің ағылшынша атауынан қысқартылып алынған, ал input программаға мәліметтерді енгізу денегді білдіреді.
Дәл осылайша қысқартылған атаулар: белгіге де арналған (LB – Label сөзінен, Output программаны шығару), көп жолдық редактордағы (mm – Memo сөзінен ), батырмалар OK (BB – BitBtn сөзінен, Run – программаны орындау), Close – жабу.
Edit компонентіндегі text қасиеті экранда пайда болған мезгілдегі енгізу жолындағы мәтіннің мазмұнын анықтайды. Бастапқы мәтін программаға мәліметті енгізуге кедергі жасамас үшін бұл қасиетті өшіруге болады. Дәл осылайша белгідегі Caption қасиетін, көп жолдық редактордағы Lines қасиеттері арқылы өшіруге болады. MmOutput Lines қасиетін тазалау үшін Объектілер инспекторы терезесіндегі осы қасиетті тышқанмен белгілеңіз және қасиетті өзгерту сұхбат терезесін шақырыңыз. MEMO1 мәтінін өшіріңіз де, терезені OK батырмасымен жабыңыз.
MmOutput компонентінің ScrollBars қасиетінің мәні: SSBoth (екі жағынан). Бұл мән Delphi – дередакторға горизонталь және вертикаль орағыш жолақтарының екеуін де тең орналастырады. WordWarp қасиетінің мәніне (сөздерді тасымалдау) False мәнін тағайындау қажет, ол редакторды ұзын мәтіндік хабарларды жахғанда сөздерді келесі жолға тасымалдауды орындамайды. Осы компоненттегі Align қасиетінің мәні Alclient болады, ал ол компоненттен форманың барлық қалған толтырылмаған бөлігін терезенің өлшеміне тәуелсіз алып тұруын талап етеді.
BitBtn компоненті үшін Kind (сорт) қасиеті типтік функцияны анықтайды, ол сұхбат терезелеріндегі батырмалардың қызметін қамтамасыз етеді. BkClose мәні типтік пиктограмма мен Close жазуын анықтайды, оны Delphi батырмаға орналастырады. Сондай-ақ терезені жабудың типтік функциясын да батырмаға орналастырады. Нәтижесінде, программа жұмысын аяқтайтын батырманы аламыз. BkOK мәні BitBtn батырмасын сұхбат терезесін жабуды талап етеді, оның нәтижесі – mrOk. Біздің форма сұхбат терезе болмағандақтан OK батырмасы бұл қызметтіатқармайды. Біз BkOK мәнін тек батырмаға тиісті пиктограмма мен жазуды алу үшін пайдаландық
Объектілер тармағының терезесі
Бұл терезе екпінді формада немесе мәліметтердің екпінді модулінде орналасқан жеке компоненттер арасындағы байланысты көрнекі бейнелеуге арналған. Терезедегі кез келген компонентті белгілеу формалар терезесіндегі сәйкес компонентті екпінді жасайды және объектілер инспекторы терезесінде осы компоненттің қасиеті бейнеленеді. Екі рет тышқанмен белгілеу Code Insight механизмінің жұмыс істеуіне әкеледі, ол OnClick оқиғасын өңдеу үшін дайындалған код терезесіне орналастырады.
Формаға орналасатын кез келген компонент бірқатар параметрлер жиынымен сипатталады: орналасуы, өлшемі, түсі және т.б. Мысалы, компоненттің орналасуы мен өлшемін программист формалар терезесінде компонентті басқара отырып, өзгерте алады. Ал, объектілер инспекторы терезесі қалған өзгертулерді орындауға арналған. Бұл терезеде екі бет бар: Properties (Қасиет) және Events (Оқиға). Properties беті – компоненттің керекті қасиеттерін тағайындау қызметін атқарады, Events беті – қандай да бір оқиғаға компоненттің жауабын анықтайды.
Сурет 2.2 Объектілер инспекторының терезесі
Объектілер инспекторы терезесінің кез келген беті екі бағанды кесте түрінде беріледі, сол бағанда қасиеттің немесе оқиғаның аты, ал оң жақта – қасиеттің нақты мәні немесе сәйкес оқиға өңдейтін қосалқы программаның аты болады.
Кесте жолының оң жақ бағанын тышқанмен белгілеу ондағы көрсетілген қасиеттің мәнін екпінді жасайды, бұдан жолдың оң жақ шетінде үш нүкте (...) немесе ↓ батырмаларының бірі пайда болады. Үш нүкте (...) батырмасын белгілеу күрделі қасиеттің мәнін тағайындайтын сұхбат терезесін экранға шығарады, ↓ батырмасын белгілеу қарапайым қаиеттің мүмкін болатын мәндерінің тізімін шығарады. Объектілер инспекторы терезесінің жоғарғы бөлігінде формада орналасқан барлық компоненттердің ашылатын тізімі орналасады. Форманың өзі де компонент болғандықтан, оның аты да осы тізімде болады.
Тышқанның сол жақ батырмасын басқанда ашылатын терезенің контекстік менюінде терезені түзетуге мүмкіндік беретін опциялар бар. Мысалы, Stay On Top командасын таңдағаннан кейін, Объектілер Инспекторы терезесі оның екпінділігіне тәуелсіз басқа терезелердің үстінде «қалықтап» жүреді.
Кестенің кез келген жолын тышқанды шерту арқылы таңдауға болады. Бұл жолдағы парамеир қарапайым немесе күрделі болуы мүмкін. Қарапайымдарға бір мәнімен анықталатын – сан, символдар жолы, True немесе False мәндерін қабылдай алатын және т.с.с. компоненттің қасиеттері жатады. Мысалы, Caption (тақырыбы) қасиеті бір символдар жолымен, Enabled (қол жетерлік) – True немесе False мәндерімен, ал Heigh (биіктігі) және Width (ені) нақты бір сандық шамалармен анықталады.
Объектілер бақылаушы терезенің жоғары жағында форманың атауы және формадағы орналасқан барлық компоненттержәне оларға қолданылған оқиғалар тізімі орналасып тұрады.
Программалар коды терезесі
Код терезесі – программа мәтінін құрып, жөндеуге арналған. Бұл мәтін арнайы ереже бойынша құрылады және программаның жұмыс алгоритмін сипаттайды. Мәтінді жазу ережелерінің жиынтығы порограммалау тілі деп аталады. Delphi жүйесінде Объект Pascal программалау тілі тағайындалады. Ол кеңінен таралған Pascal тілінің кеңейтілген, жетілдірілген нұсқасы, оны алғаш рет швейцариялық ғалым Н.Вирт 1970 жылы ұсынған және оны Borland коорпорациясының қызметкерлері жетілдірді (олардың құрған тілдері Turbo Pascal, Borland Pascal және Object Pascal деп аталады).
Ең алғашқы Код терезесінде толыққанды Windows терезесі ретінде бос форманы басқаруды қамтамасыз ететін алғашқы шағын мәтін шығады. Жобамен жұмыс барысында программист оған программаны басқаруды жүзеге асыратын алғашқы толықтырулар жасайды.
2.4 Тест бағдарламасының блок-схема алгоритмін өңдеу
Иә Жоқ
II.Тестілеу жүйесін құру
Бағдарламаны құру үшін, SpeedButton1, SpeedButton2, SpeedButton3 компаненттерін алып, форма бетіне салдым. Содан соң комноненттердің Properties – қасиеті арқылы тақырыбын (Caption) өзгерттім. Кейін ол компоненттерге төмендегідей процедуралар енгізеді.
procedure TForm3.SpeedButton1Click(Sender: TObject);
begin
Form2.Show;
Form3.Hide;
end;
procedure TForm3.SpeedButton2Click(Sender: TObject);
begin
Form4.Show;
Form3.Hide;
end;
procedure TForm3.SpeedButton3Click(Sender: TObject);
begin
Form5.Show;
Form3.Hide;
end;
procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form1.Show;
Form3.Hide;
end;
Нәтижесінде форма бетінен төмендегідей нәтиже көруге болады:
Сурет 2.4 Тестілеу жүйесінің бастапқы бет терезезесі
Келесі, төртінші форма бетіне BitBtn, Label, Image, Bevel, SpeedButton, Timer объектілерін орналастырганнан кейін форма беті мынадай бейнеде болады.
Сурет 2.5 Тестілеу жүйесінің ішкі түрі
Timer объектісінің процедурасын орындатқанда Edit1компонетінен уақыт көрсеткішін, Edit2 компонетінен тест тапсырмасының басталған уақыты, ал Edit3 компонетінен тест тапсырмасын орындауға кетекен уақытты көреміз.:
Рrocedure TForm5.Timer1Timer(Sender: TObject);
begin
Edit1.Text := TimeToStr(Now);
Edit3.Text := TimeToStr(StrToTime(Edit1.Text)-StrToTime(Edit2.Text));
end;
procedure TForm5.Edit2Change(Sender: TObject);
begin
end;
procedure TForm5.Edit1Change(Sender: TObject);
begin
end;
Бағдарламаны орындау барысында форма бетінен төмендегідей нәтиже шығарады:
Сурет 2.6 Тест тапсырмасының уақыт мезгілін анықтайтын терезе
BitBtn6 компонентінің Caption қасиетін «А» деп өзгертіп оған процедурасын жазамыз:
procedure TForm5.BitBtn6Click(Sender: TObject);
begin
if k=9 then n:=n+1;
if k=11 then n:=n+1;
if k=12 then n:=n+1;
end;
BitBtn5 компонентінің Caption қасиетін «с» деп өзгертіп оған процедурасын жазамыз:
procedure TForm5.BitBtn5Click(Sender: TObject);
begin
if k=2 then n:=n+1;
if k=3 then n:=n+1;
if k=4 then n:=n+1;
if k=6 then n:=n+1;
if k=8 then n:=n+1;
if k=10 then n:=n+1;
if k=14 then n:=n+1;
if k=15 then n:=n+1;
end;
BitBtn1 компонентінің Caption қасиетін «D» деп өзгертіп оған процедурасын жазамыз:
procedure TForm5.BitBtn1Click(Sender: TObject);
begin
if k=1 then n:=n+1;
if k=7 then n:=n+1;
if k=13 then n:=n+1;
end;
BitBtn3 компонентінің Caption қасиетін «Шығу» деп өзгертіп оған процедурасын жазамыз:
procedure TForm5.BitBtn10Click(Sender: TObject);
begin
Form3.Show;
Form5.Hide;
end;
Бағдарламаны орындау барысында форма бетінен төмендегідей нәтиже береді. Мысал «Сурет 2.7» келтірілген.
Сурет 2.7 Шығу батырмасы
BitBtn3 компонентінің Caption қасиетін «Нәтиже» деп өзгертіп оған процедурасын жазамыз:
procedure TForm4.BitBtn3Click(Sender: TObject);
begin
Label2.Caption:= ''+ inttostr(n) + ' дұрыс жауап бердіңіз';
end;
Бағдарламаны орындау барысында форма бетінен төмендегідей нәтиже алдым
BitBtn7 компонентінің Caption қасиетін «>>» деп өзгертіп оған процедурасын жазамыз:
procedure TForm4.BitBtn7Click(Sender: TObject);
begin
k:=k+1;
if k=1 then begin richedit1.Lines.LoadFromFile('тест1\11.rtf');end;
if k=2 then begin richedit1.Lines.LoadFromFile('тест1\12.rtf');end;
if k=3 then begin richedit1.Lines.LoadFromFile('тест1\13.rtf');end;
if k=4 then begin richedit1.Lines.LoadFromFile('тест1\14.rtf');end;
if k=5 then begin richedit1.Lines.LoadFromFile('тест1\15.rtf');end;
if k=6 then begin richedit1.Lines.LoadFromFile('тест1\16.rtf');end;
if k=7 then begin richedit1.Lines.LoadFromFile('тест1\17.rtf');end;
if k=8 then begin richedit1.Lines.LoadFromFile('тест1\18.rtf');end;
if k=9 then begin richedit1.Lines.LoadFromFile('тест1\19.rtf');end;
if k=10 then begin richedit1.Lines.LoadFromFile('тест1\20.rtf');end;
if k=11 then begin richedit1.Lines.LoadFromFile('тест1\21.rtf');end;
if k=12 then begin richedit1.Lines.LoadFromFile('тест1\22.rtf');end;
if k=13 then begin richedit1.Lines.LoadFromFile('тест1\23.rtf');end;
if k=14 then begin richedit1.Lines.LoadFromFile('тест1\24.rtf');end;
if k=15 then begin richedit1.Lines.LoadFromFile('тест1\25.rtf');end;
end;
Бағдарламаны орындау барысында форма бетінен төмендегідей нәтиже береді.
Сурет 2.8 Келесі сұраққа шығу батырмасы
BitBtn4 компонентінің Caption қасиетін «<<» деп өзгертіп оған процедурасын жазамыз:
procedure TForm4.BitBtn4Click(Sender: TObject);
begin
k:=k-1;
if k=1 then begin richedit1.Lines.LoadFromFile('тест3\11.rtf');end;
if k=2 then begin richedit1.Lines.LoadFromFile('тест3\12.rtf');end;
if k=3 then begin richedit1.Lines.LoadFromFile('тест3\13.rtf');end;
if k=4 then begin richedit1.Lines.LoadFromFile('тест3\14.rtf');end;
if k=5 then begin richedit1.Lines.LoadFromFile('тест3\15.rtf');end;
if k=6 then begin richedit1.Lines.LoadFromFile('тест3\16.rtf');end;
if k=7 then begin richedit1.Lines.LoadFromFile('тест3\17.rtf');end;
if k=8 then begin richedit1.Lines.LoadFromFile('тест3\18.rtf');end;
if k=9 then begin richedit1.Lines.LoadFromFile('тест3\19.rtf');end;
if k=10 then begin richedit1.Lines.LoadFromFile('тест3\20.rtf');end;
if k=11 then begin richedit1.Lines.LoadFromFile('тест3\21.rtf');end;
if k=12 then begin richedit1.Lines.LoadFromFile('тест3\22.rtf');end;
if k=13 then begin richedit1.Lines.LoadFromFile('тест3\23.rtf');end;
if k=14 then begin richedit1.Lines.LoadFromFile('тест3\24.rtf');end;if k=15 then begin richedit1.Lines.LoadFromFile('тест3\25.rtf');end;
end;
Достарыңызбен бөлісу: |