Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lecture_SBD.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.2 Mб
Скачать

Форма. Форма түсінігі.

Бірінші бөлімнен сіздер форма туралы жалпы мағлұматты білесіздер, енді оны толығырақ игерудің уақыты туды.

Оқиғалы форма - қосымшаның басқы компоненті, ол бұрыннан белгілі компоненттер сияқты өзінің қасиеті бар.Форманың негізгі қасиеттері: басы,биіктігі, ені, орны, фон түсі,және т.б. Delphi ортасында жаңа форма құру кезінде форма қасиеттеріне алғашқы мәндерді өзі береді, бірақ сіз оларды өзіңізге қалауыңыз бойынша өзгерте аласыз. Оны форманы жобалау (қасиеттер терезесінде) кезінде немесе қосымшаны орындау (Delphi тілінің операторларының көмегімен) кезінде жасауға болады.

Форманың қасиеттері өте көп, сондықтан да оларды шатастыру өте оңай. Шатасу алфавиттік реттен құралған Object Inspector қасиеттер терезесінде болатынын практика жүзінде көз жеткізуге болады: мағыналары бойынша бір-біріне жақын сөздер әр ұяшықтар тізіміне бөлініп тасталынады. Сізде форманың мүмкіндіктері туралы түсінік пайда болсын десеңіз, онда олардың маңызды деген негізгі форма қасиеттерін қарастырамыз. Ол үшін бізге жаңа қосымша керек болады.

Менюден File | New | Application командасын таңдаңыз. Delphi ортасы автоматты түрде жаңа жобада таза форма құрады және оның шығу мәтінін код редакторына кіргізеді.

Оларға мағыналы ат беру үшін жоба мен оның формасын бірден сақтаңыз. Менюден File | Save All командасын таңдап және модульге Main.pas атын беріп, ал жобаны FormTest.dpr. атымен сақтаңыз. Форманы игеру жағдайлары жасалды, енді тек олардың қасиеттерімен айналысу керек.

Форманың аты және басы

Форманы баптауды ең алдымен Name қасиеті арқылы орындайсыз. Ол программадан формаға өту идентификаторынан тұрады. Форманың алғашқы терезесінде автоматты түрде Form1 атымен басталады. Біз әр қашан форманың атын өзгертуге ақыл береміз, өйткені оның аты қосымшада қандайда бір рөл атқарады. Мысалы, форманың алғашқы қосымшасын MainForm деп атауға болады (егер есіңізге басқа ештеңе түспесе).

Таныса келе Name қасиеті кез келген компонентте бар екенін байқайсыз және ол қасиеттер терезесінде өзгеріске ене алады. Әрбір қосымша формасында оның атқаратын қызметін көрсететін басы болуы керек. Басы Caption қасиетінде көрсетіледі. Біздің форма негізінен оқуға байланысты, сондықтан оған Main атын береміз, ол тек жай ғана басты форма екенін көрсетеді.

Форманың өлшемі және экрандағы орны

Енді форманың өлшемдері және экрандағы орнын айқындап алайық. Тышқанның көмегімен жобалау кезінде форманың өлшемі мен экрандағы орнын орнату оңай. Ал, басқа тәсілді алсақ, ол - қасиеттер терезесіне барып, 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 - форма активті берілген форма орналасқан экранда кескінделеді.

    1. ДҚ- мен жұмыс жасауға арналған Delphi компоненттері.

Delphi ортасы үшін компонент түсінігі ең негізгісі болып саналады. Компоненттерсіз қосымшаның барлық визуалдық артықшылықтары өшеді және айтатын ештеңе қалмайды. Сондықтан да компоненттерді қолдану техникасына көп көңіл бөлгеніңіз жөн.

Компоненттерге деген екі көзқарас бар.

  • Сыртқы көзқарас, дәлірек айтсақ қосымшаны визуалдық өңдеу ортасынан. Осы көзқарас бойынша компоненттер - бұл жеткілікті құру блоктары, оларды компоненттер палитрасынан аласыздар және өзіңіздің формаңызды құру үшін ауыстырасыз. Компоненттер мысалы сізге белгілі: батырмалар, тізімдер, қолтаңбалар, және басқалар.

  • Сонымен қатар ішкі көзқарас та бар, яғни программадан Delphi тіліне деген көзқарас. Осы көзқарас бойынша компоненттер - олар класстар, published-қасиеті бар TComponent класстарынан тура енемесе жанама туындаған. Компоненттер экземплярлары - бұл форманың жазығы ретіндегі класстар объектісі. Шығарылып қойған компоненттер қасиетінің ішінде аты (Name) болуы керек, ол бойынша компонент экземпляры басталады.

Бұл екі көзқарастың бірігуі компоненттер туралы толық түсінік бере алады. Қосымшаны визуалдық өңдеуде компонентпен жұмыс жасау кезінде сіздер әрқашан оның беттік жағын көре аласыз. Бірақта, сіздер оқиғаларды өңдеулерді жаза бастағанда, сіздер компоненттің программалық жағын көресіз, оның негізі - объектілері. Сонымен, Delphi сиДҚиоз визуалдық және объекті - ориентирленген программалаумен қамтамасыз етеді.

Компоненттің құрылымын зерттеу кезінде, оның табиғаты үштік екені анықталады және мына формуламен жақсы анықталады:

Компонент =күйі(қасиеті)+тәртібі(әдістері)+кері реакция(оқиға).

  • Компоненттер жағдайы оның қасиеттерімен анықталады. Қасиеттер өзгеретін (оқу және жазу үшін) және өзгермейтін (тек қана оқу үшін) болады. Осыған байланысты, жобалау қадам кезінде(design-time) немесе программаны орындау уақытында (run-time) қасиеттер мән қабылдай алады. Әрбір компонент үшін ең бірінші қасиеттер терезесінде орнатылады және компоненттің басқы жағдайын анықтайды. Қосымшаны орындау кезінде бұл қасиеттер программалы өзгеріске енуі мүмкін, сәйкес сыртқы көрінісі мен компонент тәрбиесі өзгереді. Екінші топ - бұл терезелер қасиетінде көрсетілмеген қасиет, және олармен тек қана программалы басқаруға болады. Delphi тілінің көзқарасы бойынша, бұл топтар арасындағы айырмашылығы, олар секцияда бірінші published, ал екінші - public секциясында болып табылады.

  • Компонент тәрбиесі оның процедуралары және функциялары (әдістері) көмегімен сипатталады. Компоненттер әдісін шақыру программаның шығу кодына енгізіледі және қосымшаны орындау кезінде ғана болады. Әдістерде өзімен визуалдық негізі болмайды.

  • Компоненттің кері реакциясы - ол оның оқиғалары. Мысалы, оқиғалар батырманы басуды форма әдісін шақырумен байланыстыра алады. Оқиға қасиеттер көмегімен орындалады, олардың әдістерге сілтемелері бар.

Негізгі әдебиет [2], бет625-637

Қосымша әдебиет 211-223

Бақылау сұрақтары

1. Жобаны басқару терезесін баптау қалай жүзеге асады?

2. Жобаның параметрлерін баптауға мысал келтіріңіз.

3. Форманың бірнеше стилін құрыңыз.

4. Есеп беру форма стилін құрыңыз.

5 ДҚ үшін Delphi ортасының жақсы жақтарын сипаттаңыз.

Дәріс 15. Деректер қорының Oracle Server, MS SQL Server – таратылған серверлерінің техникалық мінездемелері.

Серверлерге арналған көп таралған қолданбалы жүйелер классының бірі ретінде және компьютерлік техниканы шығарушылардың компанияларының жүйелерінің көбісі деректер қорына жүйелік басқару болып табылады (ДҚЖБ). ДҚЖБ серверлері желілік файлдар жүйесінен NFS -тен әлдеқашан маңыздырақ. Стандартты реляциялы ДҚЖБ (SQL) тілдері NFS-ке қарағанда көп. Сонымен қатар, бірнеше белгілі коммерциялық ДҚБЖ үлестірулері бар, олар әртүрлі компаниялар серверіне тиімді, олардың әрқайсысының әртүрлі мінездері бар. Соған байланысты келесі материалдың жеткілікті жалпы мінездемесі болады.

«Қанша пайдаланушы берілген тип бойынша берілген жүйені қамтиды?»- деген сұраққа тура жауап беру мүмкін емес. Жалпы жағдайда, берілген конфигурация онымен жұмыс жасай алады дегеннен, жүйенің анықталған конфигурациясы берілген тапсырманы орындай алмайды деп шешуге болады. Мысалы, дискіге өз еркімен жіберу операциясы кезіндегі бір дискілік жинақтаушысы бар жүйе секундына 130 көрсету жасай алмайды, өйткені бір диск секундына тек қана 65 көрсету ғана жасайды. Бірақта, осындай екі дискісі бар жүйе, ондай қиындықты жеңуі немесе жеңбеуі де мүмкін, дискілік жинақтаушымен ешқандай байланысы жоқ дискіде басқа тары орын болуы мүмкін.

Деректер қорын қолдануға бағытталған қосымшалар сияқты, ДҚБЖ де өз ұйымдары бойынша бөлінеді. Егер файлдық сервер базасындағы жүйені салыстырмалы түрде жұмыс қиындығының типіне қарай екі әртүрлі класстарға бөлуге болатын болса (файлдар атрибутын интенсивті өңдеумен және берілген деректер қорымендің өзін интенсивті өңдеумен), онда деректер қоры және ДҚБЖ қосымшалары арасында ондай классификациялар жүргізуге болмайды.

Қазіргі таңда көптеген деректер қорының әртүрлі архитектурасының толық бір қатары бар болса да, UNIX-жүйе рыногі реляциялық моделге тоқтады. Көптеген абсолютті инсталлирленген жүйелер реляциялық, себебі бұл архитектура мынандай Sybase, Ingres, Informix, Progress, Empress және DBase өндірістерден таңдалған. Software AG компаниясының ADABAS – бұл иерархиялық жүйе, стандартты SQL-ді өңдей алады.

Көптеген басатын жүйелер жалғыз сол концептуалды жалпы сұлбамен жұмыс жасайтынын біле отырып, әртүрлі өнімдер арасында көп архитектуралық айырмашылықтар бар. Ең тиімдісі ДҚБЖ үлестіруі болып табылды.

Көп ағымды

2N

Oracle Version 7 (optional)

Oracle Version 6 және үнсіз күйде Oracle Version 7

Sybase v4.9.x, System10

Informix v5.x

Ingres v6.x

Ingres v5.x

Progress version 7

Progress version 6

ADABASE version 2.1

10-кесте. Нұсқа және әкелушілер бойынша ДҚБЖ архитектурасы.

11-сурет. ДҚБЖ архитектурасы.

Жүйенің екі негізгі классын айта кеткен жөн: "2N" (немесе “бірге-бір”) принципі бойынша құрылған жүйелер және көп ағымды жүйелер. Көптеп ескі 2N-үлестіруінде әрбір клиент үшін тіптен клиент-программасы физикалық түрде жеке жүйеде орындалса да, серверде жеке процесс қолданылады. Осы мақсатпен, әрбір клиенттік қосымша үшін екі процесс қолданылады, біреуі серверде және біреуі клиенттік жүйеде. Осындай көптеген процесстерді басқаратын ұйымдардың қосымша шығынын азайту мақсатында көп ағымды қосымшалар сол үшін өңделіп жасалынған. Әдетте олар серверлік жүйеде жұмыс жасайтын бірнеше процесстерден тұратын бір кластердің бар болуын ұсынады. Бұл процесстердің ішкі көп ағымды ұйымы бар, олар көптеген клиенттердің сұраныстарын орындауды қамтиды. Көптеген ДҚБЖ-ның негізгі қоюшылары қазіргі жағдайда көп ағымды үлестіруді қолданады немесе осы бағытта қозғалады.

Негізгі әдебиет [1], бет 618-625

Қосымша әдебиет [2], бет 618-625

Бақылау сұрақтары:

  1. ДҚБЖ-ның архитектурасын нұсқасы ойынша сипаттаңыз және талдау жасаңыз.

  2. Клиенттік және серверлік арасындағы өзара байланыс принциптерін сипаттаңыз?

  3. Аппаратты мүмкіндіктерге талаптарды сипаттаңыз.

  4. Сұратуды баптауға мысал келтіріңіз.

  5. Өшірілген шақыру процедуралар протоколының артықшылығын сипаттаңыз.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]