
- •Программалауда қазіргі қолданылып жүрген технологиялар. Объектіге бағдарланған программалаудың негізгі қағидалары
- •Әдістемелік нұсқаулар
- •Void assign(double Len, double Wide); // // функция -элемент
- •Өзіндік жұмыс тапсымалары
- •Негізгі визуалдық компоненттер. Vcl кітапханасының компоненттері. Қасиеттері, әдістері және оқиғалары
- •OnClick оқиғасын шақыру.
- •Жаттығу жұмыстары
- •Өзіндік жұмыс тапсымалары
- •Қосымша құруда тізімдерді пайдалану
- •Өзіндік жұмыс тапсырмалары
- •Қосымшадағы ауыстырғыштардың қызметі
- •Әдістемелік нұсқаулар
- •Жаттығу жұмыстары
- •Өзіндік жұмыс тапсымалары:
- •Қосымшадағы терезелердің және мәзірлердің жұмысын ұйымдастыру. Форма және мәзірлер
- •Әдістемелік нұсқаулар
- •Жаттығу жұмыстары
- •Өзіндік жұмыс тапсырмалары
- •Массивтермен жұмыс жасауға арналған компоненттер
- •Әдістемелік нұсқаулар
- •Жаттығу жұмыстары
- •Өзіндік жұмыс тапсымалары
- •Ерекше жағдайларды өңдеу түсінігі. Ерекше жағдайлар класы
- •Әдістемелік нұсқаулар
- •Өңдеуші қызметінің мысалы
- •Жаттығу жұмыстары
- •Wіndows интерфейсінің компоненттерін қолданып файлдарды басқару
- •Әдістемелік нұсқаулар
- •Өзіндік жұмыс тапсымалары
- •Әдістемелік нұсқаулар
- •IndexName – кестеге екінші индексті белгілейді. Бұл қасиетті кесте ашық болғанда өзгертуге болмайды.
- •Insert, Edit, Delete, Append – жазба қосу үшін кестелерді жазу, өңдеу, алып тастау, жазбаларды қосу режимдерiне ауыстырады
- •Жаттығу жұмыстары
- •Өзіндік жұмысқа тапсырмалар
- •Әдістемелік нұсқаулар
- •Терезесі және Add Table диалогтық панелі пайда болады.
- •Таңдаған кесте пайда болады
- •Компоненттерді орналастыру
- •DataModule-ге орналастыру
- •QReport парағын пайдаланып есеп беруді ұйымдастыру
- •Жаттығу жұмыстары
- •Қосымшаның анықтамалық жүйесін құру
- •Жаттығу жұмыстары
- •Өзіндік жұмыстарға тапсырмалары
- •Қосымшаны таратуға даярлау. Дистрибутивтер. Орнатушы инсталляциялық пакетті Install Shield Express утилитасы арқылы жасау
- •Әдістемелік нұсқаулар
- •Мәндерін және кілттерді анықтау
Негізгі визуалдық компоненттер. Vcl кітапханасының компоненттері. Қасиеттері, әдістері және оқиғалары
Әдістемелік нұсқаулар
VCL (Visual Component Library)- визуальды компоненттер кітапханасында қосымша құруда қажет болатын компоненттер жинақталған.
Компоненттердің қасиетін өзгерту екі түрлі жолмен жасалады: объектілер инспекторының (Object Inspector) терезесінде немесе программалау жолымен. Мысалы, Label1 компонентінің Caption қасиетін Object Inspector терезесінде өзгерту.
Ал программалық жолмен өзгерту үшін программа мәтінінде келесі түрде жазылуы керек:
Label1->Caption= "Багдарлама";
Объектінің немесе компоненттердің әдістерін шақыру келесі түрде жазылады:
Объектінің аты ->әдістің аты;
Memo1->Clear();
Компоненттерге тән оқиғалар функциялар /void __fastcall/ түрінде анықталған, бұл функциялардың шаблондары программа мәтініне автоматты түрде бірден қойылады, бұл шаблондарды сол компоненттің белгісіне екі рет шерту немесе Object Inspector терезесіндегі Events жапсырмасындағы оқиғалар арқылы шақырып алуға болады. Мысалы, Button1 компонентінің OnClick оқиғасы:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Label1->Caption= "Багдарлама";
}
4.2- сурет. Button1 компонентінің
OnClick оқиғасын шақыру.
Форма. C++ Builder ортасында құрылатын қосымшаның орындалуы кезінде экранға шығатын визуальдық бөлімінің негізін TForm класының өкілі болып табылатын Form компоненті құрайды. C++ Builder ортасы жүктелгенде, құрылатын жобаға (Project1) сәйкес форма терезесі (Form1) өзі автоматты түрде пайда болады /4.3-сурет/. Форма терезесі, бұл - Windows қосымшаларына тән тақырыптық зонасы, жүйелік мәзір батырмасы, басқару батырмалары және таза жұмыстық обылысы бар, өлшемі өзгеріп отыратын терезе.
Жобаға тағы да форма терезелерін қосу үшін File New Form командасы орындалады. Программа құруда Form компонентінің келесі қасиеттері мен әдістері жиі пайдаланылады:
TCaption типтер класына жататын Caption қасиеті форманың тақырыбын, яғни тақырыптық зонадағы мәтінді жазу үшін қолданылады;
TComponentName типіне жататын Name қасиеті Form компонентінің атын немесе идентификаторын беру үшін қолданылады, әдетте ол Form1, Form2 ... болып кете береді, егер қолданушы қажет болған жағдайда бұл атауларды өзгерте алады және программада оны сол өзі берген атпен шақырып пайдаланады, мысалы, Name қасиетінің мәні Form1 –ден MainForm- ға өзгертілсе онда оны программада пайдаланғанда
Form1 Caption:= “Форма терезесі”; деп жазудың орнына MainForm Caption:= “Форма терезесі”; түрінде жазады. Бұл Name қасиеті C++ Builder ортасындағы қолданылатын барлық программалық компоненттерге тән қасиет.
Программада Form компонентінің жаңа экземпляр-данасын құру үшін constructor Create (AOwner: TComponent); конструкторы қолданылады, егер жаңа дананы құру команда түрінде талап етілетін болса оны программа мәтінінде келесі түрде жазады:
ApplicationCreateForm(TForm1, Form1);
бұл программаның негізгі терезесін құру болып табылады, ал қалған терезелерін құруды, мысалы
Form2=TForm2.Create(Application); түрінде беруге болады.
Close функциясы форма терезесін жабуды қамтамасыз етеді, программадағы жазылуы:
Form1 Close();
Hide функциясының қызметі - форманы экранда көрсетпей жасырып тұрады, жазылуы:
Form1 Hide();
Show функциясы орындалғанда көрінбей тұрған форма, алдыға шығып экранда көрсетіліп тұрады, жазылуы:
Form1 Show();
Форма компонентінің TNotifyEvent класына жататын OnCreate оқиғасы форма құрылған кезде бір-ақ рет орындалады, сондықтан бұл функцияға форманың құрылуымен бірге орындалатын (мысалы пароль енгізу сияқты) операциялар жазылады. OnCreate оқиғасына сәйкес функция Object Inspector терезесінің Events жапсырмасындағы OnCreate жолының терезесіне екі рет шерту арқылы шақырылады:
void __fastcall TForm2::FormCreate(TObject *Sender)
{
}
Мәтінмен жұмыс жасауға арналған Standart панелінің Label, Memo, Еdit компоненттері. Қарапайым қосымшалар құру үшін Standart панелінің компоненттері қолданылады.
Қосымшаларда мәтін түріндегі мәліметтерді терезелер арқылы енгізуде Standart панелінің Label, Еdit, Memo компоненттері қолданылады.
Еdit компоненті (немесе енгізу жолағы, немесе бір жолды редактор деп те атайды) мәтінді кішкентай терезе түріндегі бір жолға енгізуді немесе мәтін түріндегі нәтижені терезеге шығарып қоюды қамтамасыз етеді. Қосымшада Еdit компонентінің терезесінде берілген мәтінді, курсорды оңға және солға жылжытатын бағыттауыштар көмегімен, символдарды өшіретін <Backspace> және <Delete> пернелерін пайдаланып және фрагменттерді бөліп алып жөндеуге болады. Еdit компонентінің терезесіне енгізілген мәтін, оның типі AnsiString болатын Text қасиетінің мәні болып табылады, яғни Еdit терезесінде берілген мәліметтер программада тек жолдық тип ретінде ғана қабылданады, ал оны әрі қарай программада сандар ретінде пайдалану үшін түрлендіру функциялары қолданылады. Терезеге енгізілген мәтінді бүтін /int/ немесе нақты /float/ типтердің біріне айналдыру үшін келесі түрлендіру функциялары қолданылады:
StrToInt (AnsiString s)- жолдық типті бүтін типке, StrToFloat(AnsiString s) - нақты типке түрлендіреді.
Еdit терезесіндегі мәтіннің үлкен немесе кіші әріптермен жазылуын немесе регистрлердің ауысып отыруын оның CharCase (типі TEditCharCase) қасиеті арқылы береді, сәйкесінше ол үш түрлі мән қабылдайды:
ecNormal – ррегистр өзермейді, сол күйінде тұрады;
ecLowerCase - төменгі регистрдің әріптеріне көшеді;
ecUpperCase - жоғарғы регистрдің бас әріптеріне ауысады.
Еdit компонентінің типі Char болатын PasswordChar қасиеті осы терезеге пароль енгізу үшін қолданылады, әдетте оның мәні #0 болып тұрады да терезеге енгізілген мәтіннің өзі шығады, ал оны жасырып көрсетпеу үшін PasswordChar қасиетінің қабылдайтын мәнін басқа бір символға, мысалы «*» немесе «?» секілді мәндерге өзгерту керек, сонда енгізілген құпия мәтіннің орнына «********» немесе «?????????» түріндегі жолдар шығады.
Программа терезесінде Еdit1, Еdit2, Еdit3 компоненттері арқылы берілген бірнеше терезелердің бірінен екіншісіне ENTER пернесі арқылы көшіп отыру үшін оларға басқару фокусын беруді (курсорды беретін) қамтамасыз ететін SetFocus әдісін қолдануға болады, ол әдіс осы компоненттің терезесінде тұрып басылған пернеге жауап беретін OnKeyPress оқиға өңдеушісінің денесінде шақырылады. Мысалы, Еdit2 компонентінің терезесінен ENTER пернесі арқылы Еdit3 терезесіне көшу үшін сол Еdit2–нің OnKeyPress оқиға өңдеушісіне келесі кодты жазуға болады:
void __fastcall TForm2::Edit2KeyPress(TObject *Sender,
char &Key)
{
if(Key>='0' || Key<='9') ; // бұл 0- 9 цифрларды көрсету
if(Key==8) ; // Backspace -өшіру пернесінің ішкі коды
if(Key==13) // ENTER перенсінің ішкі коды
Edit3->SetFocus();
}
Ал, форма терезесіндегі барлық терезелік компоненттерде басқару фокустарының өзара ауысып отыруын ұйымдастыру үшін Form компонентінің SelectNext (TWinControl* CurControl, bool GoForward, bool CheckTabStop); әдісі қолданылады. Қосымшадағы Memo терезесін мәтіндік файлдарды ашып оқу үшін немесе терезедегі мәтінді тексттік файлға жазып сақтау үшінде қолдануға болады. Ол үшін оның LoadFromFile (FileName) әдісі- терезедегі мәтінді файлға жазуды, ал SaveToFile (FileName) әдісі-керісінше файлдағы мәтінді Memo терезесіне шығаруды қамтамасыз етеді. Мысалы:
...
AnsiString FileName = "C:\\WINDOWS\\WIN.INI";
// файлдың аты
Form1->Memo1->Lines->LoadFromFile(FileName);
Form1->Memo1->Lines->SaveToFile(ChangeFileExt
(FileName, ".BAK"));
...