У вас вопросы?
У нас ответы:) SamZan.net

C Builderді~ ~~деу ортасы

Работа добавлена на сайт samzan.net: 2015-07-05

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 5.4.2025

1-блок

1. C++ Builder-дің өңдеу ортасы.

2. C++ Builder-дің негізгі компоненттері.

3. C++ Builder-дің негізгі меню жолы.

4. C++ Builder-дің тез(быстрые) кнопкалары

5. Компоненттер палитрасы.

6. Форма терезесі.

7. Редактор коды  терезесі.

8. Объектлер инспекторы.

9. C++ Builder өңдеу ортасының тасу(перетаскивание) және салу(встраивание) терезелері.

10. Интегралданған өңдеу ортасы терезесін  конфигурациялық басқару.

11. C++ Builder-де проектнің ұйымдастырылуы.

12. Проектнің негізгі файлдары.

13. Проект каталогтарын ұйымдастыру.

14. Жаңа проект құру.

15. Проектні сақтау.

16. Проект менеджері(Project Manajer).

17. To-Do List тізімінің жұмысын жоспарлау.

18. Проектге жаңа форма қосу.

19. Форманың жеке көшірмесін жасау.

20. Депозитариядан форманы уақытша алу(заимствование).

21. Форма мен модульді проектге қоспай көру.

22. Компоненттерді кітапхана бетінен формаға тасымалдау.

23. C++ Builder-де проектнің ұйымдастырылуы.

24. Parent және Owner компоненттері.

25. C++ Builder-дің негізгі компоненттері.

26. Форма терезесі.

27. Формада компоненттерді «көп қабатты» орналастыру.

28. «Жоғалған» компоненттерді іздеу.

29. Object TreeView терезесі және Редактор Коды  диаграммасының беті.

30. Компоненттер тобымен жұмыс істеу.

2-блок

31. Компоненттер фиксациясы.

32. Депозитария- проект және формалар қоймасы.

33. Code Insight-ты қолдану.

34. Class Explorer класстар зерттеушісі.

35. Редактор кодының терезесіне орнатылған өңдеуді қолдау(поддержка разработки).

36. C++ Builder анықтамалық жүйесі және оның OpenHelp кескіндеулер программасы.

37. Проектні құрастыру және компиляцияға жіберу.

38. Құрастырушы және компилятор хабарламасы.

39. Программаны орындау кезіндегі қателерді дұрыстау.

40. Watch List  бақылау терезесі.

41. Қосымшаларды қадам бойынша орындау.

42. Үзіліссіздік нүктесі.

43. Debug Inspector –кейінге қалдыру инспекторы терезесін қолдану.

44. Енгізілетін компоненттер тізімі және мәтіндік ақпараттың бейнелері.

45. Label,StaticText,Panel компоненттерінің жазуларындағы мәтiннiң бейнелерi

46. Edit, LabeledEdit, MaskEdit редакциялау терезелері.

47. ListBox, CheckListBox, ValueListEditor, ComboBox, ComboBoxEx- тiзiмдерден таңдаудың компоненттерi

48. StringGrid - жолдар кестесi

49. Енгізілетін компоненттер тізімі және сандардың,күн мен уақыттың бейнелері.

50. UpDown ,CSpinEdit - бүтін сандарды енгізу және бейнелеу компоненттері.

51. F1Book компоненті- EXCEL беті.

52. Мәтiндiк және сандық мәлiметтердi синтаксис бойынша дұрыс енгiзудi қамтамасыз ету.

53. Иерархиялық мәліметтерді бейнелеу компоненттері.

54. Windows құжаты үлгісіндегі мәліметтерді бейнелеу-ListView компоненті.

55. График түрiнде берілген мәлiмет бейнесi компоненттерiнiң тiзiмi

56. Кнопкалар,индикаторлар және басқарушы элементтер.

57. Программаны орындау кезіндегі қателерді дұрыстау.

58. Депозитария- проект және формалар қоймасы.

59. Формада компоненттерді «көп қабатты» орналастыру.

60. Енгізілетін компоненттер тізімі және сандардың,күн мен уақыттың бейнелері.

3-блок.

61.  Қолданушы кнопканы шерткенде, кнопкада қандай да бір жазу шығаратын қосымша құрыңыз.

62.  Екі санды енгізіп, көбейтіндісінің нәтижесін шығаратын қосымша құрыңыз.

63.  Қателік шыққан жағдайда не істейміз? Мысал келтіру

64. Екі резистордан тұратын электр шынжыры(цепь) берілген.Олар параллель де,тізбектей де жалғануы мүмкін.Кедергісін есептеңіз.

65. Қарапайым және күрделі программалау жүйелеріне мысал.

66. Күрделі жүйелердін құрулымы. Күрделі жүйелердін мысалдары.

67. Хаосты ретке келтіру. Декомпозициянын қызметі.

68. Декомпозициянын қызметі. Абстракциянын қызметі.

69. Программалық жүйелерді жоболау әдістері. Иерархиянын қызметі.

70. Объектілік моделдердін мысалдары.

71. Объектілік жолынын қурылу бөлімдері. Программалау парадигмасы.

72. Абстрагирование. Инкапсуляция. Модулдік.

73. Иерархия. Типизациялау. Параллелизм.

74. Объектілік моделді қолдану. Кластар және объекттер.

75. Объектілер арасындағы қатынас. Қатынас типтеріне мысал.

76. Интерфейс және орындалу. Кластың өмірлік циклы.

77. Кластар арасындағы қатынас. Қатынас типтері.

78. Ассоциация. Мұралау. Әдіс іздеуі.

79. Агрегация. Класстар байланыстары.

80. Кластардың және объектердің өзара байланысына мысал.

81. Кластардың және объектердің сапасы.

82. Түрлендіру және объектіге бағытталған жобалау.

83. Кластардың және объектердің идентификациясына мысал.

84. Объектіге бағытталған анализ.

85. Кілттік абстракциялар және механизмдерге мысал.

86. Әдіс. Белгілер. Белгілер элементтері.

87. Кілттік абстракциялар. Механизмдер идентификациясы.

88. Моделдер және ракурстар. Логикалық және физикалық моделдерге мысал.

89. Екі санды енгізіп, көбейтіндісінің нәтижесін шығаратын қосымша құрыңыз.

90. Статикалық және динамикалық моделдер. Жобалау аспаптары.

1. 2. 25. C++ Builder-дің өңдеу ортасы.

C++ Builder-дің интеграацияланған өңдеу ортасы (Integrated Development Environment – IDE) – бұл қосымщаларды жобалау, жүзеге асыру және тестілеу үшін арналған барлық қажеттіліктер бар және барлығы бағдарлама құру процесін жеңілдетуге бағытталған орта. Интеграцияланған өңдеу ортасында(ИӨО) кодтар редакторы, ретке келтіруші, инструменттер панели, бейнелер. Объектілік-бағдарланған амалды пайдалану арқылы қолданбалы программалық қамтамасыз етуді әзірлеу және C++ Builder стандарттық қойылымында болатын, небары стандарттық кластар мен компоненттерді жинау принципі әзірлеуді едәуір жеңілдетуі және жылдамдатуы мүмкін. C++ Builder стандарттық қойылымында компоненттердің көп санының бар болуы, ортаны басқалардан C++ (мысалы, MS Visual C++) тілінің базасында ұтымды ажыратады . Ал программалау тілін таңдау C++ тілі конструкцияларының қысқа айтылушылығы және айқындылығы сияқты даусыз артықшылықтармен қамтамасыз етіледі.


3. C++ Builder-дің негізгі меню жолы.

File(файл) меню бөлімі жаңа проект, жаңа форма құруға, бұрын құрылған проект немесе форманы ашуға, белгіленген атауы бар файлдарға проектілер мен формаларды сақтауға көмектеседі. Edit(түзету,өзгерту) меню бөлімі Windows қосымшалары үшін қарапайым Clipboard буферімен алмасу операцияларын орындауға, сонымен қатар формада орналасқан компоненттер тобын өлшемі және орналасуы бойынша түзетуге мүмкіндік береді. Search(іздеу) меню бөлімі іздеуді жүргізуге және көптеген текстілік редакторларға тән қосымша кодында контекстілік алмастыруларды орындауға мүмкіндік береді. View(көру) меню бөлімі жобалауға қажетті әр түрлі терезелерді шақыруға арналған. Project(проект) меню бөлімі проектіден формаларды алып тастауға және қосуға, проект қасиеттерін белгілеуге, проектті оның орындалуынсыз компиляциясын орындауға мүмкіндік береді. Run(орындау) менюі проектті қадам бойынша жүріп отырып, кодтың көрсетілген нүктелерінде тоқтап, айнымалылардың мәндерін көріп, қалыпты немесе реттелген режимдерде орындауға мүмкіндік береді. Component(компонент) менюі арқылы жаңа компоненттерді құруға және орнатуға, компоненттер палитрасын конфигурациялауға, пакеттермен жұмыс жасауға болады. Database(деректер қоры) деректер қорымен жұмыс жасауға арналған инструментарийлерді қолдануға мүмкіндік береді.Tools(инструментарий) менюінде ИӨО-ны күйге кетіруге және әр түрлі қосымша бағдарламаларды орындауға мүмкіндік беретін бөлімдер реті бар,мысалы, Бейнелер Редакторын(Image Editor) шақыру, деректер қорын конфигурациялайтын бағдарламалармен жұмыс жасау. Одан басқа бұл менюге қолданушы өзі де әр түрлі бөлімдерді қосу арқылы кеіейте алады. Window(Терезе) менюі бөлімі жобалау барысында бір мезетте ашылып тұрған көптеген терезелерді ішінен керектісіне өтуге мүмкіндік береді.Help(анықтама) менюі С++ Builder-де орнатылған анықтама жүйесімен жұмыс жасауға көмектесетін бөлімдерден тұрады . редакторы, ретке келтіруші, инструменттер панели, бейнелер редакторы, деректер қорының инструментарийлері бар. Бұл интеграция әзірлеушіге бір-бірін толықтырып тұратын құрал-саймандар жиынын береді. Одан бөлек, ИӨО-ның менюін өзіңіздің қосымшаларыңызды қосуға мүмкіндік бар. Нәтижесінде қиын қолданбалы бағдарламаны жасауға арналған ыңғайлы орта пайда болады.ИӨО терезесінің  жоғарғы бөлігінде негізгі меню жолы тұрады. Оның құрамы жартылай С++ Builder бағдарламасының нұсқасына байланысты. Негізгі меню жолынан төмен екі инструменттер панелі орналасқан. Сол жақ панель(ол өз кезегінде бірнеше панельдерден құралған)  кейбір өте жиі қолданылатын меню командаларын қайталайтын тез кнопкалардың екі қатарынан тұрады. Оң жақ панельде визуальды компоненттер кітапханасының компоненттер палитрасы орналасқан. Компоненттер палитрасында закладкалары оның оң жағында көрсетілген бірнеше беттер бар. Палитра құрамы тек қана С++ Builder-дің нұсқасына емес,сонымен қатар Windows қосымша немесе кросс-платформалық қосымша құрғанға байланысты болады. Осыған байланысты компоненттер палитрасы не Visual Component Library – VSL құрамын, не болмаса  cross-platform component library – CLX құрамын көрсетеді. Негізгі менюдің оң жақ бөлігінде тізім мен екі тез кнопка бар кішігірім инструменттер панелі бар. Бұл қолданушы өзі құрып және есте сақтай алатын ИӨО терезесінің әр түрлі конфигурациясын таңдау және сақтау панелі. Терезенің негізгі бөлігінде сол жақата екі терезе бар: үстіңгі бөлікте – Объектілер Талы (Object TreeView), оның астында – Объектілер Инспекторы (Object Inspector). Объектілер Талы терезесі сіздің қосымшаңыздың объектілері мен визуальды және визуальды емес компоненттердің иерархиялық байланысын көрсететін болады. Бұл терезелердің оң жағында бос форма терезесі тұрады, оған компоненттерді әкеліп қоюға болады. Оның астыңғы бөлігінде Кодтар Редакторы орналасқан


4. C++ Builder-дің тез(быстрые) кнопкалары

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

File | New | Other

Проектті немесе Депозитарийден модульді ашу

File | Open

File | Reopen

Проект,модуль,пакет файлын ашу. Reopen кнопкасын басу арқылы файлды жақында қолданылған файлдар тізімінен ашуға мүмкіндік береді.

File | Save As

File | Save (Ctrl+S)

Дәл осы уақытта жұмыс жасалынып отырған модуль файлын сақтауға мүмкіндік береді.

File | Save All

Барлығын сақтау(барлық проект файлын және модуль файлдарын сақтау)

File | Open Project (Ctrl+F11)

Проект файлын ашу

Project | Add to Project (Shift+F11)

Проектіге файл қосу

Project | Remove from Project

Проектіден файлды өшіру

Help | C++ Builder Help

Кірістірілген анықтама бетін шақыру

View | Units (Ctrl+F12)

Тізімнен таңдалған модуль файлының текстін көруге ауысу

View | Forms (Shift+F12)

Тізімнен таңдалған форманы көруге ауысу

View | Toggle Form/Unit (F12)

Форма мен оған сәйкес модуль файлы арасында ауысу

File | New Form

Проектіге жаңа форманы қосу

Run | Run (F9)

Қосымшаны немесе қосымшалар тобын орындау

Run | Program Pause

Қосымшаны орындауда кідіріс жасау және CPU ақпаратын қарау.

Run | Trace Into

Функцияға кіру арқылы бағдарламаны қадам бойынша орындау

Run | Step Over (F8)

Функцияға кірмей бағдарламаны қадам бойынша оырндау

View | Desktops | Save Desktop

Терезенің ағымдағы конфигурациясын сақтау

View | Desktops | Set Debug Desktop

Ретке келтіру кезінде терезенің конфигурациясын орнату

File | New | Other | WebSnup | WebSnup Application

Web үшін WebSnup қосымшасын құру

File | New| Other | WebSnup | WebSnup Page Module

Web үшін арналған WebSnup қосымшасының бет модулін құру

File | New| Other | WebSnup | WebSnup Data Module

Web үшін WebSnup қосымшасының деректер бетін құру

Tools | External Editor

Tools | Environment Options командасымен шақырылатын опциялар терезесінің Internet бетіндегі Edit кнопкасынмен орнатылатын Web бетінің сыртқы редакторын шақыру

File |New|Other|Multitier| CORBA Object Implementation

CORBA серверінің объектісін құру

Edit | CORBA Refresh

Проектінің IDL файлдарында өзгерістерді көрсететін класстар орындалуын жаңартады.

Edit | Use CORBA Object

IDL файлдарынан жаңа сервер мен клиенттер модульдерін компиляциялау, CORBA объектісін қолдану тәсілдерін анықтау


5. Компоненттер палитрасы.

Компонеттер палитрасы – бұл визуальды компоненттердің кітапхана сөресі (Visual Component Library – VCL). Ол компоненттерді олардың маңынасы мен мақсатына байланысты топтастыруға мүмкіндік береді. Бұл топтар немесе беттер закладкалармен қамтамасыздандырылған. Қолданушы беттердің құрамын өзгертіп, жаңа беттер енгізіп, орындарын ауыстырып, жасалған шаблондар мен компоненттерді кірістіре алады. Үнсіз келісім бойынша палитрада мынадай компоненттер орналасады:

Standard

Стандартты,ең жиі қолданылатын компоненттер орналасады

Additional

Қосымша, стандарттыны толықтырады

Win32

Windows 95/98 және NT стиліндегі 32-битті компоненттер

System

Жүйелік, таймер,плеер сияқты компоненттерден құралған

Data Access

Деректерге қол жеткізу

Data Controls

Деректерді көрсету және өзгерту компоненттері

dbExpress

dbExpress көмегімен деректермен байланысу

DataSnap

Деректермен жұмыс жасайтын көпағымды қоымшаларды құрғанда қолданылатын қосымшалар серверімен байланысуға арналған компоненттер

BDE

Borland Database Engine – BDE арқылы деректерге қол жеткізу

ADO

Active Data Objects(ADO) арқылы деректер қорымен байланыс – Microsoft OLE DB деректер қорының ақпаратына қол жеткізу үшін қолданылатын Active X компоненттер жиыны

InterBase

Borland Database Engine мен Active Data Objects өтіп кету арқылы Interbase-пен тура байланыс

WebServices

SOAP көмегімен Web қызметтеріне қол жеткізуді қолданатын Web клиенттік қосымшалар компоненттері

InternetExpress

InternetExpress қосымшасын құру – біруақытта Web сервер қосымшасын және параллельді ағымдармен деректер қорының клиент қосымшасын құру

Internet

Web серверлерді құруға арналған компоненттер

WebSnap

Деректермен басқарылатын күрделі беттері бар Web серверлерді құруға арналған компоненттер

FastNet

Әр түрлі Интернет протоколдары

Decision Cube

Деректердің көпөлшемді анализі үшін арналған компоненттер

QReport

Есептемелерді дайындауға арналған компоненттер

Dialogs

Диалогтар,мысалы «Файлды ашу» жүйелік диалогы

Win 3.1

Windows 3.x түріндегі компоненттер

Samples

Үлгілер, әр түрлі қызық,бірақ соңына дейін аяқталмаған компоненттер

Active X

Active X компоненттерінің мысалы

COM+

COM+ конфигурациясы бойынша деректері бар COM+ каталогын көрсететін компонент

Servers

СОМ серверлермен байланысу компоненттері

IndyClients

Delphi, C++ Builder, Kylix қосымшаларынан әр түрлі Интернет протоколдарына рұқсат беретін Internet Direct(Indy) клиенттік қосымшалар компоненттері

IndyServers

Internet Direct(Indy) серверлік қосымшалар компоненттері

IndyMisk

Internet Direct(Indy) қосымшалардың әр түрлі қосымша компоненттері

InterBase Admin

InterBaseқызметіне қол жеткізу компоненттері

Office2k или Office97

Microsoft офистік қосымшаларының таратылған СОМ серверлер үшін арналған VCL сырттары


6,26. Форма терезесі.

Форма бұл басқа компоненттер орналасатын негіз болып саналады. Форма  Windows-тың басқа терезелеріне тән қасиеттерге ие. Ал оның сырт бейнесі Windows-тың нұсқасына байланысты болады. Форманың жоғарғы сол жақ бұрышында басқару менюі орналасқан, тақырып жолы терезенің жоғарғы бөлігінде орналасқан, жоғарғы оң жақ бұрышта жыймалау,жаю,жабу кнопкалары бар. Терезенің түрін қандай да бір кнопкаларды алып тастау немесе тақырып жолын мүлде алып тастап,оны өзгермейтін өлшемді етіп өзгертуге болады. Жобалау кезінде форма нүктеден құралған тормен жабылған. Осы тордың түйіндерінде қолданушы формаға орналастырған компоненттер орналасады. Қосымшаны орындау барысында бұл тор көрінбейді. Кейбір жағдайларда әлдебір модулді жасау барысында форма мүлдем керек болмауы мүмкін. Формаға кез келген компоненттерді қойған соң ,олар бойынша контекстілік анықтаманы алуға болады. Ол үшін керек элементті ерекшелеп алып F1 кнопкасын басу керек. Егер форманың өзінде тұрып F1 кнопкасын басса, форма класы бойынша анықтама көрсетіледі.


7. Редактор коды  терезесі.

Редактор коды терезесі С++ Builder 6-да бағдарламалық модульді қарау кезінде оның үш беті болады. Оның екеуі орындалу файлының кодын (Unit.cpp) және тақырыптық файл кодын (Unit.h) көрсетеді. Тақырыптық файлдың коды автоматты түрде Редактор Коды терезесінде көрсетіледі. Редактор коды терезесі толық бағдарламалық редактор болып табылады. Редакторда синтаксистік элементтерді түс және шрифтімен ерекшелеу қолданылады. Жирный шрифтімен С++-тің кілттік сөздері белгіленеді. Жасыл түспен препроцессор директивалары белгіленеді. Көк курсивпен комментарийлер белгіленеді. Редактор Коды терезесінің тақырып жолында орындалып жатқан файл модулінің аты көрсетіледі. Терезенің жоғарғы бөлігіндегі закладкалар егер проектіде бірнеше модуль болса бір модульден екінші модульге өтуге мүмкіндік береді. Егер қайсыбір ашық тұрған модуль керек емес болса,онда оны Редактор кодындағы контесткілік менюде Close Page командасы арқылы жабуға болады. Редактор коды терезесінің сол жақ бөлігінде қарапайым текстілік редакторларға тән күй жолын көруге болады. Оның сол жағында жол мен баған индикаторы орналасқан. Оң жағына таман модификация индикаторы орналасқан,ол “Modified” сөзімен терезедегі кодтың өзгертілгенін және дискіде сақталғанымен сәйкес келмейтінін жеткізіледі. Күй жолының үшінші элементі – стандартты қою режимінің индикаторы. Редактор Коды терезесінде контекстілік анықтама бар.Кодтың қандай да бір сөзі жайлы анықтама алу үшін курсорды осы сөзге әкеліп F1 кнопкасын басу керек. Редактор Коды терезесі тек қана автоматты түрде орналасқан  бағадарлама модульдері файлдарын қарап және өзгертумен шектелмеген. Қолданушы File | Open командасы арқылы текстілік файлдарды және Интернетте жқмыс жасау барысында қолданылатын HTML файлдарын ашып және жүктеуіне болады. HTML файлдары редактор терезесінде Code бетінде текстілік түрде көрсетіледі. Бірақ С++ Builder-да мұндай файлдар үшін Preview атты алдын ала қарап шығу беті пайда болады. Онда HTML файлға сәйкес келетін Web беттерді көруге болады. Сонымен қатар тікелей Редактор Коды терезеінен HTML файлдарының сыртқы редакторын шақыруға болады. Ол үшін сол HTML  бетте оң жақ кнопканы басып контекстілік менюден html Editor бөлімін таңдау керек. Сол кезде HTML файлдардың сыртқы редакторы шақырылады,онда қолданушы бетті қарап және өзгерте алады. Өзгерткен соң бетті файлда сақтау керек. Сонда ИӨО-ға өткенде өзгертілген файлды редакторға қайта жүктеу туралы сұраныс жіберіледі. Оң жауап болса, Редактор Кодында өткізілген өзгертулердің нәтижесі бар файл жүктелген болады.   


8. Объектлер инспекторы.

Объектілер инспекторы С++ Builder-дағы объектілердің қасиеттерін өзгертуге арналған қарапайым және ыңғайлы интерфейспен және объект әсер беретін оқиғаларды басқарумен қамтамасыз етеді. Объектілер инспекторы терезесінде екі бет болады. Одан жоғары формада орналасқан барлық компоненттер тізімі бар. Ол жерден керектісін таңдап алуға болады. Объектілер Инспекторының қасиеттер(Properties) беті дәл осы уақытта қолданушы ерекшелеген объектінің қасиеттерін көрсетеді. Бос форма мен Объектілер Инспекторының қасиеттер терезесіне басу арқылы форманың қасиеттерін көруге болады. Бұл қасиеттерді өзгертуге болады. Қасиеттер мысалына Color(түсі), Height(биіктігі), Name(шрифт атауы), Style(стилі) келтіруге болады. Оқиғалар(Events) беті Объектілер Инспекторының екінші бөлімін құрайды. Онда таңдалған объект әсер беретін барлық оқиғалар көрсетілген. Мысалы, егер қолданушы форманы құру барысында қандай да бір әрекеттер орындау керек болса,онда OnCreate оқиғасын таңдау керек. Объектілер Инспекторын пайдалана отырып, қасиеттер мен оқиғалар жайлы контекстілік анықтаманы алуға да болады. Ол үшін Объектілер Инспекторы бетінде қажетті қасиетті немесе оқиғаны белгілеп F1 батырмасын басу керек. Объектілер Инспекторында қасиеттер мен оқиғаларды саралауға мүмкіндік бар және оларды категория бойынша топтастыруа да болады. Осы мүмкіндіктерді қолдану үшін Объектілер Инспекторы терезесінде оң жақ кнопканы басып, шыққан менюден View бөлімін таңдау керек. Ол кезде қасиеттер категориясының тізімі көрсетіледі. Әр категория жанында индикатор орналасқан. Ол индикаторды қосу арқылы тек сол категорияның қасиеттері шығатын болады. Toggle бөлімін таңдау бөлімдердің көрсетілуін ауыстырады,яғни бұрын көрінгендер көрінбей қалады және керісінше. All бөлімін таңдау барлық қасиеттер мен оқиғалардың көрінуіне әкеледі. Ал None бөлімін таңдау барлық қасиеттері мен оқиғаларды көрінбейтіндей етеді. Объектілер Инспекторы терезесінің төменгі бөлігінде көрінбейтін қасиеттер мен оқиғалар саны нұсқалады. Сол менюде сонымен қатар Arrange бөлімі бар,онда екі мүмкіндіктің бірін қоюға болады:by Name – қасиеттер мен оқиғаларды олардың аттарын алфавит ретімен топтастырады, немесе by Category – оларды категория бойынша сұрыптайды. Объектілер Инспекторының өте пайдалы қасиеті- берілген компонентте сілтемелері бар компоненттерді көрсету. Мысалы, MainMenu компонентіне форма сілтеледі. Ал ол компонент өз кезегінде бейнелер тізімі -ImageList компонентіне сілтеледі.Сілтеменің барын сол қасиеттің жанында «+» белгісінің бар болуы көсретеді. Осылайша Объектілер Инспекторы терезесінен шықпай бір толық байланысқан объектілердің тізбегінің қасиеттерін белгілеуге болады.


9. C++ Builder өңдеу ортасының тасу(перетаскивание) және салу(встраивание) терезелері.

Интеграцияланған өңдеу ортасында Drag&Doc технологиясы қолданылады. Бұл терезелерді тасу және салу. Салынатын терезені басқаларынан мынадай белгілері бойынша ажыратуға болады:1)Терезені жабу кнопкасы ғана бар жүйелік менюдің қысқартылған жолы.2)Басқанда шығатын менюде Docable қайта қосу кнопкасы бар, ол салынуды білдіреді. 3) Салынған терезені тасығанда егер терезе басқа терезе көлемінде орын ауыстыратын болса,оның рамкасының өлшемдері өзгеред.Терезелерді тасу экран аумағын үнемдеуге мүмкіндік береді. Ол үшін салынған терезенің шекарасындағы екі рамкадан тарту керек. Бұл уақытта оны контейнер-терезеден алып, өздігінен жеке етуге болады. ClassExplorer терезесін Код Редакторы терезесіне орналастыруға болаы. Терезелерді Объектілер Инспекторына салуға өте ыңғайлы. Олар бұл кезде жеке беттерге орналасады және экранда қосымша ешқандай орын алмайды.Керек болғанда қолданушы керекті терезесін қарау үшін соның закладкасын басады. Drag&Doc терезелерді салу технологиясы инструментальды панельдерде жасалған. Панельдерді басқару,өзгерту мүмкіндігі өте кең. Керек емес панельдерді көрінбейтіндей етіп те жасауға болады. Жеке панельдердің құрамына кнопкалар қосу немесе алып тастау арқылы өзгертуге болады.


10. Интегралданған өңдеу ортасы терезесін  конфигурациялық басқару.

Конфигурацияларды есте сақтауды бірнеше жолдар арқылы жасауға болады. С++ Builder-дің кезекті жұмысы басталғанда оған дейін жасалған конфигурацияны қайта келтіруге болады. Бірақ тек қана терезелер конфигурациясы емес,оларға енгізілген объект те қайта көрсетіледі. Сонымен қатар Код Редакторындағы курсордың орны да сақталады. Сол үшін ұолданушы тура аяқтаған жерінен жұмысын ары қарай жалғастыра алады. Бұл мүмкіндікті Tools | Environment Options командасын орындау арқылы жасалады. Ашылған диалогтық терезеде Preferences бетінде Autosave options опциялар тобында Project desktop опциясын қосу керек. Сонда ғана ағымдағы конфигурация және проектінің ашық файлдары автоматты түрде жұмыс аяқталған соң сақталады және автоматты түрде жаңа сеанс басталғанда қайта қалпына келеді. Осы опцияны қосқанда терезелер конфигурациясы әрбір проектіге қатысты сақталады. Конфигурацияны сақтау үшін View| Desktops | Save Desktop командасын орындау керек. Пайда болған диалогтық терезеде сақталатын конфигурацияның атауын беру керек. Бұл операцияны әр түрлі конфигурацияға бірнеше рет қолдануға болады. Нәтижесінде панелдегі тізімде қолданушы құрған конфигурациялардың атаулары шығып тұрады. Осыдан кейін қандай да бір проектімен жұмыс жасау барысында осы тізімдегі кез келген конфигурацияны ашуға болады. Ол үшін View | Desktops командасы арқылы конфигурациялар тізімін шығарып керегін таңдап алуға болады. Конфигурацияны таңдаған кезде Код Редакторы терезесіндегі ашық тұрған файлдар өзгеріссіз қалады. Конфигурацияда сақталады:а) Ашық терезелердің жиынтығы; б) терезелердің экрандағы орналасауы мен өлшемдері; в) әр терезенің күйі; г) терезенің қалыпқа келтірілуі. Жасалған конфигурациядан керек еместерін View | Desktops | Delete командасы арқылы алып тастауға болады. Сақталаған конфигурация үшін орнатылған әр түрлі қосымша терезелердің конфигурациялары түзету конфигурациясы ретінде қолданылады. Қайсысы екендігі View | Desktops | Set Debug Desktop командасы арқылы таңдалады. Түзеті режимінде қосымшаны орындауға жіберген кезде қолданушыға сақталған конфигурациялардың тізімі беріледі. Мысалы екі конфигурация сақталған болсын. Конфигурацияны орнату командасын орындау барысында түзету кезінде қай конфигурацияны көрсетсе,сол конфигурация қосымша орындалуға жіберілген кезде орнатылады. Аяқталған соң барлығы бастапқы қалыпқа келеді.


11. 23.  C++ Builder-де проектнің ұйымдастырылуы.

С++ Builder проектісі формалардан, тақырыптық файлдары бар модульдерден,олардың орындалуынан, проектінің параметрлерін белгілеуден тұрады. Осы барлық ақпарат файлдарда орналасады. Осы файлдардың көбісі қосымшаны құру барысында автоматты түрде жасалады. Матрицалар,пиктограммалар сияқты ресурстар қолданушы басқа дерек көздерінен алған немесе көптеген инструменттер мен ресурстар редакторы көмегімен жасалған файлдарда болады. Компилятор да файлдарды жасайды. Қосымшаны жобалаған кезде С++ Builder келесідей файлдар құрады:

Проектінің негізгі файлы(.cpp)

С++ Builder .срр файлын қосымшаны инициализациялайтын және оны орындауға жіберетін WinMain негізгі функциясы үшін құрады.  

Проект опциясының файлы(.bpr)

Бұл текстілік файлда проект опцияларының орнатылуы мен проектіге қандай файл компиляцияланатынын нұсқауы болады. Файл XML форматында сақталады.

Проект ресурстарының файлы (.res)

Проект ресурстары: пиктограммалар, курсорлары бар екілік файл. Үнсіз келісім бойынша тек проектінің пиктограммасы болады. Бейнелер Редакторы арқылы толықтырылады.

Модульді орындау файлы (.срр)

Қолданушы құрған әрбір формаға кодты сақтауға арналған модульді орындаудың текстілік файлы сәйкес келеді. Кейде қолданушы өзі формамен байланысы жоқ модульдерді құра алады.

Модульдің тақырыптық файлы (.һ)

Қолданушы құрған әрбір формаға кодты сақтауға арналған модульді орындаудың текстілік файлымен қатар оның форма класының суреттелуі бар тақырыптық файлы сәйкес келеді. Қолданушы өзі де керекті тақырыптық файлдарды құра алады.

Форма файлы (.dfm)

Бұл С++ Builder құрған формалар туралы ақпаратты сақтауға арналған екілік немесе текстілік файл.Оны текстілік файл түрінде немесе форма түрінде көруге болады. Әрбір форма файлына модуль файлы(.срр) сәйкес келеді.

Компоненттің тақырыптық файлы(.һрр)

Қолданушы жаңа компонент құрған кезде файл құрылады. Бұл файлдарды Include\VCL каталогында орналасқан компоненттер кітапханасынан қосуға болады.

Проектілер тобының файлы(.bpg)

Проектілер тобын құру барысында С++ Builder-да құрылатын текстілік файл.

Пакеттер файлы(.bpl және .bpk)

Бұл екілік файлдар С++ Builder-да пакеттермен жұмыс жасағанда қолданылады: .bpl – проектінің өзінің файлы, .bpk – пакеттің компиляциясы мен компоновкасын анықтайтын файл.

Проектінің жұмыс столының файлы(.dsk)

Бұл текстілік файлда проектімен соңғы жасалған жұмыс туралы ақпарат сақталады: ашық тұрған терезелер,олардың орналасуы мен көлемдері. Осыған байланысты жаңа сеанс кезінде алдындағы сеанстағы терезені көруге мүмкіндік болады. Файл тек Autosave options/Project desktop опциясы қосылғанда орындалады.

Келесі файлдарды компилятор құрады:

Орындалатын файл(.ехе)

Бұл қосымшаның орындалушы файлы. Ол автономды орындалушы файл болып табылады.

Модульдің объектілік файлы(.obj)

Бұл соңғы орындалатын файлға компоновкасы орындалатын компиляциядан өткен модуль файлы(.срр)

Динамикалық қосылатын кітапхана(.dll)

Бұл файл егер сіз жеке DLL-ды жобалаған жағдайда құрылады.

Символдар кестесінің файлы (.tds)

Қосымшаны ретке келтіруде реттеуші қолданатын екілік файл

Таңдамалы компоновка файлы (.il?)

Il(.ilc, .ild, .ilf, .ils) кеңейтілуінен басталатын файлдар,олар соңғы сеанстан кейінгі файлдардың қайталап компоновкасын жасауға мүмкіндік береді.


12. Проектнің негізгі файлдары.

Проектінің негізгі файлы(.cpp)

С++ Builder .срр файлын қосымшаны инициализациялайтын және оны орындауға жіберетін WinMain негізгі функциясы үшін құрады.  

Проект опциясының файлы(.bpr)

Бұл текстілік файлда проект опцияларының орнатылуы мен проектіге қандай файл компиляцияланатынын нұсқауы болады. Файл XML форматында сақталады.

Проект ресурстарының файлы (.res)

Проект ресурстары: пиктограммалар, курсорлары бар екілік файл. Үнсіз келісім бойынша тек проектінің пиктограммасы болады. Бейнелер Редакторы арқылы толықтырылады.

Модульді орындау файлы (.срр)

Қолданушы құрған әрбір формаға кодты сақтауға арналған модульді орындаудың текстілік файлы сәйкес келеді. Кейде қолданушы өзі формамен байланысы жоқ модульдерді құра алады.

Модульдің тақырыптық файлы (.һ)

Қолданушы құрған әрбір формаға кодты сақтауға арналған модульді орындаудың текстілік файлымен қатар оның форма класының суреттелуі бар тақырыптық файлы сәйкес келеді. Қолданушы өзі де керекті тақырыптық файлдарды құра алады.

Форма файлы (.dfm)

Бұл С++ Builder құрған формалар туралы ақпаратты сақтауға арналған екілік немесе текстілік файл.Оны текстілік файл түрінде немесе форма түрінде көруге болады. Әрбір форма файлына модуль файлы(.срр) сәйкес келеді.

Компоненттің тақырыптық файлы(.һрр)

Қолданушы жаңа компонент құрған кезде файл құрылады. Бұл файлдарды Include\VCL каталогында орналасқан компоненттер кітапханасынан қосуға болады.

Проектілер тобының файлы(.bpg)

Проектілер тобын құру барысында С++ Builder-да құрылатын текстілік файл.

Пакеттер файлы(.bpl және .bpk)

Бұл екілік файлдар С++ Builder-да пакеттермен жұмыс жасағанда қолданылады: .bpl – проектінің өзінің файлы, .bpk – пакеттің компиляциясы мен компоновкасын анықтайтын файл.

Проектінің жұмыс столының файлы(.dsk)

Бұл текстілік файлда проектімен соңғы жасалған жұмыс туралы ақпарат сақталады: ашық тұрған терезелер,олардың орналасуы мен көлемдері. Осыған байланысты жаңа сеанс кезінде алдындағы сеанстағы терезені көруге мүмкіндік болады. Файл тек Autosave options/Project desktop опциясы қосылғанда орындалады.

Келесі файлдарды компилятор құрады:

Орындалатын файл(.ехе)

Бұл қосымшаның орындалушы файлы. Ол автономды орындалушы файл болып табылады.

Модульдің объектілік файлы(.obj)

Бұл соңғы орындалатын файлға компоновкасы орындалатын компиляциядан өткен модуль файлы(.срр)

Динамикалық қосылатын кітапхана(.dll)

Бұл файл егер сіз жеке DLL-ды жобалаған жағдайда құрылады.

Символдар кестесінің файлы (.tds)

Қосымшаны ретке келтіруде реттеуші қолданатын екілік файл

Таңдамалы компоновка файлы (.il?)

Il(.ilc, .ild, .ilf, .ils) кеңейтілуінен басталатын файлдар,олар соңғы сеанстан кейінгі файлдардың қайталап компоновкасын жасауға мүмкіндік береді.

Басқа да Windows файлдары:

Анықтама файлдары(.hlp)

Бұл Windows анықтамасының стандартты файлдары

Бейнелер файлдары немесе графикалық файлдар(.wmf, .bmp, .ico)

Бұл файлдар әдетте Windows қосымшасында көркем қолданушы интерфейсін құруда қолданылады.


13. Проект каталогтарын ұйымдастыру.

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


14. Жаңа проект құру.

Жаңа проектті бірнеше жолмен құруға болады. Бірі – File | New|Application командасы немесе File| New Application. Тағы бір жолы – File| New| Other командасы арқылы. Бұл команданы таңдағанда New Items терезесі ашылады. Бұл объектілер Депозитарийінің сөресі болып табылады, яғни компоненттер, формалар және проектлер үлгісінің сақтау қоймасы. Жаңа проектіні ашу үшін New бетінде орналасқан Application(қосымша) пиктограммасын шерту керек. Application пиктограммасы бос формалы қосымшаны құрады.Бұдан басқа MDI Application пиктограммасы бар проект болады. Бұл MDI қосымшаларындағы секілді барлық стандартты функциялар жүзеге асырылған көптерезелі текстілік редактор. Одан бөлек Application Wizard пиктограммасы бар. Оны таңдау арқылы қолданушыға Мастер(Wizard) диалогтық терезелерден өткізіп,соңында менюі, инструментальды панелі,диалогтары бар қосымша құруға көмек береді. Нәтижесінде формада файлдарды ашу және сақтау, басып шығару және принтерді орнату компонент-диалогтары болады. Сонымен қатар модуль текстіне сәйкесінше комментарийлермен дайын кодтар енгізіледі. С++ Builder арқылы консольдық проектлерді – Win32  қолданатын және Windows-тағы  DOS терезесінде жіберілетін бағдарламаларды құруға болады. Ол үшін Депозитарий терезесінде New бетінде Console Wizard пиктограммасын таңдау керек.


15. Проектні сақтау.

Жаңа проектні құрғаннан соң екінші жасайтын қадам – оны сақтау. Егер қолданушы жұмысын проектні сақтаудан бастайтын болса, одан кейін компьютермен болған келеңсіз жағдайлардан қорықпауына болады. Сонымен қатар бірден сақтаудың артықшылығын растайтын тағы аргумент бар. Көптерезелі қосымшаларда ,сақтау арқылы әрбір модульге атауларды беріледі, олар бағдарламада өзара сілтемелер үшін қажет болады. Объектіні File | Save All командасы арқылы сақтауға болады. Және де сәйкес тез кнопканы да басу арқылы сақтауға болады. Бірінші сақтау түрінде сақталатын модуль файлының атауы сұралады,ал содан кейін проект файлының атауы. Бұл жерде модуль атауы мен проект атаулары бірдей болмауын қадағалау керек. Себебі, модуль файлы мен проектінің негізгі файлының кеңейтілулері бірдей - .срр, сол үшін бір-бірін жойып жібермес үшін әр түрлі аттармен сақталуы керек. С++ Builder-дің үнсіз келісім бойынша Unit1, Unit2 сияқты атауларды беру дұрыс емес. Себебі, егер сізде бір емес бірнеше проектлер болатын болса, онда олардың қандай проект екенін атауынан білу мүмкін болмайды. Және де сіздің проектілеріңізбен жұмыс жасағысы келетін басқа адамдарға да түсіну күрделі іс болады. Жаңа проект құрған кезде:1) Жаңа проектіге жаңа каталог құру керек. 2) File| Application командасы арқылы жаңа проект құру қажет. 3) File| Save All командасы арқылы проектті бірден сақтау керек. Келесі жұмыс сеанстарында сақталған проектілерді File| Open Project командасы көмегімен ашуға болады. Бірақ егер ол проектмен жақында жұмыс жасалған болса File|Reopen командасы арқылы ашқан ыңғайлы. Тағы тез кнопкалардың көмегімен де ашуға мүмкіндік бар. Тағы бір ыңғайлы әдіс болып С++ Builder ашылған уақытта автоматты түрде cоңғы сеанста қолданылған проект ашылатын болса. Ол үшін Tools|Environment Options командасын орындау керек.  Ашылған көпбетті терезеден Preferences бетіне өтіп, Autosave options автосақтау опциясының Project desktop индикаторын қосу керек.Сол кезде С++ Builder-дің кезекті қосылуларында соңғы сеанста жұмыс жасаған проектілер мен барлық терезелер ашылатын болады. Қолданушы өз проектін Депозитарийде сақтауына болады. Кейін керек кезде оны қайта алып отыруға,падалануға болады.


16. Проект менеджері(Project Manajer).

Проект менеджері(Project Manajer) – бұл проектілер тобын басқаратын инструмент. Проектлер тобы – бұл параллельді түрде жұмыс жасауға ыңғайлы біртектес проектлер тобын білдіретін термин. Мысалы, бұл клиент пен сервердің проектілері болуы мүмкін,олар қандай да бір ақпаратпен алмасады. Проект менеджері View| Project Manager командасымен ашылады. Егер сол уақытта ашық проект болмаса Проект Менеджері терезесінде <No Project Group> деген жазу шығады. Егер ашық проект болса,онда үнсіз келісім бойынша ProjectGroup1 атты топ құрылады,онда тек бір ғана проект болады. Әр түрлі модульдерге жататын жолдар жанында «+» символы тұрады. Оған басу арқылы сол модульдің құрамын ашуға болады. Осылайша Проект Менеджері қиын проект модульдерін қарауға ыңғайлы тәсіл береді.New кнопкасы топқа жаңа проект қосуға мүмкіндік береді. Remove(жою) кнопкасының іс-әрекеті Проект Менеджерінде қай жолдың ерекшеленіп тұрғанына байланысты. Егер модуль немесе форма ерекшеленген болса,онда сол объект жойылады. Ал егер .exe файлдың жолы ерекшеленген болса,онда проекттің өзі жойылады. Әрбір жоюдың алдында қандай да бір объектті жоюға келісім немесе келіспеу туралы сұраныс шығады. Егер жұмыс барысында шығатын менюді қолданатын болса,онда Open(ашу), Remove from Project(проекттен жою),  Save(сақтау), Save As(қалай сақтау) және тағы басқа бөлімдер бар болады. Егер терезеде модуль емес, проектті-файл аты .ехе ерекшеленген болса,онда менюде Add(жаңа форма немесе модуль қосу), Remove File(файлды жою – жою керек модульді таңдап алуға болатын диалогтық терезе пайда болады), Save(проектті сақтау) және тағы басқа бөлімдер шығады. Топқа тағы да проект қосу екі түрлі әдіспен жүзеге асырылады. Егер жаңа проект қосу керек болса, Проекттер Менеджері терезесінде New кнопкасын басып немесе проект тобының атын терезеде ерекшелеп,оң жақ батырманы басып,шыққан менюден Add New Project(жаңа проект қосу) деген бөлімді таңдауға болады. Егер топқа оған дейін құрылып жасалған проектіні қосу керек болса,проект тобының атын терезеде ерекшелеп,оң жақ батырманы басып,шыққан менюден Add Existing Project(бар проектті қосу) бөлімін таңдау керек. Топқа жаңа проект қосқанда Проект Менеджері терезесінде топтың барлық проектлері жайлы ақпарат тұратын болады. Топтың файлын сақтау үшін File| Save As командасын орындауға болады немесе Проект Менеджері терезесінде топтың атын ерекшелеп,оң жақ батырманы басып, шыққан менюден Save Project Group немесе Save Project Group As командасын таңдау керек. Проекттер тобы .bpg кеңейтілуімен сақталады. Проект Менеджері терезесі – салуға болатын, сол үшін оны,мысалы, Объектілер Инспекторына салуға болады, және ол экранда артық орын алмайды. Проект Менеджердің тағы бір ерекшелігі – файлдар талының қайсыбір түйіндері үшін локальды опцияларды тағайындау мүмкіндігі. Бұл проектлерді әр түрлі модульдер үшін әр түрлі қасиеттермен компиляциялауға мүмкіндік береді.

17. To-Do List тізімінің жұмысын жоспарлау.

To-Do List тізімі проектті жасау барысында шешу керек болатын ағымдағы есептердің тізімі болып табылады. Бұл есептер тізбекке тікелей кіруі мүмкін немесе модульдің кодынан соған қарай берілуі мүмкін. Тізімді жүргізу жұмысты жоспарлауды жеңілдетеді, есептерді саралауға және олардың өз уақытында және өз реті бойынша шешілуін қадағалауға мүмкіндік береді. Тізім әрбір проект үшін құрылуы мүмкін және файлда .todo кеңейтілуімен сақталады. Ағымдағы проектмен байланысқан To-Do List тізімін View| To-Do List командасымен көруге болады. Пайда болған тізімде келесідей кестелер бар:

Action Item

Шешілуге тиіс есептер. Әрбір есепке көрсетіледі:

Индикатор

Осы есептің шешілгендігін көрсетеді. Индикатор жалаушасы сол есептің шешілгендігін білдіреді.Бірақ ол кезде есеп жолы сызылған етіп көрсетіледі. Егер тізім қосылмаған Show Completed Items опциясымен болса,онда орындалған есептер тізімде мүмлдем болмайды.

Пиктограмма

Есептің сипатын көрсетеді:терезе пиктограммасы тікелей тізімге енген есепке сәйкес келеді,ал модуль пиктограммасы модуль кодына енгізілген есепке сәйкес келеді.Егер модуль пиктограммасы сұр түсті болса,бұл берілген модульдің ағымдағы проекттің бөлігі екендігін білдіреді.

Текст

Есепті суреттейді.Егер текст сұр түсті болса,бұл есептің Код Редакторында ашылмаған, берілген проекттің бөлігі болып табылатын модуль кодына енгізілгендігін білдіреді.

Priority

Бағанның тақырыбында леп белгісі көрсетіледі.Есептің деңгей приоритеті көрсетеді.Ең үлкен деңгей приоритетіне 1 сәйкес келеді,ең төменгі деңгей – 5.0 деңгейі берілген есепте приоритеттің жоқ екенін көрсетеді.

Module

Есеп енгізілген модульдің атын сақтайды.Бұл тізімнің бағаны автоматты түрде толтырылады.

Owner

Берілген есепті шешуге жауаптыны көрсетеді.

Category

Берілген есептің класын көрсетеді.

    Тізімде оң жақ батырманы басқанда контекстілік меню шығады,онда бірнеше командалар мен опцияларды таңдап алуға болады:

Add

Тізімге жаңа есепті енгізу.Диалогтық терезеде оны текстін(Text),классын(Category),приоритетін(Priority) және жауаптыны(Owner) көрсетуге болады.

Delete

Тізімнен есепті жою. Осыны есепті ерекшелеп Delete кнопкасын басу арқылы да жасауға болады.

Edit

Есептің суреттелуін өзгерту.Бұл кезде жаңа есепті енгізетін терезе сияқты диалогтық терезеге өтіп,керекті ақпаратты өзгерте алуға болады.Done индикаторын қою арқылы есептің аяқталғандығын белгілей аласыз.Оны тізім терезесінде де жасауға болады.

Start

Тізімді көрсетудің сұрыпталуы:Action Item-есептердің алфавиттік реті бойынша,Status-алдымен шығарылған,содан соң шығарылмаған есептер көрінеді,Type-алдымен алфавит бойынша тікелей тізімге енген,ал содан кейін модульге енгізілген есептер, Priority-приоритет бойынша, Module-модульдердің алфавиттік реті бойынша, Owner-жауаптылардың алфавиттік реті бойынша, Category-есептер классының алфавиттік реті бойынша.

Filter

Тізімде көрсетілетін есептердің фильтрациясы. Көрсету керек болған жағдайда есептер класын(Categories), жауаптыларды(Owners), және есептер типі(Item types) таңдауға болады.Current project source files-проект файлына енгізілген есептер, Open source files-ашық модуль файлдарына енгізілген есептер, Project To-Do file-тікелей тізімнің өзіне енгізілген есептер.

Show Completed Items

Орындалған есептерді көрсетуді қосатын опция

Show ToolTips When Clipped

Егер текст колонкада толық көрсетілмеген болса, курсорды жылжытқанда толық тексттің көрінуін қосатын опция

Copy As

Тізімді текст түрінде (Text) және HTML кестесі түрінде( HTML Table) көшіру

Table Properties

Copу As| HTML Table опциясын қолдану барысында кестенің көсретілуінің атрибуттарын белгілеу.


18. Проектге жаңа форма қосу.

Проектіге жаңа форманы енгізу әр түрлі әдістермен жасалуы мүмкін. Егер жаңа бос форманы енгізу керек болса, File| New командасын орындау керек. Енді проектке бұрын жасалған форманы енгізу әр түрлі әрекеттер нұсқасынан тұрады.Проектке дайын форманы қосу үшін Project| Add to Project командасын орындау керек.Ол кезде сол форманың атауы проектте бар форманың атауымен сәйкес болады,сол кезде “The project already contains a form or module named Form1”-«Проектте Form1 атауымен форма немесе модуль бар» деген ескерту шығады.Нәтижесінде форма  проектке қосылмайды. Бұл модульге де қатысты болады,егер оған атау алдын ала беріліп қойылмаса,басқа каталогтан форма модулін қосатын болған жағдайда олардың атаулары сәйкес Unit1 болып қалады.Ол кезде де ескерту шығарылады.Сондықтан проекттегі форманың атын өзгертіп қою керек. Егер модульге қатысты болса,онда оны File| Save As командасы арқылы сақтап жаңа атау беру керек.Бірнеше қосымшалардың бірдей форманы қолданудың өз кемшіліктері мен артықшылықтары бар. Егер бұл қосымшалар бірдей қолданушылармен қолданылатын бір-бірімен байланысқан топ құратын болса,онда ортақ формалардың болуы ыңғайлы болады. Егер форманы қолданатын қосымшалар әр түрлі болса немесе формалар онда әр түрлі мақсатта қолданылатын болса, бір қосымшада форманы өзгерткен кезде,егер оны компиляциялаған кезде оған дейінгі қосымшаның бұзылуына әкеліп соғады.Мысалы,формадағы бағдарламаның атын өзгеркен кезде,оған дейінгі қосымшаның да аты өзгертіледі,ал бұл қателікке әкеледі.


19. Форманың жеке көшірмесін жасау.

Басқа қосымшадан жаңа қосымшаға форманы қосқаннан кейін бірнеше қосымшалардың бірігіп форманы қолдануды болдырмау үшін Код Редакторы терезесінде осы форманың модуліне өтіп, модульді жаңа қосымшаның каталогында сақтай отырып File| Save As командасын орындау керек.Бұл кезде әр тұрлі қосымшалар бір форманың әр түрлі копиясын қолданады және олардың біреуінің өзгеруі қалғандарына әсерін тигізбейді. Форманың копиясын басқа да әдістермен құруға болады. Біріншіден, оны Windows немесе MS DOS құралдарымен құруға болады, жай ғана сәйкес файлдарды бір каталогтан екіншісіне көшіреміз. Бұл кезде форманың тек қана .срр модуль файлы емес, оның тақырыптық .һ файлы және бейне файлы .dfm екенін ұмытпау керек.Сол үшін барлық үш файлды көшіру қажет. Объектілік модуль файлын көшіресе де болады, себебі ол бағдарламада компиляция кезінде құрылады. Форманың автономды копиясын жасаудың келесі тәсілі – C++ Builder менюін қолдану. Кез келген уақытта  ашылатын форманың файлын көрсетіп File| Open командасын және File| Save As командасын тізбектей орындауға болады. Бұл командалардың алғашқысы форманы ашады, ал екіншісі қолданушы көрсететін орын мен беретін атаумен сақталады. Мұндай операцияның артықшылығы-сақталатын файлдың жиынтығын ойлаудың қажеті болмайды. C++ Builder автоматты түрде тек .срр файлды емес, .һ және .dfm файлдарын көшіреді.


20. Депозитариядан форманы уақытша алу(заимствование).

C++ Builder-да тағы бір мүмкіндік бар – Депозитариядан проектке қосылатын форманы уақытша алу. Ол үшін File| New| Other командасын орындау керек,бұл кезде New Items(жаңа элементтер) терезесі ашылады. Forms және Dialogs беттерінде проектіңізге уақытша формалар алуға болады. Уақытша алынған форма терезенің төменгі бөлігінде орналасқан үш радиокнопка арқылы анықталады:Copy – көшіру, Inherit-мұрагерлікпен алу, Use-қолдану. Егер Copy кнопкасы қосулы болса файлдар жай ғана қосымшаға көшіріледі. Ол көшірмені өзгертуге бола береді,себебі ол Депозитариядағы формаға әсер етепейді.Осы режимді C++ Builder құрушыларымен Депозитарияға қосылған форманың бірін проектке қосу үшін қолдануға болады.Депозитариядағы кейбір дайын формалар өте қарапайым, орындалатын кодтары болмайды. Кейбіреулерінде қиын кодтар болады,оларды қолдануға болады. Шаблондарды қолдану қосымшаңыздың индивидуалдығынан айырады.Ал бұл жақсы қосымшаның өте маңызды критерийі болып саналады. C++ Builder-дің дайын формаларын тек қарап шығу үшін, кодтардың кейбір фрагменттерін немесе терезенің кеңістігін ұйымдастырылу принципін уақытша алу үшін қолдануға болады. Егер есепте қосымшаның тез прототипін құру керек болса,онда дайын форманы қолданып,соңғы вариантында өзінікіне ауыстыруға болады.


21. Форма мен модульді проектге қоспай көру.

Проектпен жқмыс жасау барысында қолданушыда басқа проекттің формалары мен модульдерін қарау қажеттілігі туындайды. Бұл C++ Builder-дегі мысалдардың да формалары болуы мүмкін.Немесе қолданушы өзі бұрын жасаған формалардан өзіне керек операторларды алуы мүмкін.Ағымдағы проектке қоспай кейбір бар модульдерді ашу өте қарапайым. Ол үшін File| Open командасын орындау керек,сол кезде көрсетілген модуль файлы Код Редакторында пайда болады. Қолданушыға оны және оған сәйкес форманы қарап шығуына, өзінің модуліне Clipboard ауысу буфері арқылы қандай да бір операциялар немесе компоненттерді көшіруіне болады.Ашық модульді қолданып болған соң оның кодында оң жақ батырманы басып, пайда болған менюден Close Page командасын таңдау керек. Берілген модуль тексті мен оның формасы бар Код Редакторы беті жабылады. Осы әдіспен Код Редакторы терезесінде текстілік файлдарды және HTML файлдарды қарап шығуға болады.


22. Компоненттерді кітапхана бетінен формаға тасымалдау.

Формаға компонент тасымалдау үшін сәйкесінше палитра бетін ашып,содан керекті компонентті тауып алу қажет. Іздеу барысында қандай да бір пиктограммада курсорды нұсқағанда пайда болатын ярлыктар көмегін тигізеді. Керек компонентті курсормен ерекшелеп алып, форманға қоятын жерге апарып қоюғ керек.Екінші нұсқасы – компонентте екі рет шерту керек.Онда компонент форманың ортасына тұрады,содан соң оны керек жерге апарып қоюға болады.Егер формаға бірнеше бір типтес компонент қою керек болса,онда алдымен Shift пернесін басып тұрып,сәйкес кітапхана бетіндегі қажетті пиктограммаға шерту керек.Одан соң Shift-ті жіберіп,форманың бірнеше жеріне басу керек.Әрбір шерткен кезде бір компоненттен орналасып отырады.Бұл процессті үзу үшін палитраның сол жағында орналасқан диагональ бойынша жоғары және сол жақта бағытталған нұсқағышы бар кнопканы басу керек.Кей жағдайда қолданушы компонент атын біліп тұрып,оның қандай бетте орналасқанын ұмытып қалып таппауы мүмкін.Бұл жағдайда View| Component List командасы көмектеседі.Оның орындалуы барысында барлық компоненттері алфавит бойынша тізілген тізімі бар диалогтық терезе ашылады.Одан керекті компонентті атауы бойынша тауып алуға болады.Ол кезде жоғарыда орналасқан Search by name атты тез іздеу терезесі көмектесе алады.Атаудың алғашқы әріптерін енгізе бастағанда нұсқауыш тізімнің керекті бөліміне жылжиды.Керек компонентті таңдап алған соң Add to form кнопкасын басып немесе таңдалған компоненттің үстінен екі рет шерткенде ол формаға тасымалданады.Егер керек компонентті тауып алғанға сенімсіз болсаңыз,F1 кнопкасын басу керек,сол кезде ерекшеленген компонент бойынша анықтама көрсетіледі.Егер тасымалданған форма керек емес болып шықса,оны ерекшелеп Delete пернесін басу керек.Компонентті формаға тасымалдаған кезде бірден оның Name атауын өзгерткен қолайлы.Берілген атау мағыналы болу керек,себебі кейін қандай да бір компонент немесе функцияның нені білдіретінін түсіну оңай болады.Олай етпеген жағдайда он шақты форма,он шақты белгі,он шақты меню бөлімдерімен жқұмыс жасау барысында,міндетті түрде қай компоненттің не үшін арналғанын және қандай функцияны атқаратынын білу қиыншылыққа әкеледі.Компонентті формаға тасымалдай отырып,оны керек жерге орналастыруға және өлшемдерін өзгертуге болады.Ол үшін сол керек элементті ерекшлеп алу керек.Ол маркерленген шектеумен қоршалады.Курсормен бір маркерді созатын болса,компонент өлшемі өзгереді. Формада орналасқан компоненттің үстіне курсорды ұзақ басып тұратын болса,компоненттің атауы бар ярлык шығады,ал компоненттің үстіне басатын болса,оның орын ауыстыруы немесе өлшемдерінің өзгеруі кезінде компоненттің өлшемі көрсетілген ярлык шығады.

24. Parent және Owner компоненттері.

Көп жағдайда компоненттер тікелей формаларда емес мақсаттары бойынша компоненттер тобын құрайтын панельдерде орналасады.Бұл жағдайда алдымен формада панельдер орналасады,содан кейін олардың үстіне компоненттер орналасады. Терезелік компонент – өқрамында басқа да компоненттері бар форма,панель,оларға қатысты «аталық» компонент ретінде шығады.Әрбір компоненттің «аталығы» болады.Ол ретінде басқа форма немесе терезелік компонент болуы мүмкін.Қосымшаны орындау процесі барысында қандай да бір компоненттің «аталығын» оның Parent қасиеті бойынша білуге болады.Бұл қасиетті тек орындау уақытында оқуға және өзгертуге болады,Объектілер Инспекторында таба алу мүмкін емес.Компонент өзінің «аталығының» көптеген қасиеттерін мұра етіп алуы мүмкін. Барлық визуалды компоненттер үшін Объектілер Инспекторында ParentFont жәнеParentShowHint қасиеттерін,терезелік компоненттер үшін тағы ParentCtl3D қасиетін көруге болады.Бұл қасиеттер (егер олардың мәндері true қабылдаса) еншісіндегі компоненттің аталық компоненттен сәйкесінше шрифт атрибутын,ярлыктарды көрсетуді,өзінің сырт бейнесінің атрибутын мұра етіп алады.Одан басқа кез келген визуалды компоненттер үшін Объектілер Инспекторында көре алатын және компоненттің сол жақ жоғарғы бұрышын анықтайтын Left және Top қасиеттерінің мағынасы аталық компоненттің координата жүйесінде өлшенеді.Осылайша,мысалы,аталық компонент көшірілген кезде,оның барлық еншісіндегі компоненттер де көшіріледі.Anchors қасиеті еншісіндегі компоненттің аталық компонент шекарасына жалғануын анықтайды.Еншісіндегі компонент пен аталық компонентті байланыстыратын тағы екі маңызды қасиет бар.Бұл Visible-көрінетін және Enabled-рұқсат етілген.Егер процесс барысында аталық компонентте Visible қасиетін false мәніне тең деп алатын болсақ,онда тек қана аталық емес,оның барлық еншісіндегі компоненттер де көрінбейтін болады.Сол сияқты,егер процесс кезінде аталық компонентте Enabled қасиетінің мәнін false десек,онда оның барлық еншісіндегі компоненттер де рұқсат етілмейді.Яғни,қолданушы берілген аталық компонент бойынша кнопкаларды баса алмай,басқа да әрекеттерді орындай алмайтын болады.Parent қасиетімен көп шатастырылатын тағы бір компоненттер қасиеті бар.Бұл қасиет Owner – берілген компоненттің иеленушісі. Owner қасиеті қосымшаның орындалу процесі барысында компонент құру кезінде тағайындалады. Компонент иеленушісі – бұл жойылу барысында берілген компоненттің өзі де жойылатын компонент.Аталық және еншісіндегі компоненттерді байланыстыратын қасиеттер жиынына қарағанда осымен иеленуші мен ол иеленетін компонент арасындағы байланыс шектеледі.Үнсіз келісім бойынша формада орналасқан барлық компоненттердің иеленушісі мен аталығы болып форманың өзі болады.Бірақ егер жобалау процесінде компонент тікелей формада емес,басқа терезелік компонентте орналасатын болса,мысалы,панельде,онда оған аталық болып осы панель тағайындалады. Терезелік элементтердің барлық еншісіндегі компоненттер Z-тізбекте орналасады.Бір-бірінің үстінде орналасқан компоненттер үшін Z-тізбек олардың қайсысының көрінетіндігін анықтайды.Осы тізбекте жоғары орналасқаны көрінетін болады.Әдетте компоненттер тізбегі олар формаға орналасқан тізбекке сәйкес келеді.Бірақ белгі секілді терезелік емес компоненттер Z-тізбекте панель және кнопка сияқты кез келген терезелік компоненттерден төмен орналасады.


27. 59. Формада компоненттерді «көп қабатты» орналастыру.

Компоненттер өте жиі панельдерде орналасады. Одан басқа панельдер бірінің үстіне бірі орналасады,сонда формада компоненттердің «көп қабатты» орналасуы болады. Егер компонентті кітапханадан формаға емес,панельге апарса,онда бұл панель оған аталық болып табылады. Оны енді аталық панельден тыс ешқайда қоюға мүкін болмайды.Егер компонентті берілген панельге орналастырмай,басқа панельге немесе тікелей формаға орналастыру керек болса,онда оны Clipboard ауысу буфері арқылы жасауға болады.Тасымалданатын компонентті курсормен ерекшелеп, оны Clipboard-та Edit| Cut командасымен немесе Ctrl+X пернесі арқылы қиып алуға болады.Одан кейін формада немесе компонентті көшіру керек болатын панельге басып, Edit| Paste командасын немесе Ctrl+V пернесі арқылы қоюға болады. Компонент Clipboard-тан жаңа орынға тасымалданады және панель немесе форма болатын жаңа аталығы пайда болады.Жобалау процесі кезінде панельді тасымалдау барысында ол формада немесе басқа панельде орналасқан қандай да бір компоненттерді басып қалуы мүмкін.Ол басылып қалған компоненттердің көріну-көрінбеуі олардың Z-тізбегіндегі орнына байланысты болады.Белгі секілді терезелі емес компоненттер әдейі көрінбейтін болады,себебі олар Z-тізбекте кез келген терезелік панельдерден төмен орналасады.Ал басқа терезелік панельдер,кнопкалар,өзгерту терезелері компоненттердің көрінуін басқаруға болады.Бұл Edit| Bring To Front  және Edit| Send To Back меню командасымен орындалады.Олардың алғашқысы ерекшеленген терезелік компонентті Z-тізбектің төбесіне ауыстырады және ол басқа барлық терезелік компоненттерді басып тастайды.Ал екінші команда ерекшеленген терезелік компонентті Z-тізбектің ең төменіне орналастырады және кез келген басқа Z-тізбекте жоғары орналасқан компоненттер оны жауып тастайды.Бұл командаларды оңайырақ орындауға болады:оң жақ батырманы басып,оларды шыққан менюден таңдап алу.


28. «Жоғалған» компоненттерді іздеу.

Кейде формада бар болған компоненттің табылмай қалуы мүмкін.Бұл бірнеше себептермен болады.Мысалы,егер AutoSize қасиеті true етіп қойылған және Caption жазуының мәнін өшіріп TLabel белгісін қолданса,онда белгінің горизонталь өлшемі 0-ге дейін кішірейеді және қосымшаны орындау барысында Caption мәні өзгермейінше ол формада көрінбейтін болады.Компонент егер Z-тізбекте одан жоғары орналасқан басқа компонентпен жабылған болса «жоғалуы» мүмкін.Басқа да себептер әсер етеді,мысалы,компонент фонмен түстес болып кететін түс таңдалған кезде. «Жоғалған» компонентті оның атауын Объектілер Инспекторы терезесінің жоғарғы бөлігінде орналасқан тізімнен таңдап табуға болады.Бұл тізімде формадағы барлық компоненттер тұрады.Егер одан керекті компонентті таңдап алса,онда формада оның айналасында үстінен басқа панельмен немесе басқа компонентпен жабылаған болған жағдайда да көрінетін маркері бар рамка пайда болады.Бұл кезде Объектілер Инспекторында табылған компоненттің қасиеттер мен оқиғалар беттері көрінетін болады.Егер іздеу мақсаты сол компонентке қандай да бір қасиеттер немесе оқиғалар өңдеушілер мәндерін белгілеу керек болса,одан басқа ештеңе жасаудың қажеті жоқ.Егер басқа компонентпен немесе панельмен жабылған компонентке жету керек болса,онда оларды уақытша бір жерге ығыстыру керек,немесе оларды Z-тізбектің төменіне ығыстыратын Send To Back командасын орындау керек.Формада компонентті табудың тағы бір тәсілі – оның төбесін Объектілер Талдарында ерекшелеу.Ештеңені қозғалтпай үстінде бірнеше панелдер жатқан панелді алу,немесе панелдермен басылған формаға жету сұрағы маңызды болып табылады.Ол үшін жоғарғы панельді ерекшелеп Esc пернесін басу керек.Объектілер Инспекторы терезесінде төменде жатқан панельмен байланысқан беттер ашылады.Esc пернесін тағы басатын болса, келесі қабаттың беттері ашылады және т.с.с,барлық форма беттері ашылғанға дейін.Егер панельдің бір ғана қабаты болса,онда форма беті ең алғашқы Esc пернесін басқанда ашылады.


29. Object TreeView терезесі және Редактор Коды  диаграммасының беті.

Object TreeView терезесі қолданушы қосымшасындағы бар барлық визуалды және визуалды емес компоненттер талын көрсетеді.Ол компоненттер арасындағы әр түрлі байланыстардың түрлерін көрсетеді:аталық және еншісіндегі компоненттердің арақатынасы, компоненттердің қасиеттері арқылы байланыс, деректер жиынтығы байланысы және т.б.Объектілер талы терезесін формаға қандай да бір панельдер,компоненттер орналастырған соң қарауға болады.ИӨО конфигурациясында ол терезе экранның сол жақ бөлігінде орналасқан.Немесе егер ол терезе көрінбейтін болса,онда View| Object TreeView командасын орындау керек.Егер талдағы бір төбені ерекшелеп алатын болса,сәйкес компонент формада ерекшеленеді,ал Объектілер Инспекторында оның қасиеттер мен оқиғалар беттері ашылады.Сол үшін Объектілер Талдары арқылы формада «жоғалған» элементті табуға болады.Компоненттерді бір аталық контейнерден келесіне көшіру үшін,талда сәйкес төбені басқа аталық төбеге,мысалы,басқа панельге апарып қою керек.Формадағы компонент бұл кезде жаңа аталықтың өрісіне орын ауыстырады.Тура осы жолмен деректер қорымен жұмыс кезінде деректер көздерін,жинағын,деректерді көрсету компоненттерін тасуға болады.Диаграмма құру үшін Объектілер Талы терезесі Код Редакторының Diagram бетімен бірге қолданылады.Бұл беттегі Name терезесі құрылатын диаграммаға қандай да бір атау беруге мүмкіндік береді. Description терезесі диаграмманың тесктілік суреттелуін құруға мүмкіндік береді.Егер берілген модульге бірнеше диаграмма құрылған болса,сол жақтағы шығатын тізімнен керек диаграмманы таңдап алуға болады.Тізім жанындағы сол жақ тез кнопкасы жаңа диаграмманы құруды бастауға мүмкіндік береді.Оның оң жағында диаграмманы өшіретін тез кнопка орналасқан.Ең басында диаграмма өрісі бос болады.Оған керек компоненттерді қою үшін олардың төбелерін Объектілер Талы терезесінен алып қою керек.Көшірілген компоненттер бейнелерінің арасында олардың арасындағы байланысты суреттейтін нұсқағыштар автоматты түрде пайда болады.Осыдан кейін оларды диаграмма терезесінде көрнекі етіп қою ғана қалады.Егер нұсқағыштардың орта нүктелерінің бірінен тартатын болса,нұсқағыш майысады.Осылайша,нұсқағыш сызығын бөлік-сызықты етуге болады.  

30. Компоненттер тобымен жұмыс істеу.

Формада қандай да бір операциялар қолданылатын компоненттер тобын ерекшелеуге болады. Ерекшелеуді екі әдіспен жүзеге асыруға болады.Егер компоненттер тікелей форманың өзінде және бір-бірінің жанында орналасқан болса,онда ол топты ерекшелеу үшін олардың айналасына курсормен рамка жасау керек,сол кезде олардың бәрі ерекшеленген болады.Егер топтың компоненттері тікелей формада орналаспай,мысалы,панельде орналасқан болса,онда оларды рамкамен ерекшелеу мүмкін емес.Сонымен қатар форманың әр жерінде орналасқан топтың компоненттерін де рамкамен ерекшелеуге болмайды.Бұл жағдайда ерекшелеу басқалай жасалады.Керек элементтерді курсормен Shift-ті басып тұрып белгілеу керек.Осылай ерекшеленген барлық компоненттер топқа енетін болады.Ерекшеленген компоненттер тобына мынадай операциялар қолдануға болады:

  1.  Курсормен ерекшеленген элементтің бірін тарту арқылы,оларды біруақытта орын ауыстыру.Бұл формадағы компоненттерді олардың өзара орналасауын бұзып алмау үшін ыңғайлы болады.
  2.  Объектілер Инспекторында барлық топқа ортақ қасиеттерді беру. Объектілер Инспекторының қасиеттер бетінде топты ерекшелегенде олардың тек ортақ қасиеттері көрінеді.Ал Name компонент атауы немесе Caption жазуы жоғалып кетеді.Барлық ерекшеленген компоненттердің шрифтін,бейнеленуін,түсін белгілеуге болады.
  3.  Топтың барлық компоненттеріне ортақ қандай да бір оқиға өңдеушіні тағайындауға болады. Жобалау барысында мұндай қажеттілік жиі туындайды.
  4.  Барлық топты Clipboard алмасу буферіне Edit| Copy командасы арқылы немесе Ctrl+C батырмалары арқылы көшіруге болады.Осыдан кейін басқа форма ашып оған Clipboard-тан  Edit| Paste командасы немесе Ctrl+V батырмалары арқылы топты орналастыруға болады.Бұл бір формадан екіншісіне фрагменттерді тасудың оңай тәсілі.Бұл тәсілді компоненттер тобын бір панельден екіншісіне тасуда қолдануға ыңғайлы.
  5.  Топтың компоненттерін өлшемдері мен өзара орналасулары бойынша түзету.

Түзету кезінде Edit| Align – орналасуды түзету, Edit| Size – өлшемдерді түзету, Edit| Scale – масштаб бойынша командаоары қолданылады.


31. Компоненттер фиксациясы.

Компоненттерді ұқыпты орналастырып және түзеткеннен соң оның орналасуын фиксация жасаған жөн. Өйткені жобамен жұмыс істеп жатқанда курсормен белгілеп жатқан кезде абайсызда компоненттерді қозғалтып жіберуіңіз мүмкін, сондықтан түзету жұмыстарын қайта басынан жасай керек болады. Осы келеңсіз жағдайлар болмас үшін Edit|Lock Controls командасын орындаймыз. Бұл команда формадағы барлық компоненттердің орнын қозғалып кетпейтіндей фиксация жасайды. Болашақта компоненттерді өзгерту керек болса, онда қайтадан Edit|Lock Controls командасын орындаймыз. Бұл компоненттерді өзгертуге мүмкіндік туғызады.

32.58.Депозитария- проект және формалар қоймасы.

Депозитарияға (Repository қоймасы) File| New| Other командасын орындағанда кіре аламыз. Сол кезде New Items диалогты терезеcі ашылады. Бұл жерде біз Borland мамандары жасаған Builder C++ программасына енгізілген дайын формаларды таңдай аламыз.

Алдында сәтті жасалған жобаңызды қайта қолданғыңыз келгенде оны каталогтан  іздеп табу өте қиын болады. Алайда біз сол сәтті жасалған жобаларымызды тіркеп қою мүмкіндігі болғанын қалаймыз. Мұндай мүмкіндікті Депозитария көмегімен аламыз.

Депозитария формаларды сақтап қана қоймай оны иеленеді. Депозитарияда форманы сақтау үшін кез келген озіңіз жасаған формаларыңызды қолдануыңызға болады. Депозитарияға форманы кіргізбез бұрын оның модулі міндетті түрде файлда сақталуы керек. Форманың үстіне тышқанның оң батырмасын басып Add To Repository бөлімін таңдаймыз. Сол кезде диалогты терезе ашылады. Содан соң Title бөліміне форма атын жазамыз. Келесі бөлім Description –ға түсінік ретінде сипаттама жазуға болады. Page бөлімінде Депозитария беттерін таңдауға болады. Author бөліміне автор ретінде өзіңіз туралы жазуға болады. Барлық бөлімдерді толтырып болған соң OK батырмасын басамыз. Енді осыны келесі приложенияларда қолдана аламыз. Ол үшін File| New| Other командасын орындаймыз және ашылған New Items бөлімінен сол форманы іздеп тауып ала аламыз.


33. Code Insight-ты қолдану.

Бұл құрал Код Редактор терезесінде орналасқан және ол код жазғанда үлкен көмегі тиеді. Ол көптеген жағдайларда сипаттамалар аттарын, әдістерін, оқиғаларды, аргументтер түрін және т.б анықтап айтып бере алады. Code Insight екі режимде жұмыс істейді: автоматты және автоматты емес. Автоматты режимі жаңадан бастағандарға өте пайдасы зор, ал тәжірибелілерге ол кедергі келтіреді. Сондықтан автоматты режимді ошіріп Code Insight керек кезде ғана шақыру мүмкіндігі бар. Ол үшін Ctrl+Shift+пробел немесе Ctrl+пробел пернелерін басамыз. Code Insight келесі функцияларды орындайды: 1. Кодты аяқтау. Егер приложенияда компонент атын жазып содан соң (- >) белгісін қойып біраз күте тұрсаңыз  барлық қасиеттер тізімі жазылған терезе шығады. Керегін таңдап Enter бассақ керек код жазылады. Осылай Code Insight-тің автоматты режимі жұмыс істейді. Егер автоматты режим өшірулі болса сол көмекті,жеңілдікті шақыра аламыз. Компонент атын жазып(- >) белгісін қойып Ctrl+пробел пернесін басамыз. 2. Функция ,процедура және әдістер параметрі. Егер де Code Insight автоматты режимде жұмыс істеп тұрса, онда функция атын жазғаннан соң жақша ашсақ онда параметрлер тізімі және түрлерін көреміз. Және де аргумент мәнін енгізіп жатқанда  келесі параметр түрі көрініп тұрады.

34. Class Explorer класстар зерттеушісі.

 Class Explorer класстар зерттеушісі барлық ағаш типтерін,класстарын, қасиеттерін,әдістерін, ауқымды айнымалылар мен ауқымды функцияларды ашық Код Редакторында көрсетеді. Class Explorer класстар зерттеушісі үнсіз келісім бойынша қондырылған Код Редакторы терезесінде автоматты түрде пайда болады. Алайда бұл үнсіз келісім әрекеті  ClassExplorer бетіндегі Automatically show Explorer опциясын Tools|Environment Options командасын орындау арқылы өшіргенде өзгеруі мүмкін.

Класстар зертеушісі терезесінен өзіміздің жобамыздың құрылымын, модульдерін,классын көре аламыз. Және де бұл терезеде  қолданылатын кейбір белгілер кездеседі: жоба-Project1, формалар- TForm1, TForm2, public, _published, Button1, Label1, private, SetA.

 Егер КодРедакторы терезесіндегі айнымалы немесе функцияға шертсек, онда Код Редакторы терезесіндегі курсор жолға көшеді.

Классты зерттеушідегі Контексті мәзірде  Class Hiearchy бөлімі бар. Бұл бөлімді таңдағанда класстар иерархиясы деген бөлек терезені ашады. Ол ClassExplorer терезесіндегі бар ақпараттарды қамтиды.


35. Редактор кодының терезесіне орнатылған өңдеуді қолдау(поддержка разработки).

 Көптеген инструменттердің функцияларын шақыру мүмкіндігі контексті мәзіріндегі Код Редактор терезесінде орналасқан. Оны тышқанның оң батырмасын басу арқылы шақыра аламыз. Егер шерткен кезде курсор компоненттің атында, қасиетінде,әдісінде,тұрақты,айнымалыда,функцияда және т.б орналасса, онда контексті мәзірде Find Declaration-хабарламаны іздеу бөлімі шығады. Осы бөлімді таңдау арқылы берілген элемент кодының хабарламасын көре аламыз. Егер бұл объект  өзіміздің модульде анықталған болса, онда курсор жай ғана хабарламасы бар жолға қарай ауысады. Керекті ақпараттарды алғаннан соң  Код Редакторы терезесіндегі бөлек модульдерді алып тастауға болады. Ол үшін контексті менюдегі Close Page командасын қолданамыз.

Егер курсорды  тақырыпты файлдың атына  ауыстырсақ , онда тышқанның оң батырмасын  шертіп, ағылып шыққан мәзірден Open File at Cursor бөлімін таңдймыз, сонда Код Редакторы терезесінде сәйкес файл жүктеледі және ол жерден әр түрлі ішінде бар функцияларды, тұрақтыларды, макростарды  қарай аламыз.

Енді кодтағы және закладкаларды қолданудағы  навигация мүмкіндіктерін қарастырайық. Закладканы жасау үшін курсорды керекті жолға қою керек. Ол үшін тышқанның оң батырмасын шертіп Toggle Bookmarks командасын орындау керек.

Осы жерде тышқанның сол жақ батырмасын басу арқылы закладканы белгілеп қоюға болады. Код жолында номері бар пиктограмма шығады. Егер ертеде енгізілген закладканы өшіріп тастау үшін сол закладкаға тышқанның оң жақ және сол жақ батырмасын қайталай арқылы басу керек.

Егер болашақ жұмыс барысында енгізілген закладкаға қайта оралу үшін Goto Bookmarks командасын орындаймыз және аналогты закладкалар тізімнен керектісін таңдаймыз.


36. C++ Builder анықтамалық жүйесі және оның OpenHelp кескіндеулер программасы.

 C++ Builder анықтамалық жүйесі Help мәзірінен шақырыла алады. Ол мәзірдің бөлімдері бар:

Анықтаманы тек Help мәзірінен ғана емес С++Builder-дің кез келген терезелерінен алуға болады. Формада кез келген компонентті белгілеп, F1бассақ анықтаманың тақырыбы көрсетіледі. Егер де Код Редакторы терезесінде тұрып курсорды кез келген компонент функциясына қойып ,F1 –ді бассақ та бізді қызықтыратын анықтама шығады. Сәйкес, компоненттің қасиеті туралы контексті анықтама алуға болады. Ол үшін Объектілер инспекторы терезесінен сәйкес қасиетті белгілеп алу қажет.

Өкінішке орай, кейде контексті анықтама дұрыс жауап бермейді. Кейде жауапта мұндай тақырып жоқ деген сияқты хабарламама жіберуі мүмкін. Ал кейде тіптен басқа тақырыпқа қарай ауытқып кетеді.

Егер де бізді С++ немесе С++Builder  жайлы анықтама қызықтырса, онда мұндай жағдайда қажетті тақырыпқа анықтама алу үшін Содержание яғни мазмұны деген беттен анықтама алуға болады. Ал егер де компонент , қасиеттер, әдістер жайлы анықтама қажет болса,онда сол бетте “Visual Component Library Reference” (Обзор библиотеки визуальных компонентов) кiтабын ашу, содан соң “Alphabetical Object and Component Listing”(Алфавитный список объектов и компонентов) ашу ыңғайлы болып келеді. Бұл тізімнен алфавит бойынша қажетті компонентті іздеп тауып алуға болады. Ал анықтама терезесінен әрқашан да компоненттің қасиеті, әдістері мен оқиғалары жайында табуға болады.

Егер С немесе С++ -тің типтері және  функциялары  туралы анықтама табу керек болса, онда анықтама бетінде Содержание/Мазмұнынан “C Runtime Library Reference” (Обзор библиотеки С)немесе “Standart C++Library” деген кітаптардың біреуін ашу ыңғайлы. Сәйкес бөлімдерден барлық типтер мен функциялар тізімін аламыз.

Енді  анықтамалар жүйелеріне түзету жасауға болатын өте қызықты құрал Borland OpenHelp жайлы айта кетейік. Оны шақыру үшін Help| Customize командасын орындаймыз.

OpenHelp жобада анықтамалық жүйе туралы ақпаратты сақтайды. Бұл жобаның файлының кеңейтілуі .ohp және ол / Help каталогында сақталған. OpenHelp-тің тағы да ескіріп кеткен анықтамалық файлдарды жуйелік реестрдағы сілтемелерді жою мүмкіндігі бар. Ол үшін OpenHelp терезесінде File| Clean Registry командасын орындау арқылы іске асыруға болады.

37. Проектні құрастыру және компиляцияға жіберу.

Қосымшаны компилациялау әр түрлі әдіспен орындалуы мүмкін. Компиляция  Run|Run командасы арқылы немесе жедел батырма немесе Ғ9 батырмасы арқылы орындалады. Осы жағдайда бағдарламаның компиляциясы, компоновкасы орындалады және орындалу модулі .exe жасалынады сосын ол орындалуға жіберіледі. Алайда .exe модулінің  жасалуы компиляция кезінде қате болмағанда ғана құрылады. Егер компиляциядагы файлда жөнделмейтін қателер болса, онда орындалатын файл құрылмайды. Ал егер де қателер болмаса, онда фай құрылады, бірақ та мұндай жағдайдың өзінде де компиляторда ескертулері болуы мүмкін. Run командасын орындау кезінде командалық жолды шақыра аламыз. Ол үшін алдымен Run| Parameters командасын орындаймыз және ашылған терезеге командалық жол қажет ететін команданы жазамыз.

Жобаны құрып оны бірден компиляцияга жібере бермейміз. Тек соңғы өзгертулерде қате бар жоғын тексеру маңыздырақ. Өйткені ол үшін уақыт жұмсамаған абзал. Одан да мәзірдің басқа да командаларын қолданған дұрыс: Project| Compile Unit, Project| Make Project немесе Project| Build Project.

Compile командасы компиляцияны тек Код Редакторы терезесінде немесе Жоба менеджерінде біз белгілеген модуль үшін ғана орындайды. Егер компиляция сәтті өтсе, онда объекті файл .obj құрылады.

Make командасы мәтіндері өзгертілгеннен алдыңғы жобаның компоновкасынан бастап  барлық модуль үшін компиляция жасайды. Егер компиляция сәтті өтсе, онда  модульдің объктілі файлы .obj құрылады және программаның компоновкасы жасалынады. Егер ол да сәтті өтсе, онда орындалу модулі .exe құрылады. Яғни Make пен Run командасының айырмашылығы тек компоновкадан кейін приложениенің орындалуы жүрмейтіндігінде.


38. Құрастырушы және компилятор хабарламасы.

 Компилятор қандай қателіктер мен ескертулер туралы хабарламалар беретініндігі жайлы қарастырайық. Ол үшін қарапайым қате операторы бар приложение/қосымша құрап көрейік. Жаңа приложение/қосымша бастап, формаға Label белгісін Button батырмасын көшіреміз. Батырма шертпесіне келесі операторды жазамыз:

void_fastcall TForm1::Button1Click(Tobject *Sender) .

{

int i,j;

double A;

for(i=0; i<50; i++)

A *= 10000;  // A 10000 есе өседі

Label1->Caption = “A= ” +B;

Бұл код  50 рет орындалатын және әр итерацияда А айнымалысын 10000-ға өсіретін for циклын қамтиды.

Енді Run| Run немесе жедел батырманы немесе F9 батырмасын басайық. Код Редакторы терезесінен суреттегідей бейнені көреміз:

Терезенің төмен жағында қателіктер мен ескертулер туралы хабарлама көрінеді. Бірінші хабарлама :

[C++ Warning] Unit1.cpp(23): W8013 Possible use of ‘A’ before definition ([C++ предупреждениеъ модуль Unit1.cpp, строка 23: W8013 переменная А, возможно, используется до того, как ей присвоено значение)

Бұл  ескерту А айнымалысының бастапқы мәнін бермегеніміз жайлы және 23 жолда анықталмаған. Бұл компилятор үшін қателік емес тек Warning- ескерту. Осыны түзету үшін А айнымалысын 1 ге теңестіруіміз керек: double A=1;

Екінші хабарлама:

[C++Error] Unit1.cpp(24) : E2451 Undefined symbol ‘B’

([C++ Ошибка] модуль Unit1.cpp, строка 24: E2451 Необъявленный идентификатор В )

Бұл қателік туралы хабарлама. Бұл жағдайда мына операторда:

Label1->Caption= “A= ”+ B;

Бұл жерде А айнымалысымен қоса мүлдем хабарланбаған В айнымалысы көрсетілген.

Үшінші хабарлама:

[C++ Warning] Unit1.cpp(25): W8080 ‘j’ is declared but never used

([C++Предупреждение)] модуль Unit1.cpp, строка 25: W8080 Переменная ‘j’ объявлене, но нигде не используется) 

Шынында да ‘j’  айнымалысын хабарлап, оны еш жерде қолданған жоқпыз. Сондықтан оны өшіріп тастауға болады.

Соңғы хабарлама:

[C++Warning] Unit1.cpp(25): W8057 Parametr ‘Sender’ is never used

Sender –компонент болып табылады. Ол бізге керек емес, яғни бұл ескертуді қайтарып тастауға болады.

Мысалдың дұрыс нұсқасы мынындай:

double A=1;

void_fastcall TForm1::Button1Click(TObject *Sender) .

{

int i;

for(i=0; i<50; i++)

A *= 10000;  // A 10000 есе өседі

Label1->Caption = “A= ” + FloatToStr(A);

}


39.57. Программаны орындау кезіндегі қателерді дұрыстау.

Егер приложение құрып ол орындалса ол дұрыс жұмыс жасап тұр деп айта алмаймыз. Онда көптеген қателер болуы әбден мүмкін. Ол әрине логикалық қателер болуы мүмкін. Бұл қателер кейбір деректердің байланысы кезінде болатын: нолге бөлу қателігі, толып кету, жоқ файлдың ашылып кетуі т.б. Тағы да дәл сол есеп кейде орындалатын кейде орындалмайтын қателіктер. Мұндай табу қиынға соғатын қателер әдетте айнымалылардың бастапқы мәндері болмағанда пайда болады.

Осындай жағдайларда қателердің себебі дұрыстау кезінде шығады. Бірінші рет компиляцига жіберген кезде бәрі дұрыс жұмыс жасап тұрған сияқты болады,ал екінші рет компиляцига жібергенде қателік туралы терезе шығады. Ол терезеде” проект Project1.exe EOverflow классының  генерация кезінде толып кету хабарламасымен бірге шығару генерациясын шақырғаны жайлы. Процесс тоқтатылды. Әрі қарай жалғастыру үшін Step немесе Run командасын пайдаланыңыз”.

 Бұл қателік туралы хабарлама шығару деп аталатын генерацияға әкеледі. Шығару (exceptions) әр түрлі қателіктерде генерация жасалынады. Қателік туралы хабарлама терезесі алдымыздан шықса әрі қарай не істейміз? Қателік хабарламасы терезесіндегі ОК батырмасын басып бізКод Редакторы терезесіне тап боламыз және белгіленген жол көрсетілген, жанында жасыл стрелкасы бар программамыздың кодын  көреміз. Ол қатесі бар оператор.

Келесі әрекет:

-Ctrl-F2 пернесін басуға болады. Ол приложенияның орындалуын және түзетілуін тоқтады яғни үзеді.

-Run| Run командасын орындауға болады. Бұл қателіктерге қарамастан орындауды жалғастырады. Бірақ бұл ештеңеге әкелмейді,тек қателік жағдай қайталана береді.

-Программаның бөлігін қадам бойынша өтуге болады.

  Қателік себебі анық болмаса жалғыз әдістің бірі:

-Приложениядағы болып жатқан қате процесстер туралы ақпарат алу керек. Оны бірнеше әдіс арқылы алуға болады. С++Builder6-де Tooltip Expression Evolution деген багалау мастері бар. Тышқаннын курсорын  кодтағы айнымалының біріне ,мәселен А-ға, апарсақ  “A=1E+308” деген жазуды көреміз. Осындай қарапайым әдіспен программадағы айнымалының мағынасын  біле аламыз.

 

40. Watch List  бақылау терезесі.

 Айтылымдарды бағалау мастері, әрине жаксы құрал. Бірақ ол тек жалғыз айнымалы мағынасын береді,ал күрделі приложенияларда бірнеше айнымалыны көз алдымызда елестете алуымыз керек. Себебі соларды салыстыру арқылы приложенияның дұрыс емес жұмыс жасауынының себептерін түсіну керек. Осындай мүмкіндікті бақылау терезесі Watch List береді. Оны көріну күйіне қою үшін View| Debug Window| Watches командасын орындаймыз.

Бақылау терезесі өте жақсы құрал, бірақ онымен жұмыс жасау барысында кейбір ережелерді ұстану керек. Код жазып жатқанда үнсіз келісім бойынша барлық компоненттер және олардың қасиеттері ағымдағы формаға жатады. Бақылау терезесінде мұндай жорамалдар жасалмайды. Сондықтан терезеге Label1->Caption деп енгізсек, онда приложенияның орындалу барысында тоқтау болғанда ол айтылым орнына  мынандай хабарлама аламыз: “Undefined symbol ‘Label1’ ”, яғни ‘Label1’ символы анықталмаған. Егер сол айтылымды формага Form1 сілтеме жасасақ, онда бәрі дұрыс жұмыс жасар еді.

 Кейде айнымалыны бақылау мүмкін емес. Өйткені оптимизациялайтын компилятор шешім шығаратын кодтан өшіріп тастап, оны жүйелік регистрге сәйкестендіріп орналастырады. Ол приложенияның орындалуын жылдамдатады, жадыны үнемдейді, бірақ айнымалыларды бақылауға кедергі келтіреді. Мұндай жағдайда сәйкес айнымалыны кілттік Volatile сөзімен хабарлауға болады. Мысалы:

volatile int x;

Volatile спецификаторы компиляторға берілген айнымалыны регистрге сақтауға болмайтындығын айтады.

Дәл сол мақсатқа жету үшін ең жақсы нұсқа- Project| Options ашылған Advanced Compiler  терезесіндегі Register Variables опциясын сөндіру.

Енді бақылау терезесімен жұмыс жасауды қарастырайық.  Тышқанның оң жақ батырмасын шертіп ашылған мәзірден командалар тізбегін таңдаймыз: Edit Watch(отредактировать наблюдаемое выражение)  немесе Add Watch( добавить новое наблюдаемое выражение). Екі жағдайда да Watch Properties терезесіне тап боламыз. Бұл терезеге одан да оңай Ctrl-F5 батырмасын басып, екі рет шерту арқылы түсуге болады.

Watch Properties терезесінің элементтерін кысқаша айта кетейік. Expression терезесіне кез келген айнымалы атын жазып қойсақ болады. Repeat count терезесі массивтерді бақылауда қолданылады. Digits енгізілетін сандардың разрядын анықтайды. Enabled идентификаторы приложенияның орындалу барысында бақылау терезесіне сәйкес айтылмдарды енгізуді сөндіруді болдырады.

41. Қосымшаларды қадам бойынша орындау.

Программаның фрагментінен  қадам бойынша өту үшін келесі командаларды орындауға болады:

-Step Over - F8 пернесі арқылы ашылады. Программаның жолдарын қадам бойынша бір жол үшін  шақырылған функцияларды санау арқылы орындайды.

-Trace Inta – F7 пернесі арқылы ашылады. Шақырылған функциялармен бірге кіру арқылы программаның қадам бойынша орындалуы.

-Trace to Next Source Line(Трассировка до следующей строки)- Shift+F7 пернесі арқылы ашылады. Келесі орындалатын жолға көшу.

-Run to Cursor(Выполнить до курсора)- F4 пернесі арқылы ашылады. Бұл команда программаны код редакторы терезесінде орналасқан курсор орындалатын операторға дейін орындайды.

-Run Until Return(Выполнить до выхода из функции)- Shift+F8 пернесі арқылы ашылады. Программа ағымдағы функциядан шыққанша орындалуы.

-Show Execution Point(Показать точку выполнения)- Бұл команда курсорды келесі орындалатын операторға қояды.

42. Үзіліссіздік нүктесі.

 Енді күштірек құрал- үзіліс нүктесі(breakpoint)-ді қарастырайық. Қарапайым үзіліс нүктесін енгізу үшін Код Редакторы терезесінде тышқанмен керекті жолдың сол жағына шертсек жеткілікті. Жол қызыл түске боялады және қызыл нүкте пайда болады. Егер приложенияны орындалуға жіберсек, онда орындалуда үзіліс болады.

Үзіліс нүктесін алып тастау үшін тышқанмен сәйкес жолдағы кодтың жол жағындағы қызыл нүктеге басу жеткілікті. Үзіліс нүктесін орындалғалы жатқан операторға ғана қоюға болады.  Егер жолға үзіліс нүктесін орнатып көрсек, онда приложенияны іске қосылған кезде қызыл нүктеде крестик пайда болады. Сол арқылы C++Builder үзіліс болмайтындығы жайлы ескертеді.

C++Builder  үзіліс шартын орнатуға мүмкіндік бере алады. Тышқанның курсорын жолдың сол жағындағы қызыл нүктеде ұстап тұрасақ, онда ағылып шыққан үзіліс нүктесі туралы  хабарламасы бар  ярлыкты көреміз. Үнсіз келісім бойынша тоқтау шарты берілмейді.  Сондықтан әлі де үзіліс нүктедсінде  әр бір берілуде тоқтаулар болды.

Жолдағы қызыл нүктеге тышқанның оң батырмасын басып, шыққан мәзірден Breakpoint properties бөлімін таңдаймыз. Терезедегі үстіндегі екі  бөлім  –Filename/файл аты және Line Number/ жол номері бұл режимде қол жетімсіз.

Condition(шарт) терезесі кейбір шартты айтылымдарды енгізуге мүмкіндік береді. Үзіліс тек сол айтылымдардың мәні true-ге тең болғанда ғана болады.

Pass Count терезесі қандай санақта жазылған шарттта тоқтау болатынын көрсете алады.

Group (топ) терезесі үзіліс қайсыған жататын топтың атын беруге мүмкіндік береді.

Advanced батырмасына үзіліс кезінде орындалатын кейбір әрекеттерді нұсқауымызға болады.


43. Debug Inspector –кейінге қалдыру инспекторы терезесін қолдану.

C+ +Builder 6 және 5-те тағы да құрастырушы құрал-  кейінге қалдыру Инспекторы- Debug Inspector бар.  Бұл құралды шақыру Run| Inspect командасы арқылы жасалады. Тоқтау кезінде курсорды Код Редакторы терезесіндегі айнымалы атына  қойып , Run| Inspect командасын орындаймыз.  Басқа әдісі-дәл сол команданы ағылып шыққан мәзірден (Debug| Inspect) шақыру. Ал жеңілі Alt+F5 пернесін баса салу. Егер үзілістен кейін курсорды  кодтағы бос жерге қойып, Кейінге қалдыру инспекторын шақырамыз. Сол кезде сізді қызықтыратын айнымалы атын, мысалы А енгізе алатын  терезе ашылады. Айнымалыны енгізіп ОК-ді басамыз. Сол кезде мына терезе ашылады.

Бұл терезеде сіз енгізген айнымалы туралы ақпарат көрсетілген. Көп нүкте белгісі бар батырманы басу арқылы Change өзгерту терезесін көреміз. Ол терезеде біз айнымалы мәнін өзгерет аламыз.

Кейінге қалдыру Инспекторы әр түрлі деректерді зерттеуге мүмкіндік береді: айнымалы, массив, функция, нұсқауыштар.

Кейінге қалдыру Инспекторында тұрып тышқанның оң жақ батырмасын басып, келесі командалардың бірін таңдауға болады:

-Range – деректерді берілген диапазонда қарап шығу;

-Change – Change терезесіне элементтің мәнін өзгерту үшін көшу;

-Show Inherited – егер бұл флаг қосулы болса, онда терезе бетінде барлық қасиеттер мен әдістер көрсетіледі. Егер флаг сөндірулі тұрса, онда берілген класста хабарланғандар ғана көрсетіледі;

-Show Fully Qualified Names – элементтердің толық аттарының көрсетілуі;

-Inspect – жаңа терезені біз белгілеген элемент деректері үшін ашады. Ол деректердің структуралары, класстары, массивтерін анықтырақ зерттеуге мүмкіндік береді;

-Descend – Inspect командасына кері, бірақ анықталынатын деректер  жеке терезеде емес дәл сол терезеде пайда болады.

-New Expression – бұл команда анализ үшін жаңа айтылымдар беруге мүмкіндік береді;

-Type Cast – қарастырылып жатқан объект үшін басқа типті нұсқауға мүмкіндік береді;


44. Енгізілетін компоненттер тізімі және мәтіндік ақпараттың бейнелері

компонент

беті

сипаттамасы

Label(метка)

Standard

Қолданушымен өзгертілмейтін мәтіннің бейнеленуі. Тек мәтін мен белгінің түсін өзгерту ғана қарастырылған. Негізгі қасиеті- Caption.

StaticText(меткасбордюром)

Additional

Label компонентіне ұқсайды, бірақ бордюрдің стилін беруге мүмкіндік береді. Негізгі қасиеті- Caption.

Panel(панель)

Standard

Бұл компонент басқару бөлімдеріне топтау жасау үшін контейнер болып табылады, бірақ мәтінді бейнелеуде де қолданылады. Негізгі қасиеті- Caption.

Edit(окноредактирование)

Standard

Біржолды мәтіндерді енгізу және түзетуді бейнелейді. Үлкен көлемді бордюрді өңдеу жұмыс жасау мүмкіңдігі бар. Негізгі қасиеті- Text.

MaskEdit

Additional

Деректерді форматтауда немесе символдарды сәйкес шаблондарымен енгізуде қолданылады. Негізгі қасиеті- Text және EditText.

LabeledEdit

Additional

Edit және Label-дің комбинациясы. Негізгі қасиеті- Text және EditLabel.Caption.

Memo

Standard

Көпжолды мәтіндерді енгізі және түзетуді бейнелеу. Үлкен көлемді бордюрді өңдеу жұмыс жасау мүмкіңдігі бар. Негізгі қасиеті- Lines.

RichEdit

Win32

Бұл компонент RTF форматтағы  Windows стилінде редактілеуді жасайды. Ол шрифттің атрибутын таңдау жасауға мүмкіндік береді. Негізгі қасиеті- Lines.

ListBox

Standard

Windows тізімінен қолданушыға пункттерді таңдауға мүмкіндік беретін стандартты терезесінің бейнеленуі. Негізгі қасиеті- Items.

CheckListBox

Additional

Бұл компонент ListBox пен CheckBox компоненттерінің комбинациясы және CheckBox –тың индикаторы болып табылады.

ValueListEditor

Additional

Жол тізімін редактрлеу терезесі түрі «аты=мәні». Негізі қасиеттері: Keys- аты, Values-мәні.

ComboBox

Standard

ListBox және Edit компоненттерінің қызметтеріне ие. Қолданушы мәтінді енгізе алады немесе тізімнен таңдап ала алады.Негізгі қасиеті- Items.

ComboBoxEx

Win32

Мәтін мен суреттердің бейнелеуіне мүмкіндігі бар тізім. Негізгі қасиеті- Items.

StringGrid

Additional

Мәтіндік ақпараттарды кестеде бейнелеу мүмкіндігі бар. Негізгі қасиеті- Cells.


45. Label,StaticText,Panel компоненттерінің жазуларындағы мәтiннiң бейнелерi

 Әр түрлі жазуларды бейнелу үшін негізінен Label,StaticText,Panel компоненттері қолданылады. Алғашқы екеуі арнайы мәтіндерді бейнелеуге арналған. Panel-дің басты  белгісі: форма терезесіндегі компоненттердің компоновкасы. Алайда панельді мәтінді енгізуде де қолдануға болады.

Айтылып кеткен компоненттерде бейнеленетін мәтіндер  Caption қасиетінде анықталады. Мысалы:

Label1->Caption = “Жаңа мәтін”;

Caption қасиеті AnsiString  деген жол типі бар. Осы типке меншіктесек, онда сандық ақпаратта оның автоматты түрде жолға айналуы жүреді. Мысалы:

Label1->Caption=5.1;

Ал егер белгіге аралас,яғни сандар мен жолдардан тұратын ақпарат енгізгіміз келсе, онда FloatToStr және IntToStr  функцияларын қолданған жөн.

Барлық компоненттерде фон түсі Color қасиетімен анықталады. Жазудың түсі- Color қасиетіндегі Font қасиетімен анықталады. Label белгісінде жазуды әрлеудің қол жетімді элементтері ол - шрифт пен түс. StaticText және Panel компоненттері шрифт пен түс өзгертумен қатар BorderStyle қасиеті бар. Ол мәтіннің рамкасын анықтайтын-бордюр болып табылады.

Panel компоненті BorderStyle-ден басқа BevelInner, BevelOuter, BevelWidth, BorderWidth қасиеттерін қамтиды. Осылай енгізілген мәтінді әрлеуде максимальді мүмкіндікті - Panel, ал минимальді мүмкіндікті – Label береді.


46. Edit, LabeledEdit, MaskEdit редакциялау терезелері.

Text  қасиеті AnsiString  деген жол типі бар. Осы типке меншіктесек, онда сандық ақпаратта оның автоматты түрде жолға айналуы жүреді. Мысалы:

Edit1->Text=5. / 2;

Компилятор қалыпты қабылдайды және терезеден «2,5» мәтіні пайда болады. Сандық ақпараттарды енгізіп жатқанда StrToFloat функциясын және StrToInt функциясын қолдану керек.

MaxLength қасиеті енгізілетін мәтіннің максимальды ұзындыіғын  анықтайды. Егер MaxLength=0 болса, онда мәтін ұзындығы шектелмеген. Modified қасиеті орындалу барысында ғана қол жетімді. Ол терезеде мәтіннің редактрленуі жасалғанын көрсетеді. Егер осы қасиетті қолданғымыз келсе, онда оны қолданар алдында Modified қасиетіне false белгісіне қою қажет. PasswordChar қасиеті редактрлеу терезесін пароль енгізу терезесіне айналдырады. Үнсіз келісім бойынша PasswordChar мәні «#0»-ге тең. Осы қасиеттердің барлығы барлық редактрлеу терезесіне байланысты айтылды. Edit компонентінде осы барлық қасиеттер шектеулі. Ал LabelEdit компонентінде Edit –тен айырмасы жоқ болғанымен, белгі бар. Ол EditLabel  қасиетімен беріледі. TBoundLabel класс объектісі болып табылады. Бұл класс барлық негізгі қасиеттерге ие: Caption, Color, Font, Layout, ShowAccelChar, WordWrap, Canvas.

MaskEdit компоненті Edit және LabeledEdit компоненттерінен EditMask қасиетінен жол маскасын беруге болатындығымен ерекшеленеді. Ол қолданушы  синтаксисті қателер  енгізуді болдырмайды. Мысалы: телефон нөмерлерін, паспорт номерлерін, мекен-жай, уақыт т.б

47. ListBox, CheckListBox, ValueListEditor, ComboBox, ComboBoxEx- тiзiмдерден таңдаудың компоненттерi

Қазір қарастырылытын компоненттер тізімнен таңдап алуды қамтамассыз етеді. Ол ListBox, CheckListBox, ValueListEditor компоненттері. Бұл компоненттерді қолдану қолданушы тізімнен дұрыс жауапты таңдап алған кезде ғана ақпаратты қатесіз енгізуді қамтамасыз етеді.

 ListBox, CheckListBox компоненттері жол тізімдерін бейнелейді және қолданушыға қажетті жолды таңдап алуды қамтамассыз етеді. Осы екі компоненттің негізгі қасиеті жол тізімінен тұратын Items қасиеті болып табылады.

 ListBox компонентінде  MultiSelect қасиеті бар. Ол тізімнен көптеген таңдаулар жасауға рұқсат бере алады. Егер MultiSelect= false болса, онда қолданушы тізімнен тек бір ғана элемент таңдап ала алады. ListBox компонентін біраз қарастырдық енді осыған ұқсас компонент CheckListBox компонентін қарастырайық. Ол тізімді индикатормен береді. Ол тура ListBox сияқты бейнеленеді, бірақ әр жол жанында индикатор беріледі. Ол индикатор арқылы қолданушы таңдауын ауыстыра алады.

Енді ValueListEditor компонентін қарастырайық. Бұл редактрлеу терезесі «аты =мәні» түріндегі жол тізімі. Терезеде екі баған бар. Біріншісі «Key» екіншісі «Value». Key қасиеті аттардың индекстелген тізімі.

 Ағылып түсетін  тізімдерді қарастыратын компоненттер: ComboBox, ComboBoxEx.

ComboBox компонентінің бейнелену стилі оның Style қасиетімен анықталады. Ол келесі негізгі мәндерді қабылдайды:

-csDropDown- бірдей биіктіктегі ағылып түсетін тізім

-csSimple- бірдей биіктіктегі жиналған ағылып түсетін тізім

-csDropDownList- редактрлей терезесі жоқ жолдары бар ағылып түсетін тізім

-csOwnerDrawFixed- бірдеә биіктікті жолдары бар сурет пен мәтін бейнелене алатын ағылып түсетін тізім

-csOwnerDrawVariable- әр түрлі биіктіктегі жолдары бар сурет пен мәтін бейнелене алатын ағылып түсетін тізім

ComboBoxEx компоненті ComboBox компонентіне өте ұқсайды. ComboBoxEx компоненті ComboBox компонентінен тізімге суретті енгізу оңайлылығымен ерекшеленеді.


48. StringGrid - жолдар кестесi

StringGrid компоненті жолдардан тұратын кесте болып табылады. Кестедегі деректер тек оқылады немесе редактрленеді. Кестеде жоғары-төменге айналдыратын жолақтары болуы мүмкін. StringGrid компоненті ең алдымен мәтіндік ақпараттарды кесте түрінде көрсетуге арналған.

Компоненттің негізгі қасиеттері:

-System:: AnsiString Cells [int ACol] [int aRow] – ұяшықта Acol  және Arow индекстері бар жол

-Classes::TStrings*Cols[int Index]-  бағанда Index деген индексі бар объекттерге байланысқан жол тізімі

-Classes::TStrings*Rows[int Index]- жолда Index деген индексі бар объекттерге байланысқан жол тізімі

-System::TObject*Objects[int ACol] [int ARow] – ұяшықта Acol  және Arow индекстері бар жолмен байланысқан объект

Мәтіндерді жеке ұяшықтарға немесе бірден жол мен баған бойынша TString көмегімен енгізуге болады. Мысалы,мына код:

Int I, J;  

for(I=J; I<StringGrid1->ColCount; I++)

StringGrid1 - > Cells[I][0]= “столбец”+ IntToStr(I);

for(I=1; I<StringGrid1->RowCount; I++)

{

StringGrid1 - > Cells[0][I]= “строка”+ IntToStr(I);

for(J=1; J<StingGrid1- > RowCount; J++)

StringGrid1 - > Cells[J][I]=  IntToStr(I)+ ‘:’+ IntToStr(J);

}

Ұяшықты мынандай мәтіндермен толтырады:


49. 60.Енгізілетін компоненттер тізімі және сандардың,күн мен уақыттың бейнелері.

C++Builder-дің кітапханасында сандардың,күн мен уақытты бейнелеу мен редактрлеу мен енгізуге арналған компоненттер бар. Олар:

Компонент аты

Беті

Сипаттамасы

UpDown

Win32

Санауыш –перне. Edit және басқа да сандық ақпараттарды енгізе алтаын компоненттерімен байланысады. Негізгі қасиеті- Position.

CSpinEdit

Samples

Сананыуыш- пернесі бар редактрлеу терезесі комбинациясы . UpDown және Edit комбинациясы секілді. Негізгі қасиеті- Value.

DateTimePicker

Win32

Күн мен уақытты енгізеді. Сырғып түсетін күнтізбегі бар. Негізгі қасиеті- Date  және Time.

MonthCalendar

Win32

Күндізбеден таңдай отыра күнді енгізеді.

Calendar

Samples

Күнтізбені дәл осы күнге сәйкес бейнелейді. Осы компонентке қарағанда DateTimePicker-дің күндерді енгізуде көбірек мүмкіндігі бар. Негізгі қасиеті- Month және Day.

F1Book

ActiveX

Сандық ақпараттарды енгізетін компонент. Excel беттеріне ұқсас болып келеді.


50. UpDown ,CSpinEdit - бүтін сандарды енгізу және бейнелеу компоненттері.

C++Builder-де арнайы бүтін сандарды енгізуге арналған компоненттер бар. Олар: UpDown ,CspinEdit.

UpDown компоненті Edit редактрлеу терезесінде қолданушы бүтін санды таңдап ала алатын компонентке айналдырып жібереді. CspinEdit компоненті Edit және UpDown компоненттерінің қосындысы.

 UpDown компонентінің негізгі қасиеті- Associate. Ол батырмаларды стрелкалармен байланыстырады. UpDown компонентінің AlignButton қасиеті udLeft және udRight мәндерін қабылдайды. Ол терезенің оң жағында , сол жағында орналасуын анықтайды. Orientation қасиеті  udHorizontal  және udVertical  мәндерін қабылдайды. Ол батырмалар тігінен немесе көлденеңінен орналасуын анықтайды. ArrowKey қасиеті пернетақта пернелері компонентті басқару басқармауын анықтайды. Thousands қасиеті енгізілетін сандардың әрбір үш санды разрядтар арасын бөлетін пробелдің қойылуы мен қойылмауын анықтайды.

UpDown компонентінің Min және Max  қасиеті сандардың максимальды және минилальды мәнін береді.

 Wrap қасиеті максимальді немесе минимальды мәндерде компонент  қалай әрекет ететінін анықтайды. Егер Wrap=false болса, онда санды максимальді және минимальді мәнге азайтуда немесе көбейту кезінде сол санды шектелген мәнде сақтап алады. Егер Wrap=true болса, онда максимальді саннан асыру амалы оны минимальды мәнге түсіріп жіберетін күйге алып келеді.

CSpinEdit компонентінің қасиеттері осы қарастырған қасиеттерге ұқсас, тек басқа атқа ие: Min,Max,Position қасиеттері сәйкес MinValue, MaxValue,Value деп аталады.


51. F1Book компоненті- EXCEL беті.

F2Book компоненті қосымшаға Excel типті кесте кірістіруге мүмкіндік береді. Оны қолданушы қажет сандармен толтыра алады,ал компонент берілген формулалар бойынша есептеу жүргізіп нәтижесін көрсетілген ұяшықтарға шығарады.Кестеге әр түрлі типті диаграмма мен графиктерді кірістіруге болады.Ұолданушы кесте деректеріне енгізген өзгертулер сол сәтте диаграммада көрініп отырады.Осылайша қосымшаға әр түрлі есептер,техникалық немесе статикалық есептемелерді енгізу арқылы ұолданушы олармен жұмыс жасай алады.F1Book компонентін формаға апарып,оң жақ батырманы басып,шыққан менюден Workbook Designer командасын таңдау керек.Сол кезде жобалаудың диалогтық терезесі шығады.Кестені жобалау Excel-дегі ережелермен сәйкес келеді.Ұяшыққа керек шрифт,стильді таңдап сандарды жазуға болады.Формула да жазуға болады.Диаграмманы белгілеу үшін алдымен курсормен кестеде диаграммада көрсетілетін мәліметтерді ерекшелеп, одан соң диаграмманы енгізу кнопкасын басып,курсормен диаграмма тұратын рамканы көрсету керек.Нәтижесінде диаграмма типі мен оған қажетті атрибуттарды таңдауға болатын диалогтық терезе ашылады.F1Book компонентіне оң жақ батырманы басып Properties командасын таңдауға болады.Сол кезде пайда болатын диалогтық терезеде көрінетін және көрінбейтін компоненттерді белгілеуге болады:жолдар мен бағандар атаулары(Row Heading және Column Heading),тор (Gridlines),есептеу формулалары (Formulas)


52. Мәтiндiк және сандық мәлiметтердi синтаксис бойынша дұрыс енгiзудi қамтамасыз ету. 

Қолданушының текстілік және сандық деректерді енгізу кезінде қиын мәселелер туындайды. Бұл проблеманың зияны әсіресе қосымшаны қолданатын қолданушылар көп болған жағдайда және маман емес болған жағдайда білінеді. Бұл мәселені шешу үшін ListBox, ComboBox, StringGrid, DateTimePicker, StringEdit және т.б компоненттерді қолдануға болады. Олар синтаксистік енгізудің дұрыстығына кепілдік береді. Edit компоненттері көмегімен енгізу жасалағанда қолданушы кез келген қателік жіберуі мүмкін. ComboBox-та Style қасиетіндегі csDropDownList мәні өзгертуге жол бермейді,сол үшін қолданушы қате бөлімді көрсете алмайды. SpinEdit  жұмыс стажының дұрыс синтаксисін қарастырады, ал оның MinValue , MaxValue қасиеттері енгізілген санның шектеулерін анықтайды. MaskEdit компоненті телефон номерінің синтаксистік дұрыс енгізілуін қадағаласа, DateTimePicker туылу жылының синтаксисінің дұрыстығына жауап береді.Синтаксисі қатесіз енгізуді ValueListEditor де қадағалайды,яғни оның esPickList, esEllipsis элементтер стилі мен маскаланған енгізуі EditMask.


53. Иерархиялық мәліметтерді бейнелеу компоненттері.

Иерархиялық деректер компоненттеріне: кейбір мекеме структурасы, күрделі проект структурасы, құжаттама құрамы,т.б. жатады.Бұл компоненттерден басқа каталогтар мен жайлы иерархиялық деректерді сақтайтын көрсету компоненттері бар. Иерархиялық ақпарат әр түрлі болуы мүмкін: кейбір кәсіпорын структурасы, мекеме құжаттамасының структурасы, есептеме структурасы, т.б.Талдардың әрбір түйінімен кейбір деректер байланыса алуы мүмкін.TreeView  компоненттерінің мүмкіндігі Outline компоненттеріне қарағанда кеңірек.TreeView-32-рязрядты компонент,ал Outline-16-разрядты.TreeView-дің негізгі қасиеті болып талдардың түйіндері жайлы ақпаратты сақтайтын Items болып табылады. Жеке түйіндер жайлы ақпарат Items[int Index] қасиеті арқылы жүзеге асырылады. Мысалы,TreeView1->Items->Item[0]-бұл индексі 0 болатын талдың алғашқы түйіні.Әрбір түйін TtreeNodes типті өзінің қасиеттері мен әдістері бар объект болып табылады.TreeView терезесінің элементтері:New Item кнопкасы талға жаңа түйінді қосуға мүмкіндік береді.Ол New Item кнопкасын басқан уақытта орналасқан түйінмен бір деңгейде орналасады.New SubItem кнопкасы(жаңа еншісіндегі түйін) талға еншісіндегі түйінді кірістіруге мүмкіндік береді. Ол New SubItem кнопкасын басқан уақытта орналасқан түйіннен бір деңгей төмен орналасады.Delete кнопкасы ерекшеленген талдың түйінін жояды.Load кнопкасы файлдан талдың құрылымын жүктеуге мүмкіндік береді. Талдың құрылымын сақтайтын файл – бұл түйіндер тексттері бар кәдімгі текстілік файл. Түйіндер деңгейлері отступтармен белгіленеді.Image Index және Selected Index ұолданушы осы уақытта ерекшеленген және ерекшеленбеген түйін үшін көрсетілетін пиктограмма индексін анықтайды. Кейбір түйінмен байланысқан объектті оның Data қасиетімен табуға болады.Мысалы, TreeView1->Items->Item[1]->Data.Түйіндерді жоюдың екі әдісі бар:Clear(void)-барлық талды тазартады, Delete(TTreeNode* Node)-Node түйіні мен оның барлық түйіндерін жояды.Outline TreeView компонентіне ұқсас.Талдың структурасы Items қасиетінде сақталады және жеке түйіндерді алу осы индексті түйіндер тізімі арқылы жүзеге асырылады. Бірақ индекстер 1-ден басталады. Мысалы, Outline1-> Items[1]->Text – бұл 1 индексті(алғашқы түйіні) талдың түйінінің тексті. Items қасиетінің типі TOutlineNode. Оның TreeView әдістері мен қасиеттерінен айырмашылығы: Талдың структурасы басқаша толтырылады:TStrings типті Lines қасиеті арқылы.Пиктограммалар PictureOpen(ашылған түйін пиктограммасы), PictureClosed(жабылған түйін пиктограммасы), PictureMinus(ашылған түйін маңындағы «-» символды пиктограмма), PicturePlus(ашылмаған түйін маңындағы «+» символды пиктограмма), PictureLeaf(Ешқандай талдың беттері жоқ түйін пиктограммасы). Outline компонентінің пиктограммаларының негізгі айырмашылығы олар барлық бір типті түйіндер үшін бірдей,ал TreeView-де әрбір түйінге жеке пиктограмманы тағайындауға болады.

54. Windows құжаты үлгісіндегі мәліметтерді бейнелеу-ListView компоненті. 

ListView компоненті Windows стилінде кесте, тізім,үлкен және кіші пиктограмма түрінде деректерді көрсетуге мүмкіндік береді. Ақпаратты көрсеті стилі ViewStyle қасиетімен анықталады және ол жобалау процессі кезінде қойылуы мүмкін.Ол мынадай мәндерге ие бола алады:vsIcon-үлкен белгілер, vsSmallIcon – кішкентай белгілер, vsList-тізім, vsReport-кесте.ListView-дің негізгі көрсетілетін ақпаратты суреттейтін құрам-Items.Жобалау кезінде ол арнайы редактормен қойылады. Онда New Item және New SubItem кнопкалары бар. Бірақ еншісіндегі түйіннің мағынасы бөлек: ол кесте түрінде vsReport режимінде шығатын ақпарат.Әрбір түйін үшін Caption қасиеті белгіленеді – бұл пиктограмма жанында пайда болатын жазу. Еншісіндегі түйіндер үшін бұл қасиет vsReport режиміндегі кесте ұяшықтарындағы жазуларға сәйкес келеді.Image Index қасиеті пиктограмма индексін анықтайды. Индекс ImageList-тің жеке компоненттерінде сақталған бейнелер тізіміне сәйкес келеді. Бұл компоненттерге сілтеуішті vsIcon режимі үшін LargeImages қасиетінде, vsSmallIcon, vsList, vsReport режимдері үшін  SmallImages қасиетінде беруге болады.Индекстер 0-ден басталады. Егер 1 индексін көрсететін болса, пиктограммалар бейнеленбейді. Item Properties  панеліндегі Share Index қасиеті берілген объектіге екінші пиктограмманы қосуға мүмкіндік береді. Ондай пиктограмма объектінің қосымша характеристикасы ретінде бола алады. State Index деп көрсетілген индекс ListView компонентінің  StateImages қасиетінде көрсетілген, ImageList жеке компоненттінде сақталған бейнелер тізіміне сәйкес келеді.Тізімнің Selected қасиеті қолданушы ерекшелеген тізім элементін анықтайды. Columns қасиеті vsReport режимінде кестелердің тақырыптарын анықтайды.Ол кезде ShowColumnHeaders true мән қабылдауы керек.MinWidth, MaxWidth қасиеттері тақырыптың пиксельдер бойынша минимальды және максимальды енін анықтайды. Енін өзгерті барысында OnSectionResize оқиғасы генерацияланады.


55. График түрiнде берілген мәлiмет бейнесi компоненттерiнiң тiзiмi.

Компонент

Бет

Сипаттамасы

Image (сурет)

Additional

Графикалық ақпаратты ұсыну үшін қолданылады:пиктограммалар, метафайлдар.

Негізгі қасиеті - Picture

DrawGrid (суреттер кестесі)

Additional

Графикалық  ақпаратты бағандар мен жолдар  көмегімен көрсету үшін қолданылады

Суреттерді орналастыруға арналған  канва Canvasқолданылады. Ұяшықтарға суреттерді орналастыру үшін  DrawCell оқиғасы қолданылады. Мысалы:

void __fastcall TForm1::DrawGrid1DrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect, TGridDrawState State)

{

int ind=ARow*DrawGrid1->ColCount+ACol;

if (ind<=ImageList1->Count-1)

ImageList1->Draw(DrawGrid1->Canvas, Rect.left+10, Rect.Top+10, ind, true);

}

мұндағы  ACol,  ARow – қайтып салынатын ұяшықтың бағаны мен жолын білдіреді,  TRect &Rect параметрі берілген ұяшықтың канвада орналасу облысын анықтайды, бұл облысқа сурет орналасады, State параметрі ұяшықтың жағдайын анықтайды, ол келесі жағдайларда болуы мүмкін: gdSelected, gdFocused, gdFixed және State үнсіз келісім бойынша әр түрлі жағдайда бола алады.

Shape

Additional

Штрихталған геометриялық фигураларды салу үшін қолданылады. Негізгі қасиеттері – Shape (stEllipse, stRectangle, stRoundRect), Brush

Chart (диаграммалар мен графиктер)

Additional

Бұл компонент TeeChartкомпоненттер отбасына жатады,олар графиктер мен диаграммаларды құру үшін қолданылады.  Диаграмма редакторын шақыру үшін компонентті екі рет шертеміз, Edit Chart терезесі пайда болады. Онда келесі жапсырмалар орналасқан: Series – диаграммалар түрлерін таңдау,  General – диаграмма масштабын, өлшемін өзгерту, басып шығару, экспорттау, Titles диаграмма тақырыбын орнату, Legend диаграмма легендасының параметрін яғни белгілер тізімін көрсету, Panel диаграмма орналасатын панельдің параметрін орнатады,  3D диаграмманың сыртқы келбетін орнатады, еңкейту, жылжыту, қалыңдығын өзгерту, т.б.

Chartfx(диаграмма, график)

ActiveX

Диаграмма және графиктер редакторы

F1Book (Excellбеттері)

ActiveX

Сандық ақпаратты енгізіп оны өңдеуге арналған компонент

VtChart (диаграммалар)

ActiveX

Диаграммаларды тұрғызу аймағы

PaintBox (сурет салу терезесі)

System

Сурет салуға арналған жұмыс  аймағын құруға арналған

MediaPlayer (аудио және бейне плеер)

System

Аудио және бейне файлдарды ойнатуға арналған құрал саймандар панелін құруға арналған

Animate (дауыссыз клиптерді ойнату)

Win32

Дауыссыз .aviформаттағы бейне клиптерді ойнату үшін қолданылады

Progresss

(процесстің орындалуын көрсету)

Win 32

Белігілі бір уақытты алатын процестің орындалу ретін  сипаттайтын компонент

Қолдану мысалы:

void __fastcall TForm1::Timer1Timer(TObject *Sender)

{

if (Timer1->Enabled==true)

 ProgressBar1->Position=ProgressBar1->Position+1;

}

Gauge (процестің орындалуын көрсету)

Win 32

Процестің орындалуын сызғыш ретінде, мәтін немесе секторлық диаграммалар ретінде көрсету үшін индикатор  құру.

void __fastcall TForm1::Timer1Timer(TObject *Sender)

{

if (CGauge1->Progress<100 )

CGauge1->Progress= CGauge1->Progress+1;

else

{

Form1->Visible=false;

Timer1->Enabled=false;

Form2->Show();

} }


56. Кнопкалар,индикаторлар және басқарушы элементтер.

Button (командалық батырма)

Standard

Қосымшада қолданушы белгілі бір командаларды орындау үшін батырма қызметін атқарады.

BitBtn (графикалық батырма)

Additional

Биттік графикалық батырмаларды құру үшін қолданылады (Мысалы, \/ ОК)

SpeedButton

(фиксациялық және графикалық батырма)

Additional

Фиксацияланған басулы күйдегі батырмаларды және мәзірдегі командаларды қайталайтын батырмалары бар құрал саймандар панелін құру үшін қолданылады.

RadioGroup (радиобатырмалар тобы)

Standard

Радиобатырмалар тобын құру үшін қолданылады. Негізгі қасиеті – Items

RadioButton

( тәуелді айырып қосқыш)

Standard

Тәуелді айырып қосқыш, Негізгі қасиеті –Checked

UpDown(санауыш-батырма)

Win32

Санауыш-батырма, Editкомпонентімен бірге қолданылып, сандық ақпаратты енгізуге мүмкіндік береді.

CheckBox

(тәуелсіз айырып қосқыш)

Standard

Жалаушысы бар айырып қосқыш, қолданушыға бағдарлама опцияларын қосып немесе өшіруге мүмкіндік береді. Негізгі қасиеті –Checked

CheckListBox

(индикаторлары бар батырмалар)

Win32

ListBox және CheckBox компоненттерінің біріккен комбинациясы

TrackBar

(жылжытқыщ)

System

Жылжыту процесін басқаруға арналған

ScrollBar

(айналдыру жолағы)

Standard

Айналдыру жолағы

Timer (таймер)

Win32

Процедуралар мен функцияларды белгілі уақыт интервалында жүктеу үшін қолданылады. Негізгі оқиғасы –On Timer

Басқарушы кнопка ретінде Button қолданылады немесе кнопкада BitBtn пиктограммасының болуы қажетті. SpeedButton кнопкалары шапшаң кнопкалар ретінде және басылып түрған күй керек болған инструментальды панельді құру үшін қолданылады. RadioGroup компоненті кез келген уақытта тек біреуі ғана қосулы болатын әркез орналасқан радиокнопкалардың тобын құруға арналған. Егер әр кезде радиокнопкаларды орналастыру қажет болмаса,онда GroupBox панелінде орналасқан RadioButton компоненті қолданылады. Қолданушы қосып,өшіре алатын әр түрлі опцияларды қосымшаға енгізу үшін Checkbox индикаторлары пайдаланылады.  


3 - блок

61.  Қолданушы кнопканы шерткенде, кнопкада қандай да бір жазу шығаратын қосымша құрыңыз.

Void _fastcall TForm1::Button1Click(TObject *Sender)

{

Label1 ->Caption = “Это мое первое приложение!  ” ;

}

62.  89. Екі санды енгізіп, көбейтіндісінің нәтижесін шығаратын қосымша құрыңыз.

Panel1-> Caption = LabelEdit1-> Text + “*” + LabelEdit2-> Text + “=” + FloatToStr(StrToFloat(LabelEdit1-> Text))*StrToFloat(LabelEdit2-> Text))


63.  Қателік шыққан жағдайда не істейміз? Мысал келтіру

Жаңа жұмыстан бастайық ,формула енгізу үшін Label және Button деген кнопканы аламыз.кнопкаға мына операторды енгізейік:

Void_fastcall TForm1:: Button1Click (TObject * Sender)

{

int i,j;

double A;

for(i=0;i<50;i++)

A *= 10000;            //

Label1->Caption = “A = ” + B;

}

Бұл цикілі саны 50  реттен аспайтын,айнымалы А ны шығару керек.ол цикілсайын  10000 еселеніп отырады. Тексеріп көрейік команда Run арқылы.былай қателіктер шығады:

[C++ Warning]Unit1.cpp (23) :w9013 Possible use of  ‘A’ before definition.

[C++ Error ] Unit1.cpp(24) : E2451 Undefined symbol ‘B’

[C++ Warning] Unit1.cpp(25): W8057 Parameter ‘Sender’ is never used

Бұнда (23) те А симболын бастапқы мәнін қолдану керек деп түр.Ал (24) те қателік В симболында,оны қолдану қажет емес.(25) жолда параметр қолданукерек деп көрсетіп түр.осыларды түзетсек программа былай болады:

double A =1;

Void_fastcall TForm1: : Button1Click (TObject * Sender)

{

int i;

for(i=0;i<50;i++)

A *= 10000;            //

Label1->Caption = “A = ” + FloatToStr(A);

}

Осылай дұрыс болады.


64. Екі резистордан тұратын электр шынжыры(цепь) берілген.Олар параллель де,тізбектей де жалғануы мүмкін.Кедергісін есептеңіз.

#include<iostream.h>

#include<conio.h>

void main(){

 double r1,r2,jk;

 int n;

clrscr();

cout<<"1-wi kederginiengiz"<<endl;

cin>>r1;

cout<<"2-wi kederginiengiz"<<endl;

cin>>r2;

cout<<"Kedergiturinengi (1-tizbektei,2-parallel'di)"<<endl;

cin>>n;

 switch(n)   {

 case 1: jk=r1+r2; break;

 case 2: jk=r1*r2/(r1+r2); break;  }

cout<<"Tizbektinkedergisi="<<jk<<endl;

getch();  }


65. Қарапайым және күрделі программалау жүйелеріне мысал.

Қарапайым және күрделі программалау жүйелеріне мысал.

Өндірістік программалық продуктлер-бұл күрделі программалық жүйе. Бірақ ол бір программистпен құрылғанда қарапайым болады.

Өндірістік программалық продуктлер әр түрлі есептерді шығаруға колданылады, мысалы, уақыт пен жады ресурстары шектелген кері байланысы бар жүйелер,мыңдаған жазбалардан құралған ақпараттарды параллельді түрде жүргізілуі кезінде бүтіндікті сақтау, нағыз процесстерді басқару және қадағалау жүйелері(мысалы ауалық немесе теміржол транспорттарын диспетчерлеу).

Осындай жүйелердің өмір сүруі ұзақ болады, сол үшін олардың дұрыс функционалдануы керек.

Өндірістік программалар әлемінде  нақты облыстарда қосымшаны құруды жеңілдететін құру ортасы бар болады. Өндірістік программалардың айрықша белгісі-қиындық деңгейі,яғни өндірістік программалар қиындығы адамның интеллект қабілетінен асып түседі.

Примеры сложных систем
Дербес компьютердің құрылымы. Дербес компьютер (ДК) – күрделі қиындықты құрал. ДК көбісі бірдей негізгі элементтерден тұрады: жүйелік плата, монитор, клавиатура және сыртқы жады құрылғысы. Осы бөліктің кез келгенін алып оларды құрамды бөліктерге бөлуге болады.Жүйелік плата,мысалы,жедел жадыдан, орталық процессор(ОП) және перифериялық құрылғылар қосылған шина.Бұл бөліктерді де тағы бөлуге болады. ОП басқару регистрі мен схемалардан тұрады,ал олардың өзі қарапайым диодтар, транзисторлардан құралады. Бұл күрделі программаалау жүйесінің мысалы. Дербес компьютер оның барлық құрамдас бөліктерінің функционалды жұмыс жасауына байланысты дұрыс істейді. Бұл бөліктер бірігіп логикалық бүтіндікті құрайды. Осылайша монитор мен қатқыл дискі құрылғыларын бір-біріне тәуелсіз түрде зерттеуге болады. Осы жолмен ОП-дің арифметикалық бөлігін жадының жүйесін қарастырмай көруге болады.Яғни ДК-ның иерархиясынң деңгейлері абстракцияның әр түрлі деңгейін көрсетеді және әрқайсысын жеке қарастыруға болады.
Абстракцияның әр деңгейінде жоғары деңгейдің функциясын қамтамасыз ететін құрылғылар тобын кездестіруге болады. Мысалы, жады синхронизациясын орындау барысында компьютердің логикалық элементтер деңгейінде қалуға болады..
 


66. Күрделі жүйелердін құрулымы. Күрделі жүйелердін мысалдары.

Күрделі жүйенің 4 белгісі:

1. "Күрделі жүйелер иерархиялық болады және олар ең төменгі деңгейге дейін ішкі жүйелерден құрала береді."

2.Жүйедегі компоненттердің қарапайымдылығы таңдау қолданушының еркіне беріледі.

3. "Компоненттер арасындағы байланысқа қарағанда компонент ішілік байланыс мықтырақ. Бұл компоненттер ішілік жоғары жиілікті өзара әрекеттесуді компоненттер арасындағы төменгі жиілікті өзара әрекеттесуден бөлуге мүмкіндік береді.

4. "Иерархиялық жүйе ұйымдасқан, комбинацияланған ішкі жүйенің бірнеше типтерінен тұрады. "

Күрделі жүйе мысалы
Дербес компьютердің құрылымы. Дербес компьютер (ДК) – күрделі қиындықты құрал. ДК көбісі бірдей негізгі элементтерден тұрады: жүйелік плата, монитор, клавиатура және сыртқы жады құрылғысы. Осы бөліктің кез келгенін алып оларды құрамды бөліктерге бөлуге болады.Жүйелік плата,мысалы,жедел жадыдан, орталық процессор(ОП) және перифериялық құрылғылар қосылған шина. Бұл бөліктерді де тағы бөлуге болады. ОП басқару регистрі мен схемалардан тұрады,ал олардың өзі қарапайым диодтар, транзисторлардан құралады. Бұл күрделі программаалау жүйесінің мысалы. Дербес компьютер оның барлық құрамдас бөліктерінің функционалды жұмыс жасауына байланысты дұрыс істейді. Бұл бөліктер бірігіп логикалық бүтіндікті құрайды. Осылайша монитор мен қатқыл дискі құрылғыларын бір-біріне тәуелсіз түрде зерттеуге болады. Осы жолмен ОП-дің арифметикалық бөлігін жадының жүйесін қарастырмай көруге болады.Яғни ДК-ның иерархиясынң деңгейлері абстракцияның әр түрлі деңгейін көрсетеді және әрқайсысын жеке қарастыруға болады.
Абстракцияның әр деңгейінде жоғары деңгейдің функциясын қамтамасыз ететін құрылғылар тобын кездестіруге болады. Мысалы, жады синхронизациясын орындау барысында компьютердің логикалық элементтер деңгейінде қалуға болады.. 


67. Хаосты ретке келтіру. Декомпозициянын қызметі.

Декомпозиция- есептің структурасын және кіші бір- бірімен байланысқан есептерді шешу арқылы үлкен бір есепті шешетін ғылыми әдіс. Декомпозиция әдісі кез келген қарапайым жүйені күрделі жүйе деп қарастырады. Әр жүйе қосымша жүйелерден тұрады.жүйе ретінде материалды объектілер ғана емес құбылыстар да қарастырылады.

Декомпозицияланған жүйенің графикалық түрдегі кескінін иерархиялық құрылым деп атайды. Бұл жүйенің анализі үшін гоафтар теориясы қолданылады. Ол графтық модельден математикалық модельге өтуге мүмкіндік береді.

Декомпозицияның қасиеттері:

1.Бөлшектердің функционалды мақсаты.

2.конструкты құрылғы

3.структуралық қасиеттері

4.этаптар мен процесстер типі


68. Декомпозициянын қызметі. Абстракциянын қызметі.

Программалу екі түрлі түсініктемеге негізделеді:декомпозиция және абстракция.Декомпозиция кезінде  есеп біренше бөліктерге бөлінеді:

-әрбір есептің қаралу деңгейі бірдей болады;

-әрбір есеп тәуелсіз шешіледі;

-алынған нәтижелер мәні біріктіріледі;

Программалауда абстракциялаудың келесі түрлері бар:

  1.  Процедуралық абстракция.Программалау тілімен берілген жаңа операцияның виртуалды машинасын  кеңейтуге көмек береді.Мысал ретінде сессия соңында нәтиже шығару.
  2.  Спецификация арқылы абстракциялау.Ол есептеу процессінен бастап процедуралық абстаркциялауға дейін жүреді.Бұл әрбір процедураға оның жұмысын айтып кетесің.Мысалыға екі санның квадраттарының қосындысын табу үшін тек ғана SQ(x,y) деп жазссақ болды.Бұл берілген функция спецификациясы болып табылады.
  3.  Деректер абстракциясы.Обьект типтерін берілген обьектіге қолданылатын операциялар жиыны ретінде келтіруге болады.Мс,String типі,бұл тип обьекті тырнақшаға алынған  символдар қатары.S1,S2 сөз болсын,онда оларды бір-біріне қосуға болады.S1+S2
  4.  Итерация арқылы абстракциялау.Ол циклге қатысы жоқ ақпаратты қарастырмайды.
  5.  Басқару абстракциясы.Ол өзіне итерация арқылы абстракциялау мен тізімді басқаруға арналған құрылғылар жиынын қамтиды.

Модульдік абстракция.Бұл программаны бірнеше бөліктерге бөліп қарау,әр бір бөлік өзіне тиісті өлшемге,сыртқы ортамен нақты өлшенген интерфейске ие


69. Программалық жүйелерді жоболау әдістері. 

Иерархиянын қызметі.Tree View-Win32- Windows95/98/2000 стилінде мәліметтердің ағаш түріндегі  иерархиялық құрылымы.  Outline-Win3.1-Windows3.x стилінде мәліметтердің ағаш түріндегі иерархиялық құрылымы. ListView-Win32- Windows папкасы стилінде тізімнің колонка немесе пиктограмма түрінде бейнеленуі.  Бұл күрделі проекттің құрылымы, документацияның құрамы және т.б болуы мүмкін. Негізінде бұл компоненттер спецификалық, каталогтар және файлдардың иерархиялық ақпараттарының бейнеленуі. Tree View және Outline компоненттері иерархиялық ақпараттың ағаш түрінде бейнеленуіне қызмет етеді,яғни қолданушы өзіне қажетті узелдерді таңдай алуы. Иерархиялық ақпарат әртүрлі болуы мүмкін: бірнеше предприятиялар құрылымы, учреждения документацияларының құрылымы, отчет құрылымы және т.б. Әрбір узлда ағаш бірнеше мәліметтермен байланыста болуы мүмкін. Tree View компонентінің мүмкіндіктері  Outline компонентіне қарағанда шире. Tree View-32-разрядты компонент, Outline-16-разрядты компонент. Сондықтан Windows3.x –ке қосылған Windows-тың кез-келген версиясында ұсыныстарда ғана қолдана алады.  Tree View-дің негізгі свойствасы ағаш узлы жөніндегі ақпарат Items  болып табылады. Жеке узлдар жайлы ақпаратқа доступ Items свойствасы арқылы анықталады. Мысалы: Tree View-> Items-> Item[0]-бұл 0 индексті ағащ узелі. Әрбір узел-TTreeNodes типінің объектісі.


70. Объектілік моделдердін мысалдары.

Объектіге бағытталған стиль үшін концептуалдық база-бұл объекті моделі.Оның 4 негізгі элементі бар:

  1.  инкапсуляция;
  2.  абстракция;
  3.  модульдік;
  4.  иерархия.

Бұл элементтер негізгі болып саналады,себебі, олардың кез келгені болмаса модель объектіге бағытталған болмайды. Негізгісінен басқа 3 қосымша элемент бар:

  1.  типизация;
  2.  параллелизм;
  3.  сақталғандық.

Абстракциякейбіробъекттердiңмаңыздымiнездемелерін ерекшелейтін, барлықбасқаобъект түрлерiненайырмашылығыболатын және оның бақылаушы көзқарасы бойынша концептуалдышекараларын анықтайды.

typedef float Temperature;

typedef unsigned int Location;

classTemperatureSensor {

public:

TemperatureSensor (Location);

~TemperatureSensor();

void calibrate(Temperature actualTemperature);

Temperature currentTemperature() const;

private: 
... 
};

ClassActiveTemperatureSensor{ 
public:

ActiveTemperatureSensor (Location,

void (*f)(Location, Temperature));

~ActiveTemperatureSensor(); 
void calibrate(Temperature actualTemperature); 
void establishSetpoint(Temperature setpoint,

Temperature delta);

Temperature currentTemperature() const;

private: 
... 
};

Модулдiк - бұл iшкi қисындыға жiктеген жүйенiң қасиетi, бiрақ модулдар өзара нашар сабақтас.

// gplan.h

#ifndef _GPLAN_H

#define _GPLAN_H 1 
#include "gtypes.h" 
#include "except.h" 
#include "actions.h" 
class GrowingPlan ... 
class FruitGrowingPlan ... 
class GrainGrowingPlan ...

#endif

Иерархия - бұл деңгейлер бойынша абстракциялардың реттелеуi, олардың орналастырылуы.

typedef unsigned int Yield;

classFruitGrowingPlan : public GrowingPlan { 
public:

FruitGrowingPlan(char* name); 
virtual ~FruitGrowingPlan(); 
virtual void establish(Day, Hour, Condition&); 
void scheduleHarvest(Day, Hour); 
Boolean isHarvested() const; 
unsigned daysUntilHarvest() const; 
Yield estimatedYield() const;

protected:

Boolean repHarvested; 
Yield repYield;

Типизация-бұл бір класс орнына басқа класстың объекттерін қорғау тәсілі,кем дегенде,мұндай қолдануды басқару.

classStorageTank { 
public:

StorageTank(); 
virtual ~StorageTank(); 
virtual void fill(); 
virtual void startDraining(); 
virtual void stopDraining(); 
Boolean isEmpty() const; 
Level level() const;

protected: 
... 
};

classWaterTank : public StorageTank{ 
public:

WaterTank(); 
virtual ~WaterTank();
 
virtual void fill();
 
virtual void startDraining();
 
virtual void stopDraining();
 
void startHeating();
 
void stopHeating();
 
Temperature currentTemperature() const;

protected: 
... 
};

classNutrientTank : public StorageTank { 
public:

NutrientTank(); 
virtual ~NutrientTank();
 
virtual void startDrainingt();
 
virtual void stopDraining();

protected: 
... 
};


71. Объектілік жолынын қурылу бөлімдері. Программалау парадигмасы.

Бізге керекті объектіні біз заголовочный файлдағы хабарлама арқылы,яғни осы жерге сол объектіге сілтеме модулі арқылы қол жеткіземізTLabel *Label1;Бұл жол Label1-ді Tlabel типтегі сілтеме ретінде жариялап тұр.


72. Абстракция. Инкапсуляция. Модулдік.

Абстракция - кейбір объекттердiң маңызды мiнездемелерін ерекшелейтін, барлық басқа объект түрлерiнен айырмашылығы болатын және оның бақылаушы көзқарасы бойынша концептуалды шекараларын анықтайды.


typedef float Temperature;
typedef unsigned int Location;

classTemperatureSensor {

public:

TemperatureSensor (Location);

~TemperatureSensor();

void calibrate(Temperature actualTemperature);

Temperature currentTemperature() const;

private: 
... 
};

ClassActiveTemperatureSensor{ 
public:

ActiveTemperatureSensor (Location,

void (*f)(Location, Temperature));

~ActiveTemperatureSensor(); 
void calibrate(Temperature actualTemperature); 
void establishSetpoint(Temperature setpoint,

Temperature delta);

Temperature currentTemperature() const;

private: 
... 
};

Инкапсуляция –бұл объект құрылғысын,тәртібін анықтайтын және объект элементтерін бір-бірінен ажырату(бөлу) процесі.Инкапсуляция абстракцияның шартты міндеттемелерін олардың іске асыруынан ажырату үшін қызмет етеді.

class Array

{

public:

Array() :

len(0),

val(NULL){}

Array(int _len) :

len(_len)

       {val = new double[_len]; }

Array(const Array & a);

~Array(){ Free(); }

inlineconst double & Elem(inti) const  { returnval[i]; }

inline void ChangeElem(inti, double x)  { val[i]= x; }

protected:

voidAlloc(int _len)  {

if (len == 0)

Free();

len = _len;

val = new double[len]; }

void Free(){

delete [] val;

len = 0;  }

intlen;

double * val;

};

Модулдiк - бұл iшкi қисындыға жiктеген жүйенiң қасиетi, бiрақ модулдар өзара нашар сабақтас.

// gplan.h

#ifndef _GPLAN_H

#define _GPLAN_H 1 
#include "gtypes.h" 
#include "except.h" 
#include "actions.h" 
class GrowingPlan ... 
class FruitGrowingPlan ... 
class GrainGrowingPlan ...

#endif

Иерархия - бұлдеңгейлербойыншаабстракциялардыңреттелеуi, олардың орналастырылуы.
typedef unsigned int Yield;

classFruitGrowingPlan : public GrowingPlan { 
public:

FruitGrowingPlan(char* name); 
virtual ~FruitGrowingPlan(); 
virtual void establish(Day, Hour, Condition&); 
void scheduleHarvest(Day, Hour); 
Boolean isHarvested() const; 
unsigned daysUntilHarvest() const; 
Yield estimatedYield() const;

protected:

Boolean repHarvested; 
Yield repYield;

73. Иерархия. Типизациялау. Параллелизм.

Иерархиялық ақпарат әртүрлі болуы мүмкін: бірнеше предприятиялар құрылымы, учреждения документацияларының құрылымы, отчет құрылымы және т.б. . Tree View және Outline компоненттері иерархиялық ақпараттың ағаш түрінде бейнеленуіне қызмет етеді,яғни қолданушы өзіне қажетті түйіндерді таңдай алуы. . Әрбір түйінде ағаш бірнеше мәліметтермен байланыста болуы мүмкін. C++ та көбіне типизация әдісінің public типі қолданылады,мысалы:

class TForm1 : public TForm

{

/*.....*/

};Бұл жағдайда көріну аймағы өзгермейді  - защищенные методы защищенными, а публичные публичными. Алайда қол жеткізу спецификаторы болып private та болуы мүмкін. Бұл жағдайда көріну аймағы өзгереді.

74. Объектілік моделді ќолдану. Кластар жјне объекттер.

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


75. Объектілер арасындағы қатынас. Қатынас типтеріне мысал.

Бұл жерде екі компонент Button1 және Label1 көрсетілген.


76. Интерфейс және орындалу. Кластың өмірлік циклы.

Идеалды интерфейс міндетті:
   - қолданушы үшін толық және келісілген түсініктеме жиынын беру,
   - компоненттің барлық бөлігі үшін келісілген болу,

   - орындалу спецификасын қолданушыдан жасыру, 

- бірнеше орындалуды болдыру,

   - типтердің статикалық жүйесінің бар болуы,
   - қосымша облысынан типтер көмегімен анықталу,
   - басқа интерфейстерге жартылай және анық түрде тәуелді болу

 class X {
    private:
   protected:
     public:
         }; 

77. Кластар арасындағы қатынас. Қатынас типтері.Бiз ООП технологиялары жайлы айта кетейік , онда класс (бұл технологияның негiздi ұғымы) өзiнің (жiктелген айнымалы) мәлiметтерi және (функция ) әдiстерін бiрлестiредi.Программаның құрылымы әр түрлi класстардың объекттерiнiң өзара әрекеттесуiмен анықталды.Әдеттегiдей, класстарда иерархия орын алады, ал ООП технологиясы  " класстан   классқа" программалау деп атала алады. Жоғарыда айтылғандай, класс - бұл технологияның негiзгi ұғымы, өзінiң мәлiметтерi және әдiстерін бiрлестiредi. Класты осылай сипаттауға болады: Класс – ол объекттердiң жиынының сипаттамасы және оларының үстiнде атқарылатын қасиет. Класс төмендегiше (декларация жасайды ) суреттеледi:тип_класса имя_класса {поля, методы};Class New_class {……описание членов класса………..};Класс типтері берілген 3-х нің ішіндегі бір атрибут болып табылады: class, struct, union.Кластың аты мәлiметтердiң жаңа түрiнiң идентификаторы болып қалыптасады. Өрiстер негiзгi базалық тип көмегiмен анықталады, әдiстер кәдiмгi функциялар сияқты жазыладыКластар арасындағы қатынас

  1.  Мурагерлік(Генерализация)-туынды класстың  обьектілері ата-аналық класстың барлық қасиеттерін мурагерлікпен иеленеді.
  2.  Ассоциация-класс обьектілері өзара қарым-қатынас жасайды.
  3.  Агрегация - бір класстың обьектілері басқа класстардың обьектілеріне кіреді(енеді).
  4.  Композиция — бір кластың объектілері басқа объектіге кіреді және бір- бірімен әр уақытта тәуелді болады.
  5.  Класс-Метакласс — қатынас,  бір класс басқа бір кластың экземпляры болып табылады.

78. Ассоциация. Мұралау. Әдіс іздеуі.

Ассоциация –бұл әр класстың жағынан бірнеше объект қатыса алатын, өздігінен жеке оъектілер арасында орнатылатын класстардың екіжақты байланысы.  Мысалы, студенттер мен оқытушылар класстары – әр студент бірнеше оқытушының сабағына қатысады, сол уақытта әрбір оқытушы студенттер тобымен сабақ өтеді.Екі жақтан қатысатын объектілер саны байланыс қуаты деп аталады.

class Product;

class Sale;

class Product { 
public: 
... 
protected:

Sale* lastSale;

};

class Sale { 
public: 
... 
protected:

Product** productSold;

};

Мұралау –ОБП принципі , ол бойынша бар класстардың негізінде жаңа класстар құрылып,ол бастапқы класстың қасиеті мен әдістерін иемденеді. Мұралау программалық кодты үнемдеуге мүмкіндік береді.

#include <iostream.h>

#include <string.h>

class employee

{ 
public:
 
   employee(char *, char *, float);
 
   void show_employee(void);
 
private:
 
   char name [ 64 ];
 
   char position[64];
 
   float salary;
 
};

employee::employee(char *name, char *position,float salary)

{ 
   strcpy(employee::name, name);
 
   strcpy(employee::position, position);
 
   employee::salary = salary;
 
}

void employee::show_employee(void)

{ 
   cout<< "
Имя: " << name <<endl; 
   cout<< "
Должность: " << position <<endl; 
   cout<< "
Оклад: $" << salary <<endl; 
}

class manager : public employee

{ 
public:
 
   manager(char *, char *, char *, float, float, int);
 
   void show_manager(void);
 
private:
 
   float annual_bonus;
 
   char company_car[64];
 
   intstock_options;
 
};

manager::manager(char *name, char *position, char *company_car, float salary, float bonus, intstock_options) : employee(name, position, salary)

{ 
   strcpy(manager::company_car, company_car) ;
 
   manager::annual_bonus = bonus ;
 
   manager::stock_options = stock_options;
 
}

void manager::show_manager(void)

{ 
   show_employee();
 
   cout<< "
Машинафирмы: " <<company_car<<endl; 
   cout<< "
Ежегоднаяпремия: $" <<annual_bonus<<endl; 
   cout<< "
Фондовыйопцион: " <<stock_options<<endl; 
}

voidmain(void)


   employeeworker("
Джон Дой", "Программист", 35000); 
   managerboss("
Джейн Дой", "Вице-президент ", "Lexus", 50000.0, 5000, 1000); 
   worker.show_employee() ; 
   boss.show_manager(); 


79. Агрегация. Класстар байланыстары.

Класс - бұл бiрдей құрылым болатын объекттердiң жиыны. Программалаудағы класс ұғымның аналогi, немесе дәреже болып табылады.

Объект осы уақытта нақты мәндi болады, сынып объекттiң мәнiнiң абстракциясы болып табылады. Нақты объект өкiлмен,немесе класс типі болып табылады.

Басқаша айтқанда, объекттердiң арасындағы объекттiң мiнездемелерi және барлық потенциалдық қатынастар құрылым сыныпта салған. Сыныптар ерекше қатынастарда өзара.

Егер объекттердiң арасындағы қатынастардың маңызды түрлерiмен байланыс және агрегациялар болып табылса, онда кластардың арасындағы iргелi қатынас - бұл мұрагер болу.

Бiр класс басқағада мұра ете алады. C++ биулдірдің жағдайында туындыларға басқа бiр класс негiздi болып табылады.

Туынды класс мiнездемелердiң барлық құрылымы және мiнез-құлық негiздi мұра етедi, дегенмен олар толықтырып немесе түрлендiре алады.

Сонымен қатар логикада, мазмұнмен және ұғымның көлемiнiң аралығында өзара байланыс бұл жерде бар болады. Туынды класс мазмұнды көбiрек алады, бiрақ негiздiге қарағанда кiшiсi көлем.

Егер мұрагер болуда бiрнеше негiздi класстарға қатысса мұрагер болу және күрделi туынды класс жинағы бiр тiкелей арғы атаны алатында бос тұру бола алады.

Агрегация – бұл бiздiң қарастыруға жататын мәндер сыныптардың арасындағы байланыстың соңғы түрi. Сонымен бiрге ол оның түрлерi рекурсия, және екеуiнiң бiрi болып табылмайды қарастырылған бұрын композит агрегациясы ендi мағына бойынша болды.

агрегация - бұл мәндердiң бiрнеше iшкi сыныптары бар мәндерiнiң бiрнеше сыныбының өзара байланысы. Екi түрлерлі байланыстарымен бұл өзара байланыста сипаттала алады:

1 ) теңестiрмейтiн байланыстармен мiндеттi түрде;

2 ) теңестiрмейтiн связялар мiндеттi емес


80.Кластардың және объектердің өзара байланысына мысал.

Класстар мен объектілер бұл өзара байланысқан бірақ бөлек түсініктер. Негізінде, әрбір объект қандай да бір класстың экземпляры болады. Класстан объетінің кез келген санын туындатады. Көп жағдайда класстар статикалық болады, яғни олардың ерешеліктері мен ішкі құрамы программаның компиляциясы кезінде анықталады. Осыдан кез келген құрылған объект фиксацияланған классқа жатады. Ал объекттердің өзі керісінше, орындалу процесі кезінде құрылып,қайта жойылады.Мысал ретінде ауадағы қозғалысты сипаттайтын объект пен класстарды қарастырайық.

Бұл сферадағы ең маңызды абстракциялар – ұшақтар, ұшу кестесі, маршрут, ауалық кеңістіктегі коридорлар. Бұл объектілердің класстары жеткілікті статикалық.Әйтпесе ұшақтың ұшуы, қонуы және екі ұшақтың бір уақытта бір нүктеде бола алмауы деген жалпы фактілерді қолданатын қосымшаны құру мүмкін емес болар еді. Осы класстардың объектілері керісінше динамикалық. Ұшу маршруттарының жиыны жиі өзгермейді. Одан тез ұшып жүрген ұшақтар өзгеріске ұшырайды. Ұшақтардың ауалық коридорларға қону және олардан ұшып кету жиіліктері одан да жоғары.

Класстар мен объектілердің анализ бен жобалаудағы рөлі.Анализдеу және жобалаудың бастапқы кезеңдерінде екі негізгі есеп шеіледі:

Заттар  саласының сөздігін құрайтын класстар мен объектілерді анықтап алу.

Есептің талабы орындалатын объетілердің өзара әрекеттесуін қамтамасыз ететін құрылымдарды құру.  

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

Жобалау процесі кезінде қабылданатын шешімдер жүйе архитектурасын: процесстер мен модульдер архитектурасын белгілейді.


81. Кластардың және объектердің сапасы.

Класстар мен объектілерді ерекшелеу тізбекті, итеративті болып табылады. Ең басында оңай есептерді қарастырмағанда класстарды нақты ерекшелеп және бейнелеуге мүмкіндік болмайды. Жүйеде ерекшеленген класстар мен объектілер сапасын бағалау үшін келесі 5 критерийді ұсынамыз:

  1.  ілініс
  2.  байланыстылық  
  3.  жеткіліктілік ;
  4.  толықтық ;
  5.  карапайымдылық .

Ілініс дегеніміз жеке модульдер арасындағы байланыстардың деңгейі. Жүйенің қиындығы жеке модульдер арасындағы ілініс арқылы төмендейді. Ілініс проблемасына қате шешу мысалын Пейдж-Джонс қорек көзі дыбыстық колонканың біреуінде орналасқан модульдік стереожүйені суреттеп мысал келтірген болатын.  Модульдер арасындағы іліністен басқа класстар мен объектілер арасындағы ілініс те бар.

Ілініс пен мұралаудың арасында белгілі қарама-кайшылықтар болады. Бір жағынан класстардың қатты ілінісін болдырмау керек, екінші жағынан суперкласстар мен подкласстарды байланыстыратын мұралау механизмі абстракция ұқсастығын ұтымды қолдануға мүмкіндік береді.

Байланыстылық – бұл жеке модульдер арасындағы өзара әрекеттесу деңгейі мен оның толықтығының характеристикасы. Ең нашар жағдайы бір класс немесе модульде тәуелсіз абстракциялар жиналғандығы. Мысал үшін иттер абстракциясы мен космостық аппараттарды қарастыруға болады. Ең оңтайлы шешімі класс пен модульдің барлық элементтері анықталған мақсатка жетуде бір-бірімен тығыз қатынаста болуы. Осылай мысалы Dog класы тек иттің тәртібін ғана суреттейтін болса ғана байланысты болады.

Жеткіліктілік  деп логикалық және эффективті тіртіпті орындау үшін класстағы немесе модульдегі барлық қажеттіліктердің болуы түсініледі. Басқаша айтқанда компоненттер қолдануға толық жарамды болуы керек. Мысалға set (жиын) класын қарастырайық. Бұл класстағы элементтерді жою операциясы қажет екендігі белгілі, бірақ егер бұл класқа элементті қосу операциясын қоспау қателікке әкеледі. Толықтық деп барлық абстракция характеристикаларының класстың интерфейстік бөлігінде болуы түсініледі. Жеткіліктілік идеясы интерфейске минималды талаптарды қояды, ал толықтық идеясы абстракцияның барлық аспектілерін қамтиды. Интерфейсі қолданушымен қатынасуға барлық мүмкіндікті беретін класс немесе модуль толықтықпен сипатталады. Толықтық субъективті фактор болып табылады. Осыдан қарапайымдылық талабы шығады. Абстракцияның ішкі орындалуына рұқсат беруді талап ететін операциялар ғана қарапайым болып табылады. Set класындағы мысал бойынша Add операциясы қарапайым, ал төрт элементті қосу операциясы қарапайым болмайды, себебі эффективті түрде бір элементті қосу арқылы да жүзеге асырылуы мүмкін.

82.Түрлендіру және объектіге бағытталған жобалау.

Біздің есеп – интерактивті жүйенің кейбір жалпы типін көрсететін жүйені жобалау. Процесс толығымен деңгейлер қатарын орындаудан тұрады. Қолданушының жұмыс сессиясы қандай да бір күйлер санынан тұрады. Әр күйде қолданушыға қойылатын сұрақтары бар панель көрсетіледі. Қолданушы керек жауаптарды қайтарады, содан кейін ол жауап  деректер қоры жаңарғанда өңделеді. Қолданушының жауабының бөлігі болып келесі күйге өтуді интерпретациялайтын келесі қадамға өтуді таңдау болып табылады. Мысал ретінде авиабилеттерді резервтеу бола алады, ондағы күйлердің User Identification (Идентификация Пользователя), Enquiry on Flights (Запрос Рейса в нужное место и требуемую дату), Enquiry on Seats (Запрос Места на выбранный рейс), Reservation (Резервирование) секілді қадамдары болады.

Сессия Initial  бастапқы күйінен басталып, Final соңғы күйімен аяқталады. Барлық құрылымды мүмкін болатын күйлер мен олардың арасындағы өтулер көрсетілетін өтулер графы түрінде көрсетуге болады.

Мұндай қосымшаларды жобалау кезіндегі проблемасы максималды мүмкін болатын жалпылық пен икемділікке қол жеткізу. Негізінде:

  1.  G1 Графы үлкен болуы мүмкін. Көп жағдайда көптеген өтулері мен жүздеген күйлері бар қосымшалар кездеседі.
  2.  G2 Жүйе құрылымы, әдетте,өзгермелі. Жобалаушылар барлық мүмкін күйлер мен өтулерді алдын ала айта алмайды. Қолданушылар жүйемен жұмыс жасауды бастағанда олардың сұраныстары жүйенің өзгерісіне және оның мүмкіншіліктерінің кеңейтілуіне қатысты болады.
  3.  G3 Берілген схемада мысал ретінде авиабилеттерді резервтеу жүйесі болып табылады.


Программалық схемадан бастайық. Бұл жағдайда жүйе бірнеше блоктардан тұрады, әрбіреуі бір күйге сәйкесс болады: BEnquiry, BReservation, BCancellation и т. д. Блок мына түрде болады:

BEnquiry:

   "Отобразить панель Enquiryonflights"

repeat

       "Чтение ответов пользователя и выбор C следующего шага"

if "Ошибка в ответе" then

           "Вывести соответствующее сообщение" end

untilnot ошибки в ответе end

"Обработкаответа"

case C in

       C0: goto Exit,

       C1: gotoBHelp,

       C2: gotoBReservation,

...

end

Тура осындай блоктар әр күйге сәйкес келеді.


83. Кластардың және объектердің идентификациясына мысал.

Объект –өзінің қасиеттері , методтары бар мәліметтер типі.ал класс осы объекттерден тұрады.

Класс – бұл қолдаушымен анықталатын мәліметтер типі. Класс осы класстың бір айнымалысы жарияланбас бұрын жариялануы керек.

Класты жариялаудың синтаксисі келесідей:

Кластар басқа кластардың методы, қасиеттерін ала алады


84. Объектіге бағытталған анализ.

Есепті түсіну үшін БҚ жасауда анализ рөлін түсініп және анализ әдісіне талапты анықтау керек.

Анализді жүргізу мақсаттары:

  1.  А1 Программалық жүйе шешетін проблеманы түсіну.
  2.  А2 Проблема және жүйе туралы маңызды сұрақтарды беру.
  3.  А3 Проблема мен жүйенің спецификалық қасиеттері туралы сұрақтарға жауапты негізін қамтамасыз ету.
  4.  А4 Жүйенің нені жасайтынын анықтау.
  5.  А5 Жүйенің нені жасамайтынын анықтау.
  6.  А6 Жүйенің оның қолданушыларының талаптарын қанағаттандыратынына көз жеткізу.
  7.  А7 Жүйені жасаудың негізін қамтамасыз ету.

Егер анализ программалық жүйеге қолнаылмайтын болса, онда негізгі болып А1, А2 және А3 мақсаттары орындалады.

БҚ кезінде анализ проекттің орындалу негіздемесі этапынан кейін орындалады. Кейде бұл этаптар біреуге біріктіріледі, себебі қанағаттандыратын нәтиже алу үшін терең анализ жүргізу керек. Онда А0 пунктін қосу керек,ол жасау туралы шешімді қабылдауды қамтамасыз етеді.

Анализдің соңғы нәтижеге тәуелсіз түрдегі маңызды артықшылығы процесс кезінде маңызды сұрақтар беріледі. (A2). Анализ әдісі қолданушыларға қажетті бастапқы деректерін дайындауға мүмкіндік береді. Анализ процесі кезінде интерпретацияның қарама-қайшылығы немесе сұрақтар туындағанда жиі А2 пунктіне оралу керек болады.  

Анализ процесіне практикалық талабын келесі мақсаттар тізімінен шығады:

  1.  Маман еместердің БҚ саласында нәтижелерді талқылау  мен анализге қатысу мүмкіндігі (A1, A2);
  2.  Анализ нәтижесін көрсету формасы БҚ құрушыларға тікелей жарамды болу керек (A7);
  3.  Шешудің масштабтылығы (A1);
  4.  Нотацияда бірмәнді емес талқылау болмау керек(A3);
  5.  Қолданушыға жүйенің немесе ішкі жүйенің ұйымдастырылуы туралы жалпы көрініс мүмкіндігі (A1, A7).

Масштабталу күрделі немесе үлкен жүйелерге қажет. Әдіс жоғарыдеңгейлі құрылым проблемасын суреттеуді қамтамасыз ету керек және осы суреттеуде қажетті абстракция деңгейін ерекшелеу керек. Бұл жүйенің үлкен де,кіші де бөліктеріне ден қоюға мүмкіндік береді.


85. 87.  Кілттік абстракциялар және механизмдерге мысал.

Кілттік абстракциялар. Механизмдер идентификациясы.

Абстрагирование күрделі есептерді шешуде қолданылатын негізгі әдістердің бірі.

Абстракция кейбір объекттердiң маңызды мiнездемелерін ерекшелейтін, барлық басқа объект түрлерiнен айырмашылығы болатын және оның бақылаушы көзқарасы бойынша концептуалды шекараларын анықтайды.

Берілген пәндік облыс үшін абстракциялардың дұрыс жиынын таңдауы объектіге бағытталған бағдарламалаудың негізгі есебі болып табылады.

Барлық абстракциялардың статикалық және динамикалық қасиеттері болады.Мысалы,файл объект ретінде нақты құрылғыда нақты жадыны талап етеді,аты және мазмұны болады.Бұл атрибуттар статикалық қасиетке ие.Аталған қасиеттердің әрбір нақты мәндері динамикалық және объекттің қолданылуы процесстерінде өзгереді:файлды үлкейтуге не кішірейтуге,атын және оның құрамын өзгертуге болады.

Абстракция мысалдыры.

Гидропоника қолданатын жылыжайда,өсімдіктер құмсыз,қиыршық тас не басқа да топырақсыз қоректендіргіш ерітіндіде өсіріледі.

Бұл есепте негізгі кілттік абстракция ол-датчик.Бізге температура,су, ауа ылғалдылығы датчиктері, жарық керек.

// Фаренгейт бойынша Температура

typedef float Temperature;

// Дптчиктің жағдайын анықтайтын сан

typedef unsigned int Location;

classTemperatureSensor {

public:

TemperatureSensor (Location);

~TemperatureSensor();

void calibrate(Temperature actualTemperature);

Temperature currentTemperature() const;

private:

...

};

Temperature бұл мәліметтердің Фаренгейт шкаласының  жүзитін нүктелер форматында температуралары жазылатын сандық типі.

Location типінің мағынасы температуралық датчиктердегі  ферманың орнын білдіреді.

TemperatureSensor класы – бұл тек датчиктің спецификациясы ,оның негізі (private) орналасқан.


86.Әдіс. Белгілер. Белгілер элементтері.

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

Объектілердің функционалдық және құрылымдық қасиетін түсіну маңызды. Объектілер классының таксономиялық құрылымын, мұралау мехнизмдерін, объектілердің индивидуалды тәртібін және жүйенің толық динамикалық тәртібін анықтап алу керек.

Суретте модельдердің әр түрлі типтері көрсетілген, олар объектіге бағытталған әдісте басты болып табылады.  

Белгілеулер- архитектура мен жүйе тәртібінің нәтижесін көрсетуші құрал ғана. Сол үшін тек қана белгілердің керек элементтерін ғана қолдану керек.

.


88. Моделдер және ракурстар. Логикалық және физикалық моделдерге мысал.

Проектілеу процесінде C++Builder сөйлемдерінде автоматты түрде проектінің басты файлдарының коды, жеке модульдердің коды және олардың тақырыптық файлдарының коды құрылады. Windows ортасында жұмыс жасауға арналған проектінің басты файлы WinMain басты функциясынан тұрады. Егер консольды сөйлем болса мұнда басты функция main болады. Қалған модульдерде сіз әртүрлі жағдайларға қарай  өз кодыңызды енгізе аласыз.  Бұл модульдердің тақырыптық файлдарында сіздер өз жариялауларыңызды енгізіңіздер.Бірақ басты модульге тиіспе тіпті оның тескттерін көре де алмайсыздар. Басты файлдың кодын құру үшін  C++Builder-де Project| View Source командасын орындау керек.Проектінің басты  файлы келесідей болады.

//

#include<vcl.h>

#pragma hdrstop

//

USERES(“Project1.res”);

USEFROM(“Unit1.cpp”, Form1);

USEFROM(“Unit2.cpp”, Form2);

//

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

{ try

{ ApplicationInitialize();

ApplicationCreateForm(_classid(TForm1), &Form1);

ApplicationCreateForm(_classid(TForm2), &Form2);

ApplicationRun();

}

Catch (Exception &exception)

{

ApplicationShowException(&exception);

}

Return 0; }


90.. Статикалық  және динамикалық моделдер. Жобалау аспаптары.

DLL библиотекасы біздің қосымшамызбен статикалық және динамикалық байланыс жасай алады.Статаикалық байланысуда  қосымшамыз орындала бастағанан ақ DLL кітапханасы жүктеле бастайды.Статикалық байланысудың бірден бір кемшілігі кітапхана жүктелуі үшін оның уақытты көп алатындығында және қолданушыда сәйкес DLL файлы болмаған жағдайда қосымшаның орындалмайтындығында.Статикалық байланыста арнай функциялар көрсетілген файлдар бар деп айтылады.Ол файлдардың кеңейтілуі . lib болып  табылады.Бұл файл біздің қосымшамен байланысқан болуы керек.

Динамикалық байланыс статикалық байланысқа қарағанда ерекше,бұл жерде DLL  кітапханасың белгілі бір функциясы  тек керек кезінде ғана жүктеледі.кейін бұны жадыдан шығарып тастауға болады.Бұл жадыны неғұрлым эффективті қолдануға мүмкіндік береді. DLL жүктеу үшін

HINSTANCE dllINSTANCE=LOADLIBRARY(“mydll.dll”)




1. Функционирование Федерального Казначейства РФ
2. і. Меню палітри зразків Палітру зразків відкривають за допомогою чорної стрілки на полі перегляду
3. Химия для студентов нехимических специальностей
4. Вес нетто г 1 п
5. рефератов по физре
6. тема Вариант 3 Исполнитель- студентка V курса Специальность ФК Форма обучения дневна
7. Контрольная работа- Одежда и макияж деловой женщины
8. Господин Великий Новгород Культура удельной Руси XIIXIV вв.
9. Торжество посвященное Дню лицеиста можно считать открытым
10. Проблемных породахСобака любым другим именемНе анализируйтеГлава 4Сила СтаиНатуральнаядикаяСтаяНет мес