С++ тілі – тасмалданатын тіл

ҚАЗАҚСТАН РЕСПУБЛИКАСЫ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ

 

Л.Н. Гумилев атындағы Еуразия ұлттық университеті

 

«Ақпараттық жүйелер» кафедрасы

 

 

 

 

 

 

КУРС  ЖҰМЫСЫ

 

 

_______________________________________________________

(пәннің аталуы)

_______________________________________________________бойынша

 

тақырыбы ______________________________________________________

(пәннің аталуы)

________________________________________________________________

 

 

 

Студент ______________________                    топ       _______________

  (фамилиясы, аты-жөні)                                                                                            (шифр)

        ______________________                                 _______________

                                          (қолы)                                                                                                            (күні)

 

Жетекші   _________________                           ______________________

(қолы)                                                                                         (фамилиясы, аты-жөні)

      __________________

   (баға)

 

 

 

 

 

 

 

 

 

 

 

 

Астана-2012

 

       Мазмұны

 

 

І Кіріспе .......................................................................................................- 3-

ІІ Негізгі бөлім...........................................................................................-5-

2.1 Есеп қойылымы..................................................................................-5-

    1. Есептеу алгоритмы...............................................................................-5-
    2. Структуралық моделі..........................................................................-6-

2.4 Объектілік моделі................................................................................-7-

            2.5 Бағдарламаның тағайындауы............................................................-7-

            2.6 Жүйелiк талаптар.................................................................................-7-

            2.7 Программалау тiлiнiң  таңдауы..........................................................-7-

            2.8 Деректер қорының құрылымы............................................................-8-

            2.9 Интерфейстiң жобалануы..................................................................-9-

            2.10 Бағдарламаның құрылымы................................................................-12-

            2.11 Қолданушының нұсқауы...................................................................-13-

           2.12 Бақылау мысалы.................................................................................-14-

ІІІ Қорытынды........................................................................................-15-

Қолданылған әдебиеттiң  тiзiмi................................................................-16-

Қосымша А..............................................................................................-17-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

І Кіріспе

 

       Адамзат дамуының жаңа кезеңі XXI ғасыр – бұл ақпараттық қоғам дәуірі, оның негізін компьютерлік технология құрайды. Сол себепті де бүкіл дүниежүзінде ең алдымен ақпараттық жаһандану үрдісі жаппай етек алуда. Оның таңғажайып көрінісі болса, «адам - компьютер - Интернет» байланыс жүйесі деп атап айтар едік. 
ҚР-сында осы ақпараттық өркениет үрдісінен шығу үшін «Қазақстан 2030» стратегиясынан бастап, Елбасының дәстүрлі Жолдаулары бойынша барлық жағдайлар жасалып келеді [1,2]. Әсіресе, білім беру саласы барынша ақпараттандыру (информатизация) мақсаты жүзеге асырылып отыр. Бұған қажетті заңнамалар мен бағдарламалар қабылданған [3]. 
Әлемдік өркениет жолмен бағытталған Eлбасының 2007 жылғы «Жаңа әлемдегі жаңа Қазақстан» атты жолдауында: «Біз бүкіл еліміз бойынша әлемдік стандарттар деңгейінде сапалы білім беру қызметін көрсетуге қол жеткізуіміз керек» десе, ол үшін жаңа ақпараттық технологияларды оқытуды міндет етеді. 
Бір сөзбен айтқанда, басты мақсат білім сапасын арттыру арқылы әлемдік білім кеңістігіне кіре білу болады. Міне, сондықтан да қазірден бастап, «Объектіге бағытталған тілдер және программалау технология» пәндерінде әлемдік деңгейге жеткізе оқыту талабы қойылып отыр. Осыған сай айта кету қажет, егер «нені оқыту керек?» деген сауалға мемлекеттік білім стандарттары жауап беретін болса, «қалай оқыту керек?» деген мәселе мұғалімдер біліктілігімен тікелей байланысты.  
Соңғы жылдары жоғары білім беру жүйесінде «Borland C++ Builder программалау тілі» атты жаңа бір пән оқытыла бастады. Бірақ та, оны оқытудың мемлекеттік стандарты әлі жасала қойған жоқ. Әрі осы тіл туралы қазақша жазылған оқу- әдістемелік құралдары өте қанағатсыз көрінеді.  Borland C++ Builder программалау тілі жоғары деңгейлік күрделі тіл болғандықтан оның өзіндік ерелшелігі мен қиын жақтары оқыту әдістемесінде ойластырылуы керек. Осыған байланысты жоғары деңгейлік Borland C++ Builder программалау тілін оқыту мақсаты «Объектіге бағытталған тілдер және программалау технология» пәндерін дамыта оқытудың жаңа технологиясын пайдалану жолы болып табылады .

   С++ программмалау тілінің пайда болу тарихы 1972 жылдан бастау алды. 
Жоғарғы және төменгі деңгейдегі тілдер кездесетiн бұл программаны Деннис Дитчи және Брайн Керниген деген ғалымдар жасап шығaрған. Бұл тілді кейінірек Американың Ұлттық стандарттау орталығы растады.(ANSI) 
1980 жылы Бьярна Страуструптың қабілетіне байланысты ANSI – дің өкілі – С++ тілі пайда болды. Онда басқа да тілдердің жақсы жақтары көрініс тапты. С++ тілі С тіліне қарағанда программистке дәстүрлі құрылымдық және объектілік бағытталған программаларды жасауға мүмкіндік береді. 
С++ тілін қолданып жасалған программалық қамсыздандыру идентификаторлар, кілттік сөздер, функциялар, тұрақтылар, препроцессорлар, құрылымдар, массивтер және т.б элементтерден тұрады. 
           С++ тілі – тасмалданатын тіл. Бұл ортада жазылған қолданбалы программалар бір компьютерден екінші компьютерге оңай тасмалданады. Сонымен қатар тіл - оңай компиляцияланатын тіл болып табылады. Ол жүйелік программаларда пайдаланылады. 
Программалауды объектілік тұрғыда жүргізу ХХ ғасырдың 80-шы жылдарының ортасынан бастап 90-шы жылдардың соңына дейінгі уақытты қамтиды. Объектіге бейімделген программалау программаны объектілер жиынтығы түрінде көрсетуге негізделген күрделі программалық қамсыздандыруды жасаудың технологиясы ретінде анықталады. Мұнда әрбір объект белгілі бір тип, яғни класс данасы болып табылады. Ал, кластар қасиеттердің мұрагерлікке байланысты иерархиялықты құрайды. Мұндай жүйедегі программалық объектілердің өзара әрекеті хабарлама жіберу көмегімен орындалады. Программаның объектілік құрылымы ең алғаш күрделі жүйелерді иметациялық модульдеудің simula (ХХ ғасыр 60-шы жылдар) қолданған болатын. Объектілік тұрғыда программалаудың Delphi, C++ Builden Visual C++ құралдары кеңінен таралған.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ІІ Негізгі бөлім

 

 

          2.1 Есептің қойылымы

 

Актив компаниясы жайлы  ақпарат алуға болатын программа  жасау. Бір мекемедегі актив ұстаушылардың дерекқорын жасау. 

Программа функционалы :

● Жаңа адам жайлы ақпарат  қоса алуы

● Фильтр жасалады

● Іздеу(Поиск) жасалады

● Сұрыптай алуы

 

 

2.2. Есептеу алгоритмы

 

Дерекқордың ақпарат көзі ретінде Microsoft Office Access 2003-тің кестесі қолданылды .  

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

   Мысалы, жабдықтаушылардың телефон нөмірлері әр түрлі орындарда сақталады дерлік: жабдықтаушының телефон нөмірі бар карта файлында, картотекадағы өнім ақпараты файлдарында және тапсырыс ақпараты бар электрондық кестелерде. Жабдықтаушының телефон нөмірі өзгерсе, сол ақпаратты барлық үш жерден жаңартып алуыңыз қажет. Жақсартылған Access дерекқорында, телефон нөмірі бір рет сақталады, сонда тек бір жерден ғана ақпаратты жаңартуға болады. нәтижесінде, жабдықтаушының телефон нөмірін жаңартқан кезде, ол автоматты түрде дерекқордың кез келген жерінен жаңартылады.

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

     ● Деректерді сұрыптауға арналған кестелер.

     ● Деректерді іздеуге және алуға арналған сұраулар.

     ● Кестелерден деректерді көру, қосу және жаңартуға арналған пішіндер.

     ● Нақты орналасудан деректерді талдауға немесе басып шығаруға арналған .

    Менін программамда жалғыз Дерекқормен шектеліп қоймайды,одан бөлек Актив компаниясы жайлы ақпараттар көп .

 

 

 

 

2.3 Структуралық моделі

 

Программаның структурасы  рис 1.-де модульдердің байланысы схема  түрінде көрсетілген .

 



 







 




 

 




 


 

 



 


 

                

                   2.3.1-сурет. Структуралық модель

 

Таңдау блогінде ізделетін сөз  жазылып , және сөзді қай псевдонимнен іздейтінін таңдаймыз, кейін ғана іздеу жүреді.

 

2.4. Объектілік моделі

 

Актив абоненттерінің дерекқорының объектілері : Поля : NPP,FAM,NAME,SNAME,FAC,ADRES,@MAIL.RU,фотографии, TEL.

Әдісі : TLocate, Filtered, Sorted.

NPP-нөмірленуі

FAM-абонент фамилиясы

NAME- есімі

SNAME- әкесінің аты

FAC- факультеті

ADRES- мекен-жайы

@MAIL.RU – почталық адресі

Фотографии – әр абоненттің суреттері

TEL – активтің нөмірлері

 

 

2.5 Бағдарламаның тағайындалуы

 

Бағдарлама дерекқордағы абоненттерге оңай операциялар жасай алады .

 

    

2.6 Жүйелiк талаптар

 

Бағдарлама басқару  жүйелерiнiң ортасында Windows 98ден Windows 7ге  дейін жұмыс iстей алады. Ерекше талаптар қойылмайды : процессор Pentium тәріздес немесе одан да жоғары , жедел жад – 256мб (512 мб болса дұрыс), бос орын кемінде 260 мб (дерекқор жабдық модулі).

 

 

2.7 Программалау тiлiнiң таңдауы

 

Бағдарлама жазу кезінде C++ Builder 2010(Embarcadero RAD Studio 2010) қолданылды. С++ қазіргі таңда ең танымал , әрі көп қолданылатын программалық тіл . Бұл тілдің тікелей қарсыласы Java тілі , бұлардың біреуін білсең автоматты түрде екінші тілді де 90%-ке түсінесіз .

С++ тiлi BCPL және B тiлдердiң  негiзiнде құралған және Си тiлiнен  дамыған. BCPL тiлi компилятордан жазуға және операциялық жүйенi бағдарламамен қамтамасыз етуге арналған. Бұл тiлдi 1967 жылы Мартин Ричард ойлап тапқан. Кен Томпсон В тiлiнiң көптеген мүмкiндiктерiн BCPL дубликатында және В тiлiн UNIX операциялық жүйелерiнiң алғашқы версияларын құру үшiн 1970 жылы Bell Laboratories-те DEC PDP-7 компьютерiнде қолданылды. BCPL және В тiлдерi қолдануға тиiмсiз болды. Онда мәлiметтiң әрбiр элементi жадыда бiр сөздiң орнын алады және мәлiмет элементтерiн өңдеуде бағдарламашыларға ауыртпалығын тигiздi.

Си тiлi В тiлiнiң негiзiнде  дамыды. Си тiлiн Bell Laboratories-те 1972 жылы Деннис Ритчи DEC PDP-11 компьютерiнде жасады. Си BCPL және В тiлдерiнiң көптеген маңызды  концепцияларын және мәлiмет типтерiн  және басқа да қасиеттерiн қолданды. Си тiлi UNIX операциялық жүйесiн өңдеудегi тiл ретiнде кеңiнен танымал болды. Қазiргi таңда барлық операциялық жүйелер Си және Си++ тiлдерiнде жазылған. Соңғы он жылдықта Си тiлi көптеген компьютерлерде қолайлы болды.

Си++ Си тiлiнiң кеңейтiлген түрi. Оны 1980 жылдың басында Бъерн Строустроп Bell Laboratories-сында өңдеп шығарған. Си++ т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лген мәлiметтер типтерiне бақылауды күшейтуге және көптеген қосымша эффектiлердi жеңе алатын болдық. Си++ тiлiнiң ең маңызды табысы объектi-бағдарланған бағдарламалау болып табылады. Си++-тiң барлық жеңiлдiктерiн пайдалану үшiн негiзгi объектiлердi және олармен байланысқан операцияларды анықтап алу керек.

 

 

2.8 Деректер қорының құрылымы

 

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

     ● Деректерді  сұрыптауға арналған кестелер.

     ● Деректерді  іздеуге және алуға арналған  сұраулар.

     ● Кестелерден  деректерді көру, қосу және жаңартуға арналған пішіндер.

     ● Нақты  орналасудан деректерді талдауға  немесе басып шығаруға арналған .

Кесте жасау үшін Access 2003 ашамыз:

  • щелчок по значку на Панели быстрого запуска;
  • команда Пуск / Программы / MS OFFICE / MS Access;

Ашылған Дерекқорда Файл / Создать командасын орындаймыз .

Кейін Новая база данных дейміз .

 

 

                            2.8.1-сурет. Кесте

 

NPP-нөмірленуі 

FAM-абонент фамилиясы

NAME- есімі

SNAME- әкесінің аты

FAC- факультеті

ADRES- мекен-жайы

@MAIL.RU – почталық адресі

Фотографии – әр абоненттің суреттері

TEL – активтің нөмірлері

 

 

2.9 Интерфейстiң жобалануы

 

 

                2.9.1-сурет. RAD studio 2010

              

                         2.9.2-сурет. Алғашқы терезе

 

Компоненттердің қасиетін өзгерту екі түрлі жолмен жасалады:  объектілер инспекторының (Object Inspector ) терезесінде немесе программалау жолымен. Негізгі терезенің қызметі - С++Builder программмалау ортасында қосымша құрудың барлық кезеңін  қамтиды және басқарады.

Объектілер инспекторының терезесі сәйкесінше объектінің қасиеттерін (Properties) және оқиғаларын (Events) өзгерту үшін қолданылады.

Форма редакторының терезесінде қосымшаның терезелік интерфейсінің негізі  құрылады, яғни қосымша интерфейсін  құру осы форма терезесінен  басталады.

Код жазылатын редактордың  терезесі кәдімгі мәтіндік редактордың  қызметін атқарады, мұнда C++ тіліндегі  программалар мәтіндері жазылады.

С++Builder программмалау  ортасындағы қосымша – бірнеше  файлдарды біріктіретін бір проектіні (мысалы, Project1) құру және оны компиляциялаудың нәтижесінде алынатын, орындалатын * .ехе кеңеймелі файл болып табылады.

Форма. C++ Builder ортасында құрылатын қосымшаның  орындалуы кезінде экранға шығатын визуальдық бөлімінің негізін TForm  класының өкілі болып табылатын Form компоненті құрайды. C++ Builder ортасы жүктелгенде, құрылатын проектіге (Project1) сәйкес форма терезесі (Form1) өзі автоматты түрде пайда болады /4.4-сурет/.  Форма терезесі, бұл - Windows қосымшаларына тән тақырыптық зонасы, жүйелік меню батырмасы, басқару батырмалары және таза жұмыстық обылысы бар, өлшемі өзгеріп отыратын терезе  .

Проектіге тағы да форма  терезелерін қосу үшін File à New à Form  командасы орындалады.  Қосымшада бірнеше форма болған жағдайда олардың кез-келген біреуі (әдетте бұл Form1) негізгі немесе бас форманың ролін атқарады және ол  программа орындалған кезде экранға бірінші болып шығады, ал негізгі форманың ролін кейін тұрған Form2, Form3 т.б. біреуі атқару керек болған жағдайда проект программасының мәтініндегі формалардың құрылу тәртібі өзгертіледі . 

 Программа құруда Form компонентінің келесі қасиеттері мен әдістері жиі пайдаланылады:

TCaption  типтер класына жататын   Caption қасиеті форманың тақырыбын, яғни тақырыптық зонадағы мәтінді жазу үшін қолданылады;

TComponentName типіне жататын Name қасиеті Form компонентінің атын немесе идентификаторын беру үшін қолданылады, әдетте ол Form1, Form2 ... болып кете береді, егер қолданушы қажет болған жағдайда бұл атауларды өзгерте алады және программада оны сол өзі берген атпен шақырып пайдаланады, мысалы, Name қасиетінің мәні Form1 –ден MainForm- ға өзгертілсе онда оны программада пайдаланғанда

Form1à Caption:= “Форма терезесі”;                      деп жазудың орнына 

MainFormà Caption:= “Форма терезесі”;                түрінде жазады. Бұл  Name қасиеті C++ Builder   ортасындағы қолданылатын барлық программалық компоненттерге тән қасиет.

Форманың  Visible  (типі Boolean) қасиеті C++ Builder ортасының визуальдық компоненттері үшін анықталған, егер бұл қасиеттің мәні

Form1àVisible = false ;

 болса программа  орындалған кезде форма көрінбей  тұрады, ал әдетте  оның мәні true   болып тұрады.  Form компонентінің жоғарыда айтылған қасиеттерін « Объектілер инспекторының» терезесінде өзгерту өте ыңғайлы болады және бұл терезеден оның тағы да  басқа көптеген  қасиеттерін  көруге болады;             

Программада Form компонентінің жаңа экземпляр-данасын құру үшін constructor Create(AOwner: TComponent); конструкторы қоданылады, егер жаңа дананы құру команда түрінде талап етілетін болса оны программа мәтінінде келесі түрде жазады:

ApplicationàCreateForm(TForm1, Form1);

бұл программаның негізгі  терезесін құру болып табылады, ал қалған  терезелерін құруды , мысалы

Form2=TForm2.Create(Application); түрінде беруге болады

Close функциясы форма  терезесін жабуды қамтамасыз етеді, программадағы жазылуы:

Form1à Close();

Hide функциясының қызметі- форманы экранда көрсетпей жасырып тұрады, жазылуы:

Form1à Hide();

Show функциясы орындалғанда көрінбей тұрған форма, алдыға шығып экранда көрсетіліп тұрады, жазылуы:

Form1à Show();

 

Программада қолданылған компоненттер :

ADOTable – дерекқор таблицасы (страница ADO).

DataSource - деректер көзі (страница Data Access).

DBGrid - визуалді компонент, ішінде дерекқордың таблицасы көрінеді (страница Data Controls).

DBNavigator - компонент, управляющий работой с таблицей БД (страница Data Controls).

Image1 – jpeg & bmp суреттерин ашуға болатын контейнер

 

 

    2.10 Бағдарламаның құрылымы

 

 

                    2.10.1-сурет. 1-ші формадағы компоненттер

 

 

                 2.10.2-сурет. Гудок формасы

 

Бұл менің программамдағы басты форма яғни Form1.

Әр кнопкада жаңа форма  ашылады . Ал басты форма корінбей тұрады . Программада жалпы 15 форма бар .

 

 

2.11 Қолданушының нұсқауы

 

 

                             2.11.1-сурет. Қосу

 

Пуск-Project1 , кейін программа ішінде Войти в Базу Актив

 

                           2.11.2-сурет. Дерекқор

 

 

2.12 Бақылау мысалы

 

Дерекқорды сұрыптау

 

 

                     2.12.1-сурет. Поиск

 

Мұнда фамилия бойынша  сұрыптап тұр .

Дәл осылай кез-келген поля бойынша сұрыптайды , қай поля басылса  сол қатар сұрыпталады .

 Поиск орындалуы :

 

                        2.12.2-сурет. Іздеудің орындалуы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ІІІ Қорытынды

 

 

Бұл курстық жұмысты  орындау барысында мен Дерекқормен жұмыс жасап үйрендім,  дерекқордағы кестені көп тәсілмен жасауға болады , бірақ мен Access-ке тоқталдым.

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

Дерекқордағы өзгерістер Access-тегі кестеніде өзгертеді .

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

Дерекқор ішіне жазылған адамдар мен тұратын СД №4 тұрғындары, және олардың бәрі Актив байланысының абоненттері.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Қолданылған әдебиеттiң  тiзiмi :

 

  1. Бабушкина И. А. Практикум по объектно–ориентированному программированию / Бабушкина И.А., Окулов С.М.: –М.: БИНОМ, Лаборатория знаний, 2004. –366 с.
  2. Богуславский А.А., Соколов С.М. Основы программирования на языке Си++: –Коломна: КГПИ, 2002. –490 с.
  3. Джесс Либерти. Освой самостоятельно C++ за 21 день. –М.: Вильямс, 2003. –772 с.
  4. Дэвис Стефан Р. C++ для «чайников». –М.: Издательский дом «Вильяме», 2003. –336 с.
  5. Объектно–ориентированное программирование: Учебник для вузов. – 2 изд., перераб. и доп. / Под ред. Г.С. Ивановой. –М.: Изд–во МГТУ им. Н.Э. Баумана, 2003. –368 с.
  6. Федотова Д.Э., Семенов Ю.Д., Чижик К.Н. Объектно – ориентированное программирование.  –М.: АСТ, 2005. –433 с.
  7. Мукашева М.О. Программалау технологиясы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Қосымша А

            Бағдарлама листингі

 

 

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include<jpeg.hpp>

#include "Unit1.h"

#include "Unit2.h"

#include "Unit3.h"

#include "Unit4.h"

#include "Unit5.h"

#include "Unit6.h"

#include "Unit7.h"

#include "Unit8.h"

#include "Unit9.h"

#include "Unit10.h"

#include "Unit11.h"

#include "Unit12.h"

#include "Unit13.h"

#include "Unit14.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

  Form1->Hide();

Form2->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

Form1->Hide();

Form3->Show();

}

//---------------------------------------------------------------------------

 

 

void __fastcall TForm1::Button3Click(TObject *Sender)

{Form1->Hide();

Form4->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button5Click(TObject *Sender)

{

Form1->Hide();

Form5->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)

{

Form1->Hide();

Form6->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button6Click(TObject *Sender)

{

Form1->Hide();

Form7->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N1Click(TObject *Sender)

{

Form1->Hide();

Form14->Show();

}

//---------------------------------------------------------------------------

 

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "jpeg.hpp"

#include "Unit2.h"

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm2 *Form2;

//---------------------------------------------------------------------------

__fastcall TForm2::TForm2(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm2::DBGrid1TitleClick(TColumn *Column)

{

ADOTable1->Sort=Column->FieldName+" ASC";

}

//---------------------------------------------------------------------------

 

void __fastcall TForm2::DBGrid1CellClick(TColumn *Column)

{

if(!(TBlobField*)ADOTable1->FieldByName("фотографии")->IsNull){

       if(!Image1->Visible)Image1->Visible=true;

       TMemoryStream* strm = new TMemoryStream;

       TJPEGImage *ptJpg=new TJPEGImage;

        ((TGraphicField*)ADOTable1->FieldByName("фотографии"))->SaveToStream(strm);

        strm->Seek(0,0);

        if (*(Word*)strm->Memory == 0xD8FF)Image1->Picture->Graphic=ptJpg;

        Image1->Picture->Graphic->LoadFromStream(strm);

        delete strm;

        delete ptJpg;

      }else

      Image1->Visible=true;