- •1 Delphi ортасымен танысу
- •1.1 Негізгі ұғымдар. Бағдарлама құру кезінде шешілетін тапсырмалар
- •Зертханалық жұмыс № 1 «Delphi интерфейсінің элементтері»
- •Зертханалық жұмыс № 2 «Негізгі пішіннің жобасы мен модульінің бағдарламалық коды»
- •Interface
- •Implementation
- •Initialization
- •Зертханалық жұмыс № 3 ««Тест» қосымшасын құру»
- •2 Object pascal тіліндегі объектілі – бағытталған бағдарламалау
- •Mainform модулінің соңғы бағдарламалық коды
- •2.1 Класс және объект туралы түсінік
- •2.2 Инкапсуляция, туындау және полиморфизм
- •2.3 Кластың синтаксисі
- •Interface
- •Implementation
- •2.4 Кластың өрістері
- •2.5 Кластың әдістері
- •Implementation
- •2.6 Кластың қасиеттері
- •2.7 Кластың құрылымы. Кластың элементтерінің көріну аймағы
- •2.8 Кластарға операциялар қолдану. Is және as кілттік сөздері
- •2.9 Оқиға және меншіктеу
- •Бақылау сұрақтары:
- •Зертханалық жұмыс №4 «Полиморфизм және көрнекілік әдістер»
- •Interface
- •Implementation
- •Зертханалық жұмыс №5 "Қаситтер мен әдістер"
- •Өз бетінше орындауға арналған тапсырма
- •Зертханалық жұмыс №6 "Оқиғалар"
- •Interface
- •Implementation
- •Өз бетінше орындауға тапсырма
- •3 Терезелік қосымшаларды құру
- •3.1 Label, Edit, Memo мәтіндік құрауыштары. Button батырмасы
- •Зертханалық жұмыс №7 "Қарапайым Windows-қосымшасын құру"
- •3.2 Пернетақта арқылы берілген хабарламаны өңдеу
- •3.3 Тышқан арқылы берілген хабарламаны өңдеу
- •Зертханалық жұмыс №8 “tForm объектісі”
- •3.4 Басқару элементтерінің тасуын қамтамасыз ететін сипаттамалар (Drag & Drop тетігі)
- •Зертханалық жұмыс №9 "Экрандық объектілерді сүйреу"
- •3.5 Диалог терезелері. Dialogs парағындағы Delphi құрауыштары (Open Dialog, Save Dialog, Font Dialog және т.Б.)
- •Тәжірибелік жұмыс №10 «Мәтіндік редактор»
- •3.6 Delphi - дің кескінді құруға тағайындалған кластары мен құрауыштары. Timer – таймер құрауышы
- •Image құрауышы.
- •Зертханалық жұмыс №10 «Бейнелерді құру»
- •Interface
- •Implementation
- •Қарандаш және қылқалам
- •Қарапайым графиктерді сызу әдістері
- •Функциялардың графиктері мен диаграммаларын сызу
- •Interface
- •Implementation
- •5. Мультимедиалық мүмкіндіктер
- •5.1. Animate компоненті
- •Interface
- •5.2. MediaPlayer компоненті
- •5.3. Дыбысты шығару
- •Implementation
- •5.4. Видеороликтер мен анимацияны қарап шығу
- •Implementation
- •5.5 Анимацияны құру
- •Әдебиеттер тізімі
Зертханалық жұмыс №9 "Экрандық объектілерді сүйреу"
Экрандық объектілерді сүйреу тышқанның көмегімен жеке құрауыштардың арасында ақпаратты тиімді тасымалдауға мүмкіндік береді. Жолды бір тізімнен екінші тізімге сүйреу тетігін мысалда қарастырайық. Жоғарғы жақта жазбасы бар ListBox1 және ListBox2 құрауыштарынан тұратын жоба құрыңыздар. Бірінші тізімді апта аттарының атымен толтырыңыздар. Келесі қадамдар сүйреудің төрт қадамынан тұратын хабарламаны өңдеу мысалдарынан тұрады.
1 этап. Сүйреудің басталуы. Тышқанды сол жақ батырмасына басып жылжытқанда өрбиді. ListBox1 құрауышының DragMode қасиетіне dmAutomatic орнатыңыздар, яғни құрауыш өзіне осы этаптың өңделуін алады. Егер осы қасиетке dmManual орнататын болсақ, онда бағдарлама құрушы сүйреудің басын (мысалы, MouseDown оқиғасы бойынша) және оның тетігін іске қосуды (BeginDrag әдісі) өзі қолмен анықтауы керек болады. Сүйреуді бастау сәтінде құрауыш OnStartDrag оқиғасын өрбітеді. Осы қасиетті өңдеу оқиғасына мына жолды жазыңыздар:
Color:=clRed;
2 этап. Құрауыштан объектіні сүйреу. Тышқанның көрсеткішін құрауыштың үстінен жылжытқанда болатын сүйреуде ол OnDragOver оқиғасын өрбітеді. Осы оқиғаны өңдеудің келесі параметрлерін қарастырайық: Source - объект — сүйреудің көзі, X,Y – тышқанның көрсеткішінің координаталары, Accept – құрауыш сүйреп әкелінген ақпаратты қабылдай ма? жоқ па?, соны анықтайтын буль типтес айнымалы. ListBox2 құрауышының осы оқиғасы үшін келесі жолды жазыңыздар, ол тек ListBox1 құрауышынан ғана сүйреуге рұқсат береді:
Accept := Source=ListBox1;
3 этап. Ақпаратты толық құрауышқа лақтыру. Құрауыштан тышқанның батырмасын босатқан сәтте орындалатын сүйреу OnDragDrop оқиғасын өрбітеді. Осы оқиғаның өңдеуішіне сүйреу сәйкес келетін қимыл жазылуы керек. Біздің жағдайда ол жолды сол жақ тізіменен оң жақ тізімге тасымалдау қимылы. ListBox2.OnDragDrop оқиғасының өңдеуішіне ListBox1 тізімінде ерекшеленген жолды ListBox2 тізіміне қосатын операторды жазыңыздар:
with ListBox1 do ListBox2.Items.Add(Items[ItemIndex]);
4 этап. Сүйреуді аяқтау. Құрауыш - сүйреудің көзі оны босатқан сәтте OnEndDrag оқиғасын өрбітеді, оның Target параметрі басқа толық құрауышқа сәйкес келеді (біздің жағдайда ListBox2). Бұл оқиғаның өңдеуішіне бірінші тізімнен таңдап алынған жолды жоятын операторды және пішіннің түсін өзгертетін операторды жазыңыздар:
if Target = ListBox2 then with ListBox1 do Items.Delete(ItemIndex);
Color := clYellow;
Компиляцияны орындаңыздар және сүйреу тетігінің жұмысын тексеріңіздер.
Өздік жұмысқа тапсырма №9_1
Екі ListBox тізімінен, Edit құрауышынан, Panel құрауышынан, екі батырмадан және төрт жазбадан тұратын жоба құрыңыздар. Берілген жоба келесі функциялардың жұмысын қамтамасыз етуі керек:
жолды Edit құрауышынан екі тізімге тасымалдау;
жолды бірінші тізімнен екінші тізімге тасымалдау және керісінше;
жолды қара панельге сүйреу арқылы жою;
файлдағы жолды бірінші тізімде оқу;
екінші тізімнің жолдарын файлға сақтау.
Көп таңдау жасалғанда барлық таңдап алынған жолдарды тасымалдау.
Edit - тен <Ctrl> пернесі басылған тасымал жасалғанда, көшірме алынады (тышқанның көрсеткішінің түрі – crCross).
Өздік жұмысқа тапсырма №9_2
Екі ListBox тізімдерінен, Edit құрауышынан және екі батырмадан тұратын жоба құрыңыздар. Ерекшеленген сөзді тасымал жасағанда орындалатын функцияларды іске асыратын бағдарлама құрыңыздар:
ListBox1 пішін: ListBox1 – дегі сөз қосарланады;
ListBox2 пішін: ListBox2 – дегі сөз жойылады;
ListBox1 ListBox2: сөздердің қарапайым тасымалдануы;
ListBox1 Edit1, ListBox2 Edit1: сөздердің орынмен ауысуы;
Edit1 ListBox1, Edit1 ListBox2: тышқанның сол жақ пернесі – тасымал, оң жағы – сөздің көшірмесі.
ListBox1 (ListBox2) Button1: файлдан барлық тізімді оқу;
ListBox1 (ListBox2) Button2: барлық тізімді файлға сақтау.
Көп таңдау жасалғанда барлық таңдап алынған жолдарды тасымалдау.
Edit1 – ден көшірмесін алғанда тышқанның көрсеткішінің түрі – crCross.
Ұсыныс :
Edit1 – ден сүйреудің бастамасын өңдеуді қолмен ұймдастырыңыздар, яғни Edit1.DragMode=dmManual орнатыңыздар және Edit1.OnMouseDown өңдеуішіне келесіні жазыңыздар (бұл толық емес):
if (Button=mbLeft) and (Edit1.Text<>'') then Edit1.BeginDrag(False);
