- •14 Дәріс. Деректер қоры қосымшаларын өңдеу. Delphi-дің аспаптық құралдары.
- •14.1 Деректер қоры қосымшаларын өңдеу. Delphi-дің аспаптық құралдары.
- •Жобаны басқару терезесі
- •Жобаның параметрлерін баптау
- •Форма. Форма түсінігі.
- •Форманың аты және басы
- •Визуалдық және визуалдық емес компоненттер Барлық компоненттер екі топқа бөлінеді: визуалдық және визуалдық емес компоненттер.
- •«Терезелік» және «графикалық» компоненттер
Форма. Форма түсінігі.
Бірінші бөлімнен сіздер форма туралы жалпы мағлұматты білесіздер, енді оны толығырақ игерудің уақыты туды.
Оқиғалы форма - қосымшаның басқы компоненті, ол бұрыннан белгілі компоненттер сияқты өзінің қасиеті бар.Форманың негізгі қасиеттері: басы,биіктігі, ені, орны, фон түсі,және т.б. Delphi ортасында жаңа форма құру кезінде форма қасиеттеріне алғашқы мәндерді өзі береді, бірақ сіз оларды өзіңізге қалауыңыз бойынша өзгерте аласыз. Оны форманы жобалау (қасиеттер терезесінде) кезінде немесе қосымшаны орындау (Delphi тілінің операторларының көмегімен) кезінде жасауға болады.
Форманың қасиеттері өте көп, сондықтан да оларды шатастыру өте оңай. Шатасу алфавиттік реттен құралған Object Inspector қасиеттер терезесінде болатынын практика жүзінде көз жеткізуге болады: мағыналары бойынша бір-біріне жақын сөздер әр ұяшықтар тізіміне бөлініп тасталынады. Сізде форманың мүмкіндіктері туралы түсінік пайда болсын десеңіз, онда олардың маңызды деген негізгі форма қасиеттерін қарастырамыз. Ол үшін бізге жаңа қосымша керек болады.
Менюден File | New | Application командасын таңдаңыз. Delphi ортасы автоматты түрде жаңа жобада таза форма құрады және оның шығу мәтінін код редакторына кіргізеді.
Оларға мағыналы ат беру үшін жоба мен оның формасын бірден сақтаңыз. Менюден File | Save All командасын таңдап және модульге Main.pas атын беріп, ал жобаны FormTest.dpr. атымен сақтаңыз. Форманы игеру жағдайлары жасалды, енді тек олардың қасиеттерімен айналысу керек.
Форманың аты және басы
Форманы баптауды ең алдымен Name қасиеті арқылы орындайсыз. Ол программадан формаға өту идентификаторынан тұрады. Форманың алғашқы терезесінде автоматты түрде Form1 атымен басталады. Біз әр қашан форманың атын өзгертуге ақыл береміз, өйткені оның аты қосымшада қандайда бір рөл атқарады. Мысалы, форманың алғашқы қосымшасын MainForm деп атауға болады (егер есіңізге басқа ештеңе түспесе).
Таныса келе Name қасиеті кез келген компонентте бар екенін байқайсыз және ол қасиеттер терезесінде өзгеріске ене алады. Әрбір қосымша формасында оның атқаратын қызметін көрсететін басы болуы керек. Басы Caption қасиетінде көрсетіледі. Біздің форма негізінен оқуға байланысты, сондықтан оған Main атын береміз, ол тек жай ғана басты форма екенін көрсетеді.
Форма стилі.
Сіздің қосымшаңыз қандай қолданбалы интерфейсі болатынын форманы баптау барысында көңіл бөлу қажет: көп құжатты интерфейс MDI (Multiple Document Interface деген ағл.с.) немесе жай бір - құжатты интерфейс SDI (Single Document Interface деген ағл.с.). Форманың FormStyle қасиеті осыған жауап береді, олар келесі мәндерді қабылдай алады:
fsMDIChild – MDI-қосымшасының балалық терезесі;
fsMDIForm – MDI-қосымшасының басты терезесі;
fsNormal – жай терезе (мәні өзі беріледі);
fsStayOnTop – экранда басқа терезелерден әр қашан сыртта тұратын терезе.
Сіздер жұмыс жасайтын көптеген қосымшалар MDI пайдаланушы интерфейсінен тұрады. Олар ішкі бірнеше терезеден тұратын негізгі терезеден құралған. Ішкі терезелер негізгі терезенің аумағымен шектелген, сондықтан оның шекарасынан шыға алмайды. MDI-қосымшасына сәйкес келетін негізгі терезе, басты форма үшін FormStyle қасиетінің мәні fsMDIForm-ге тең болады. Ішкі терезелерге сәйкес келетін барлық екінші қатардағы формалар үшін FormStyle қасиетінің мәні fsMDIChild-ке тең. Оларға негізгі формадан шығу мүмкіндігін беретін монотолық режимде орындалатын диалог терезелері үшін FormStyle қасиеті fsNormal мәніне ие болады.
Егер программада SDI пайдаланушы интерфейсін бар болса, онда әр форма жеке тәуелсіз терезе түрінде болады. Терезелердің бірі басты болып есептеледі, бірақ ол басқа терезелерді қамтымайды. SDI-қосымшасында басты форма және екінші қатардағы форма үшін FormStyle қасиетінің мәні fsNormal тең. Кейбір жағдайларда fsStayOnTop мәнінің орнатылуға жіберіледі, басқа формалардың сыртынан көрінуі үшін.
Ыңғайлы салмақты есептеуші SDI-қосымшасы болып табылады айдан анық, сондықтан FormStyle қасиеті fsNormal мәнін қабылдайды.
Форманың өлшемі және экрандағы орны
Енді форманың өлшемдері және экрандағы орнын айқындап алайық. Тышқанның көмегімен жобалау кезінде форманың өлшемі мен экрандағы орнын орнату оңай. Ал, басқа тәсілді алсақ, ол - қасиеттер терезесіне барып, Width және Height қасиеттер көмегімен формаға өлшем беру, ал орнын - Left және Top қасиеттер көмегімен (мәндері пикселмен беріледі) орнатуға болады.
Сонымен бірге, Position қасиеті көмегімен форманың экранда автоматты түрдегі орнын ұйымдастыруға болады. Оны келесі мәндерді таңдау арқылы іске асыруға болады:
poDefault - форманың өлшемдері және орны экранның өлшемінен шыға тұрып алынады.
poDefaultPosOnly - форманың орны автоматты түрде алынып, ал биіктігі мен ұзындығы сәйкес Width және Height қасиеттері мәнімен анықталады.
poDefaultSizeOnly - форманың өлшемдері автоматты түрде орнатылады да, ал орны Left және Top қасиеттерінің мәнімен анықталады.
poDesigned - форманың орны мен өлшемдері Left, Top, Width, Height қасиеттері мәндерімен анықталады.
poDesktopCenter - форма жұмыс үстелінің ортасына қойылады(яғни, тапсырмалар панелі алынған экранда). Форма өлшемдері Width және Height қасиеттерінің мәнімен анықталады.
poMainFormCenter - форма басты формаға қарай орталықтанады. Форма өлшемдері Width және Height қасиеттерінің мәнімен анықталады.
poOwnerFormCenter - форма басқарушының формасына қарай орталықтана бастайды. Форма өлшемдері Width және Height қасиеттерінің мәнімен анықталады.
poScreenCenter - форма экранның ортасына орналастырылады. Форма өлшемдері Width және Height қасиеттерінің мәнімен анықталады.
Кей кезде форманың өлшемдері компоненттері орналасқан оның ішкі жұмыс облысының (client area) өлшемінен шыға есептеледі. Жұмыс облысына жақтауша мен тақырыпша кірмейтіні белгілі. Жұмыс облысының өлшемдері ClientWidth және ClientHeight қасиеттерінде сақталады. Оларды орнату кезінде Width және Height қасиеттерінің мәні автоматты түрде есептеледі (керісінше де).
Форманың өлшемін таңдау кезінде экранның өлшемін ескеру керек кезеңдерде болады. Қазіргі замандағы видео-адаптерлер әртүрлі рұқсаттары бар көптеген режимдерді қолдайтындықтан, мынандай сұрақ туындайды: дисплейдің рұқсаты бар мүмкіндігіне қарамастан форма мен экранның арасында бірдей пропорцияны қалай орнатуға болады. Бұл жағдайға формада
Scaled қасиеті қарастырылып қойылған. Егер ол True мәнімен орнатылған болса, онда дисплейдің рұқсат қабілетіне байланысты автоматты түрде масштабталады.
Экранда қозғалту кезінде форма кішкене болса да экранның шеттеріне жабысып тұруы мүмкін, егер форманың шеттері аз ғана қашықтықта тұрған болса. Бұл жағдай егер ScreenSnap қасиетінің мәні True-ге тең болған кезде орындалады. Форманың экранның шетіне дейінгі қашықтығы, яғни форма жабысып тұратын жерін, SnapBuffer қасиетінде беруге болады және пикселмен есептеледі.
Пайдаланушы қосымшамен жұмыс жасау кезінде, сәйкес батырмалардың көмегімен форманы бүкіл экранға жайып немесе қайыртын мүмкіндікке ие болады.Форманың бұл жағдайы (жаюы немесе қайыруы) WindowState қасиетімен анықталады, олар келесі мәндерді қабылдайды:
wsNormal - форма қалыпты жағдайда тұр (қайырылмаған, бүкіл экранға созылмаған);
wsMinimized - форма қайырылған;
wsMaximized - форма бүкіл экранға жайылған.
Егер сіз жобалау барысында WindowState қасиетінің мәнін wsMinimized немесе wsMaximized ауыстырсаңыз, онда сіз автоматты түрде тапсырмалар панелінде жиюлы тұрған немесе жаюлы тұрған форманы ала аласыз.
Бір немесе бірнеше мониторы бар компьютерлерге форма үшін монитор таңдап алу мүмкіндігі бар, ол онда кескінделеді. Ол үшін DefaultMonitor қасиетін келесі мәндерде орнату керек:
dmDesktop - форма ағымдағы мониторда кескінделген; форманы қандай да бір белгілі мониторға орналастыру мүмкін емес;
dmPrimary - форма Screen объектісінің Monitors тізімінің бірінші мониторында кескінделеді;
dmMainForm - форма басты форма орналасқан мониторда кескінделеді;
dmActiveForm - форма активті берілген форма орналасқан экранда кескінделеді.
ДҚ- мен жұмыс жасауға арналған Delphi компоненттері.
Delphi ортасы үшін компонент түсінігі ең негізгісі болып саналады. Компоненттерсіз қосымшаның барлық визуалдық артықшылықтары өшеді және айтатын ештеңе қалмайды. Сондықтан да компоненттерді қолдану техникасына көп көңіл бөлгеніңіз жөн.
Компоненттерге деген екі көзқарас бар.
Сыртқы көзқарас, дәлірек айтсақ қосымшаны визуалдық өңдеу ортасынан. Осы көзқарас бойынша компоненттер - бұл жеткілікті құру блоктары, оларды компоненттер палитрасынан аласыздар және өзіңіздің формаңызды құру үшін ауыстырасыз. Компоненттер мысалы сізге белгілі: батырмалар, тізімдер, қолтаңбалар, және басқалар.
Сонымен қатар ішкі көзқарас та бар, яғни программадан Delphi тіліне деген көзқарас. Осы көзқарас бойынша компоненттер - олар класстар, published-қасиеті бар TComponent класстарынан тура енемесе жанама туындаған. Компоненттер экземплярлары - бұл форманың жазығы ретіндегі класстар объектісі. Шығарылып қойған компоненттер қасиетінің ішінде аты (Name) болуы керек, ол бойынша компонент экземпляры басталады.
Бұл екі көзқарастың бірігуі компоненттер туралы толық түсінік бере алады. Қосымшаны визуалдық өңдеуде компонентпен жұмыс жасау кезінде сіздер әрқашан оның беттік жағын көре аласыз. Бірақта, сіздер оқиғаларды өңдеулерді жаза бастағанда, сіздер компоненттің программалық жағын көресіз, оның негізі - объектілері. Сонымен, Delphi сиДҚиоз визуалдық және объекті - ориентирленген программалаумен қамтамасыз етеді.
Компоненттің құрылымын зерттеу кезінде, оның табиғаты үштік екені анықталады және мына формуламен жақсы анықталады:
Компонент =күйі(қасиеті)+тәртібі(әдістері)+кері реакция(оқиға).
Компоненттер жағдайы оның қасиеттерімен анықталады. Қасиеттер өзгеретін (оқу және жазу үшін) және өзгермейтін (тек қана оқу үшін) болады. Осыған байланысты, жобалау қадам кезінде(design-time) немесе программаны орындау уақытында (run-time) қасиеттер мән қабылдай алады. Әрбір компонент үшін ең бірінші қасиеттер терезесінде орнатылады және компоненттің басқы жағдайын анықтайды. Қосымшаны орындау кезінде бұл қасиеттер программалы өзгеріске енуі мүмкін, сәйкес сыртқы көрінісі мен компонент тәрбиесі өзгереді. Екінші топ - бұл терезелер қасиетінде көрсетілмеген қасиет, және олармен тек қана программалы басқаруға болады. Delphi тілінің көзқарасы бойынша, бұл топтар арасындағы айырмашылығы, олар секцияда бірінші published, ал екінші - public секциясында болып табылады.
Компонент тәрбиесі оның процедуралары және функциялары (әдістері) көмегімен сипатталады. Компоненттер әдісін шақыру программаның шығу кодына енгізіледі және қосымшаны орындау кезінде ғана болады. Әдістерде өзімен визуалдық негізі болмайды.
Компоненттің кері реакциясы - ол оның оқиғалары. Мысалы, оқиғалар батырманы басуды форма әдісін шақырумен байланыстыра алады. Оқиға қасиеттер көмегімен орындалады, олардың әдістерге сілтемелері бар.
