«Компьютерлік техника дүкені» мәліметтер қоймасын өңдеу


МАЗМҰНЫ

КІРІСПЕ3

  1. Техникалық тапсырма . . . 5
  2. «Компьютерлік техника дүкені» мәліметтер қоймасын өңдеу . . . 6Өңдеу ортасын сипаттау . . . 6Мәліметтер қоймасын сипаттау . . . 12
  3. Қолданылатын процедураларды және функцияларды сипаттау . . . 14
  4. Қолданушыға басшылық . . . 24

ҚОРЫТЫНДЫ . . . 29

ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ . . . 30

КІРІСПЕ

Соңғы кездерде болған өзгерістер есептеу техникасын және информатиканы тимей өткен жоқ. Мәліметтер қоймасымен жұмыс істейтін бағдарламалық қамтамасыздандыру персоналды компьютерлерде көп уақыттан бері қолданылып жатыр. Бірақ, өкінішке орай бұл бағдарламалар мәліметтерді сақтайтын элементарлық диспетчерлер болды және оларда қосымшаларды өңдейтін құралдар болған жоқ немесе өте қиын болды, сондықтан қолданушыға бағытталған толық қосымшаларды алмағанша компьютерді жақсы білетін адамдар олармен жұмыс істеуге тырыспады.

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

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

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

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

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

Берілген бағдарлама Windows’95 - тен бастап Windows - тың барлық версияларында жұмыс істейді.

1. Техникалық тапсырма

«Компьютерлік техника дүкені» мәліметтер қоймасымен жұмыс істейтін бағдарлама компьютерлік фирма менеджерінің еңбегін жеңілдету үшін тағайындалған.

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

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

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

2. «Компьютерлік техника дүкені» мәліметтер қоймасын өңдеу

2. 1 Өңдеу ортасын сипаттау

Delphi - ең күрделі жүйелердің бірі, бұл бағдарламалау тілі Windows - тың жеке қолданбалы бағдарламаларын, сонымен қатар корпоративті желілерде, Интернетте жұмыс істеу үшін тағайындалған әр түрлі тармақты комплекстерді құруды қамтамасыздандырады.

Delphi тілі Object Pascal тілінде жасалған. Borland (Turbo Pascal 1. 0 бастап) фирмасының Паскаль тілінің компиляторлары ең жылдам компиляторларының бірі болды. Қазіргі кезде Object Pascal - бұл жақсы компилятор түріндегі объектті- бағытталған тіл.

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

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

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

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

Жеке мәліметтермен жұмыс істейтін әдістермен қатар объектте барлық жиынтықпен жұмыс істейтін және оның құрылымын өзгертетін әдістер бар. Сондықтан, объект қасиеттердің және әдістердің жиынтығы болады. Внешнее управление объектом осуществляется через обработчики событий.

Объекттердің кейбір жиынтығы туралы немесе бағдарлама туралы көрініс толық болмайды. Көп жағдайда күрделі бағдарлама - бұл объекттердің алдын ала анықталған жиынтығы ғана емес. Жұмыс істеу кезінде объекттер құрылып жойылулары мүмкін. Сондықтан бағдарлама құрылысы орындалу кезінде өзгеретін динамикалық құрылым болып табылады. Объекттерді құру және жоюдың мақсаты - компьютер және жад ресурстарын экономдау. Есептеу техникасының дамуына қарамастан жад қашан да күрделі қосымшалардың мүмкіндігі болады. Бұл бағдарламалық жобалар күрделігінің, сонымен қатар техникалық қамтамасыздандыруының өсуімен байланысты. Сондықтан бағдарламаны орындаған кезде керек емес объекттерді жою керек. Бұл кезде онымен белгіленген жадтың облыстары да босатылады. Жадты динамикалық үлестіру мақсатымен барлық объекттерге оларды құру әдістері - конструкторлар және жою - деструкторлар жатады. Алғаш рет қосымшада (қолданбалы бағдарламада) болатын сол объекттердің конструкторлары бағдарламаны жүзеге асыру кезінде орындалады. Бұл уақытта қосымшада болатын барлық объекттердің деструкторлары қосымшаның жұмысы аяқталған кезде орындалады. Бірақ орындау кезінде әр түрлі жаңа объекттер (мысалы, құжаттардың жаңа терезелері) олардың конструкторлары мен деструкторларының көмегімен динамикалық түрде құрылады және жойылады.

Delphi ортасында жұмыс Delphi Өңдеудің Интегралданған Ортасында (ӨИО немесе Integrated development environment - IDE) жүргізіледі. Орта компоненттер орналасатын формаларды (қосымшада олар бірнеше болулары мүмкін) көрсетеді (береді) . Әдетте бұл терезелік форма, бірақ олар көрінбейтін формалар болулары да мүмкін. Формаға тышқанның көмегімен Delphi кітапханасында бар компоненттердің пиктограммаларын орналастырады. Қарапайым манипуляциялардың көмегімен бұл компоненттердің өлшемін және орналасуын өзгертуге болады. Бұл кезде жобалау кезінде нәтижені көруге болады - форманың түрін және онда орналасқан компонеттердің. Жобалау нәтижесін қандай да тышқанмен орындаған операцияны орындағаннан кейін көруге болады.

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

Формалар терезелерінде және кодта бар мәліметтер арасында тығыз байланыс бар. Бұл байланысты Delphi байқайды. Бұл формада компонентті орналастыру, бағдарламаның кодын автоматты түрде өзгертуге әкелетінін білдіреді, және керісінше кодтың автоматты түрде қойылған фрагменттерін жою сәкес компоненттерді жоюға әкелуі мүмкін. Осыны есте сақтап программистер ең алдымен форманы құрып, оған компоненттерді орналастырады, ал содан кейін қажет болса жұмыс істейтін бағдарламада компонеттің қажет тәртібін қамтамасыздандыратын кодтың фрагментін жазады. Жаңа бағдарламамен жұмыс істеуді бастағанда Delphi оның Windows - та дұрыс жұмыс істеуін қамтамасыздандыратын минималды қажет кодты құрады. Сондықтан қарапайым бағдарлама File New Application опциясын таңдағаннан кейін дайын болады.

Модуль жаңа форманы құрған кезде құрылады (бағдарламада бір емес, бірнеше, ондай формалар және олармен байланысты модульдер болуы мүмкін) . Бағдарламаны компиляциялау кезінде Delphi pas, dfm кеңейтілуі бар файлдарды және әр модуль үшін өстерді құрады: pas - файл бағдарлама кодының терезесінен алынған мәтіннің көшірмесінен тұрады, , dfm кеңейтілуі бар файлда форма терезесінде болатын мәліметтер сақталынады, ал өс - файылында екі файлдан алынған мәтіндерді машиналық инструкцияларға түрлендіру нәтижелері. Dcu файлдарын компиляторлар құрады және компоновщиктың жұмысы үшін қажет базаны береді. Ол бұл базаны ехе кеңейтілуі бар бір файлға түрлендіреді. .

Алғаш рет терезенің тақырыпшасы форманың тақырыбына сәйкес келеді: Formi. Тақырыпты өзгертуді Объекттер Инспекторының терезесінде жасау керек.

Procedure сөзі компиляторды бағдарлама - процедураның басталуы туралы ескертеді (Delphi - де бағдарламалар - функциялар қолданылуы мүмкін, бұл жағдайда procedure (процедура) орнына function (функция) сөзін қолданады) . Одан кейін TFormi. ButtonlClick процедурасының аты жазылады. Бұл ат - құрмалас: ол TForm1 классының атынан және Button1Click процедураның атынан тұрады.

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

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

type

TFormi = class(TForm)

Button1: TButton;

Label1: TLabel;

procedure ButtonlClick(Sender: TObject) ;

private

{ Private declarations }

public

{ Public declarations }

end;

varForm1: TForm1;

Строка

TForm1 = class(TForm)

Tform1 жаңа класын анықтайды, ол TForm стандарттық класынан құрылған

Form1: Tform1; жолы Formi атты бұл кластың бір түрін құрады. TForm стандарттық класы бос Windows - терезесін сипаттайды, бұл уақытта TFormI қойылған компоненттері бар терезені сипаттайды. Осы компоненттерді сипаттау мына жолдардан тұрады:

Button1: TButton;

Label 1: TLabel;

Олар Buttoni (Кнопка!) компоненті TButton стандарттық класының түрін көрсететінін белгілейді, ал Label (Метка 1) компоненті - TLabel класының бір түрін.

TFormi. Buttonicick процедурасының атынан кейін жақша түрінде жазылған шақыру параметрінің сипаттамасы жазылады

Sender: TObject

(Sender атты параметр TObject класына жатады) . Процедуралар бір емес бірнеше шақыру параметрлерінен тұруы мүмкін немесе олардан тұрмауы да мүмкін. Шақыру параметрлері (егер олар болса) процедурада жүзеге асырылған алгоритмді баптау үшін қызмет етеді. Параметр Sender параметрінің көмегімен Button1Click бағдарламасы қандай компонент OnClick процедурасын құрғанын анықтайды. Барлық жол

procedure TFormI. Buttoniciick(Sender: TObject) ;

процедураның тақырыбы деп аталады. Оны “; ” символы анықтайды. Бұл символ Object Pascal - де маңызды ролді алады, өйткені ол компиляторға тіл сөйлемінің соңын көрсетеді. Жеке сөйлемдерден бағдарламаның барлық мәтіні құрылады. Әр сөйлемнен кейін нүкте мен үтір қою керек - бұл тіл синтаксисінің міндетті талабы.

Келесі жолдар процедураны анықтайды:

begin

end;

Begin (басы) сөзі компиляторға процедураның жұмыс істеу алгоритмін сипаттайтын сөйлемдер тізбектілігінің басын ескертеді, ал end (соңы) - бұл тізбектілігінің соңы туралы.

Button1 кнопкасына басқан кезде басқару процедураға беріледі, бұл begin мен end сөздерінің арасында бағдарламаның фрагментін жазуға болатынын білдіреді.

Delphi-бағдарламасын құру үрдісі екі фазаға бөлінеді: форманы құру фазасы және кодтау фазасы.

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

Программист тышқанның көмегімен формада орналасқан әр компоненттін орнын және оның өлшемін өзгерте алады.

Компонентке керек қасиеттерді қою үшін Инспекторлар объектілерінің Properties беті қолданылады.

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

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

Процедура begin . . . end сөздерімен шектелген және Object Pascal тілінің жеке сөйлемдерінен (операторларынан) тұрады. Әр сөйлемнің соңында нүкте мен үтір қойылады.

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

2. 2 Мәліметтер қоймасын сипаттау

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

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

Мәліметтер қоймасы 6 кестеден тұрады:

Берілген бағдарлама 15 модульден тұрады, астыда олардың жазылуы берілген.

UDM модулі.

Бұл модуль қолданушы жұмыс істеген кезде экранда қалай да көрсетілмейді. Ол мәліметтер жиынтығын сақтау үшін қажетті. Модуль TTable, TdataSource типті компоненттерден тұрады. Бұл компоненттер мәліметтер қоймасының 6 кестесімен жұмыс істеу үшін қажет.

UMain модулі.

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

Мында туынды формаларды динамикалық құрудың процедуралары көрсетілген.

USKlient модулі.

Бұл модуль қолданушыға клиенттер (сатып алушылар) туралы мәліметерді қарау үшін арналған. Модуль туынды форма болады, сондықтан форманың қасиеті FormStyle = MDIChild. Бұл формамен жұмыс істеу үшін оны бас менюдан шақыру қажет. Формада мәліметтерді кестелік түрде көрсететін компонент, сонымен қатар клиенттерді іздеу және жазуларды өзгерту үшін контекстік меню бар.

UTovV модулі.

Бұл модуль «Тауарлар» анықтамалығымен байланысты кестемен жұмыс істеу үшін қолданылады және қоймада бар тауарларды көрсетеді. Мұнда жазулардың модификациясын өткізуге болады. Форманың «Клиенттер» анықтамалығының интерфейсіне ұқсас интерфейсі бар. Интерфейстредің ұқсастығы қолданушыларға қажет, өйткені бұл бағдарламаға үйренуді жеңілдетеді. Қалған модульдер жоғары аталған модульдерге ұқсас.

3. Қолданылатын процедураларды және функцияларды сипаттау

UTovV модулі

unit UTovV;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, DB, ExtCtrls, ComCtrls, Menus;

type

TFTovV = class(TForm)

Panel2: TPanel;

DBGrid1: TDBGrid;

PopupMenu1: TPopupMenu;

N1: TMenuItem;

procedure DBGrid1DblClick(Sender: TObject) ;

procedure FormShow(Sender: TObject) ;

procedure N1Click(Sender: TObject) ;

private

{ Private declarations }

public

FM:string;

{ Public declarations }

end;

var

FTovV: TFTovV;

implementation

uses UDM, UPost, UProd, USpisan, UPoiskT;

{$R *. dfm}

procedure TFTovV. DBGrid1DblClick(Sender: TObject) ;

begin

if FM='POST' then

begin

FPost. Tov:=DM. TTovVybID. Value;

FPost. Edit1. Text:=DM. TTovVybName. Value;

end;

if FM='SPIS' then

begin

FSpisan. Tov:=DM. TTovVybID. Value;

FSpisan. Edit1. Text:=DM. TTovVybName. Value;

FSpisan. SpinEdit1. MaxValue:=DM. TTovVybKol. AsInteger;

FSpisan. SpinEdit1. Value:=1;

FSpisan. button1. Enabled:=TRUE;

end;

if FM='PROD' then

begin

if DM. TTovVybKol. Value<=0 then

begin

ShowMessage('Товара нет на складе') ;

Exit;

end;

FProd. Tov:=DM. TTovVybID. Value;

FProd. SpinEdit1. MaxValue:=DM. TTovVybKol. AsInteger;

FProd. SpinEdit1. Value:=1;

FProd. EDTov. Text:=DM. TTovVybName. Value;

FProd. EDPrise. Text:=DM. TTovVybPrise. AsString;

end;

close;

end;

procedure TFTovV. FormShow(Sender: TObject) ;

begin

DM. TTovVyb. Refresh;

end;

procedure TFTovV. N1Click(Sender: TObject) ;

begin

if FPoiskT. ShowModal=mrOK then

begin

if DM. TTovVyb. Locate('Name', FPoiskT. Edit1. Text, [LocaseInsensitive, LopartialKey] ) =FALSE then

ShowMessage('Товар не найден') ;

end;

end;

end.

UProd модулі

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

Код модуля:

unit UProd;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ComCtrls, StdCtrls, Grids, Buttons, Spin;

type

TFProd = class(TForm)

TabControl1: TTabControl;

Button1: TButton;

Button2: TButton;

Label1: TLabel;

EDKlient: TEdit;

SpeedButton1: TSpeedButton;

DateTimePicker1: TDateTimePicker;

Label2: TLabel;

SG: TStringGrid;

StaticText1: TStaticText;

GroupBox1: TGroupBox;

Label3: TLabel;

BitBtn1: TBitBtn;

EDTov: TEdit;

SpeedButton2: TSpeedButton;

Label4: TLabel;

SpinEdit1: TSpinEdit;

Label5: TLabel;

EDPrise: TEdit;

procedure FormShow(Sender: TObject) ;

procedure SpeedButton2Click(Sender: TObject) ;

procedure SpeedButton1Click(Sender: TObject) ;

procedure BitBtn1Click(Sender: TObject) ;

procedure Button1Click(Sender: TObject) ;

procedure Button2Click(Sender: TObject) ;

procedure FormCreate(Sender: TObject) ;

private

{ Private declarations }

public

Stoim:real;

Tov:integer;

Kl:integer;

{ Public declarations }

end;

var

FProd: TFProd;

implementation

uses UTovV, UKlientV, UDM;

{$R *. dfm}

procedure TFProd. FormShow(Sender: TObject) ;

begin

Stoim:=0;

EDTov. Clear;

EDKlient. Clear;

EDPrise. Clear;

SpinEdit1. Value:=1;

SG. ColCount:=6;

SG. Cells[1, 0] :='Товар';

SG. Cells[2, 0] :='Цена';

SG. Cells[3, 0] :='Кол-во';

SG. Cells[4, 0] :='Стоимость';

SG. Cells[0, 1] :='ИТОГО:';

SG. Cells[1, 1] :='';

SG. Cells[2, 1] :='';

SG. Cells[3, 1] :='';

SG. Cells[4, 1] :='0';

SG. Cells[5, 1] :='';

SG. ColWidths[1] :=200;

SG. ColWidths[2] :=80;

SG. ColWidths[4] :=75;

SG. ColWidths[5] :=0;

SG. RowCount:=2;

Stoim:=0;

end;

procedure TFProd. SpeedButton2Click(Sender: TObject) ;

begin

FTovV. FM:='PROD';

FTovV. ShowModal;

end;

procedure TFProd. SpeedButton1Click(Sender: TObject) ;

begin

FKlientV. FM:='PROD';

FKlientV. ShowModal;

end;

procedure TFProd. BitBtn1Click(Sender: TObject) ;

var

i, j, kol:integer;

f:boolean;

begin

if EDTov. Text='' then

begin

ShowMessage('Не выбран товар') ;

exit;

end;

f:=TRUE;

kol:=SG. RowCount;

for i:=1 to kol-2 do

begin

if strtoint(SG. Cells[5, i] ) =tov then f:=FALSE;

end;

if (f) then

begin

SG. RowCount:=SG. RowCount+1;

kol:=SG. RowCount;

SG. Cells[1, kol-2] :=EDTov. Text;

SG. Cells[2, kol-2] :=EDPrise. Text;

SG. Cells[3, kol-2] :=Spinedit1. Text;

SG. Cells[4, kol-2] :=floattostr(strtofloat(SG. Cells[2, kol-2] ) *strtofloat(SG. Cells[3, kol-2] ) ) ;

SG. Cells[5, kol-2] :=inttostr(Tov) ;

SG. Cells[0, kol-1] :='ИТОГО';

SG. Cells[1, kol-1] :='';

SG. Cells[2, kol-1] :='';

SG. Cells[3, kol-1] :='';

SG. Cells[5, kol-1] :='';

Stoim:=0;

for i:= 1 to kol-2 do

begin

Stoim:=Stoim+strtofloat(SG. Cells[4, i] ) ;

end;

SG. Cells[4, kol-1] :=floattostr(Stoim) ;

SG. Cells[0, kol-2] :='';

SpinEdit1. Value:=1;

end else ShowMessage('Товар уже есть в списке') ;

end;

procedure TFProd. Button1Click(Sender: TObject) ;

var i, kol:integer;

begin

if EDKlient. Text='' then

begin

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Ақпараттық жүйе мүмкіндіктері
Кедендік режимдерді ұйымдастырудың ерекшеліктері мен тәжірибесі
Кедендік тасымалдаушының міндеттері
Кедендiк шекара арқылы тауарлар мен транспорттық құралдардың өту принципi
МӘЛІМЕТТЕР БАЗАСЫ ЖАЙЫНДА ЖАЛПЫ МӘЛІМЕТТЕР
Ұсақ көтерме кітап дүкені қызметінің деректер қорын жобалау
Деректер қорының физикалық моделін құру
Кәсіпорынның маркетингтік іс-әрекеттері
Ақпаратты өңдеуді ұйымдастыру
Ұялы сымтетік дүкені
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz