24
TNewClass = class (ParentClass)
(Public
алу модификаторы}
public
Varl:
Integer;
Var2, Var3: TVarTypeClass;
procedure PI;
function Fl : Integer;
end;
Класстың хабарламасының құрамына тек айнымалылар мен әдістердің хабарлауы
кіреді. Функциялар мен процедуралардың әдістерінің іске асырылуы модульдің
implementation-
секциясында жазылады.
Класстармен жұмыс
Құрастырылып жатқан форманың негізінде құрылатын әрбір модуль, негізінде TForm
классынан туындайтын класстың сипаттамасын береді. Формада орналасатын кез келген
компонент, сол сияқты бір берілген класстың экземпляры болып саналады. Delphi класстары
бір берілген иерархиялық бұтақты құрады. Delphi-дің VCL-кітапханасының класстарын
базалық класстар, - деп атаймыз. Бұл иерархиялық бұтақтың кез келген компоненттің
берілген бір классының түпкі каталогы TObject болады. Ұрпақ-класстарының иерархиясын
Exploring Classes
терезесінен көруге болады. Ол терезеге өту үшін
View| Browser меню
командасын
орындаса болғаны,
немесе
Shift+Ctrl+B батырмаларын
басса болғаны.
2.1 Суретте
Exploring Classes терезесінің
Classes беті көрсетілген. Онда TForml классының
мұрагерлеу иерархиялық бұтағы көрсетілген. Теререзенің оң жағында
Scope, Inheritance,
References-
тің үш бетінен тұратын тақта (панель) орналасқан.
Scope беті
класстың сол жақ
тақтасында белгіленген объекттердің, айнымалылар мен әдістердің бұтақ тәріздес
диаграммасын көрсетеді.
Және де бұл жағдайда
Inherited тармағы
ата-аналық класстың
және ұрпақ-класстың аттарынан тұрады.
Inheritance беті сол жақ тақтада таңдалып,
белгіленген классқа арналған ата-аналық классынан басталған класстар иерархиясының ішкі
бұтағынан тұрады.
References
бетінде ішінде берілген класстың аты кездесетін, барлық модульдердің аттары
мен қатарлар нөмірін тануға болады.
2.1
сурет.
Класстарды қарап шығуға арналған терезе
Жобаға туынды класстардың өзіндік сипаттамаларын қосу үшін, бөлек модуль құрып, сол
модуьдің interface-секциясына класстың барлық хабарламаларын жазып қойған тиімді болып
саналады.
Delphi
кітапханасының барлық VCL классы Delphi7\Source\VCL каталогындағы Object Pascal
модульдерінде орналасқан топтарға бөлінген.
Кітапхананың файлын көру үшін
каталогпен файл атын таңдап, File|Open командасын
орындаса болғаны.
C:\Piogiam Files\Boiland\Delphi7\Source\VCL\bultons.pas
25
2.2
сурет
Scope
ішкі
бетінде орналасқан VCL-кітапханасының Buttons модуліне арналған программа кодының
текрезесі
2.3
сурет
Inheritance
ішкі бетінде орналасқан VCL-кітапханасының
Buttons модуліне арналған
программа кодының текрезесі
Buttons.pas модулінің TBitBtn батырмасы классын хабарлау мысалын келтірейік:
(TBitBtn батырмасы классының хабарламасы қысқартылып берілген)
type
TBitBtn = class(TButton)
private
FCanvas: TCanvas;
FGlyph: Pointer;
FStyle: TButtonStyle;
FKind: TBitBtnKind;
FLayout: TButtonLayout;
FSpacing: Integer;
IsFocused: Boolean;
FModifiedGlyph: Boolean;
procedure Drawltem(const DrawItemStruct: TDrawItemStruct);
procedure SetGlyph(Value: TBitmap);
function GetGlyph: TBitmap;
public
constructor Create(AOwner: TCoraponent); override;
26
destructor Destroy; override;
procedure Click; override;
published
property Action;
property Caption stored IsCustomCaption; .property Default stored IsCustom;
property Enabled;
property Glyph: TBitmap
read GetGlyph
write SetGlyph stored IsCustom;
property ShowHint;
property Style: TButtonStyle
read FStyle
write SetStyle default bsAutoDetect;
property Spacing: Integer
read FSpacing
write SetSpacing default 4;
property TabOrder;
property TabStop;
property Visible;
property OnEnter;
property OnExit;
end;
Property
кілттік сөзі класстың қарапайым алаңдарынан (айнамалыларынан) ерекше,
объект
қасиеттерін алуды бақылауды қамтамасыз ететін,
read және/немесе
write алу спецфикаторы
бар, қасиетін білдіреді.
Object Pascal тілінде
ерекшелермен жұмыс жасауға арналған келесідей операторлар
ендірілген:
Raise –
ерекшелер объектісін құруға арналған;
Try..Except -
белгілі бір ерекшелерді өңдеу блоктарын анықтауға арналған.
Try…Finally –
барлық ерекшелерді өңдеудің бір блогын анықтауға арналған.
Try
операторынан кейін ерекшелер пайда болуы мүмкін операторлар қатары орналасады.
Except
немесе
Finally сөздерінің элементтерінен
кейін
ерекшелерді өңдеу блоктары
орналасады. Біздің программаның елеулі кемістігі бар: егер енгізу алаңында санның орнына,
мысалға айтқанда, "Вася" сөзін енгізсек, программа қате туралы хабар беріп, "жабылып"
қалады (тексеріңіз!). Ол түсінікті – өйткені FloatToStr функциясы "Вася" сөзін бөлшек санға
айналдыра алмай қалады. Delphi-де TRY..EXCEPT..END операторының көмегімен
программада қателер барын тексеріп отыруға арналған өте сыпайы механизм бар.
TRY..EXCEPT..END
операторы құрамы бойынша, екі бөліктен тұрады. Біріншісі – ол опера-
торлар қатары, бұл операторлар қатары TRY және EXCEPT арасында көрсетіліп, ерекше
жағдайлар болуы мүмкін блок, - деп аталады. Екінші бөлімі - ол ерекшелерді өңдеу
on типі_
ерекшелер операторы.
Оның жалпы түрі келесідей:
TRY
// Мына жерде қате болуы мүмкін
EXCEPT
Егер қате пайда болса, онда осы командалар
орындалады
END;
Осы оперторды біздің процедураға енгізіп көрейік:
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c:real;
begin
try
a:=StrToFloat(LabeledEdit1.Text);
b:=StrToFloat(LabeledEdit2.Text);
c:=SQR(a+b)
except
Label1.Caption:=’
Деректер дұрыс емес’;