Валюталық операцияны есепке алу ақпараттық жүйесі курстық жұмыс
№4400


ЖОСПАР
КІРІСПЕ 4
I. ПӘНДІК ОБЛЫСТЫ СИПАТТАУ 6
1.1. Заттық аймақтың сипаттамасы 6
II. Бағдарламалық құжаттама 9
2.1 Есептің қойылымы 9
2.2 Ақпараттық қамтамасыздандыру 15
2.3 Бағдарламалық қамтамасыздандыру 17
2.4 Техникалық қамтамасыздандыру 19
III. Эксплуатациялық құжаттама 22
3.1 Бағдарламаның атқаратын қызметі және орындалу шарттары 22
ҚОРЫТЫНДЫ 29
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ 31
Бағдарлама листингі 32




Жұмыс түрі: Курстық жұмыс
Жұмыс көлемі: 60 бет
Пәні: Соңғы қосылған курстық жұмыстар

-----------------------------------------------------------------------------------

-----------------------------------------------------------------------------------
https://www.topreferat.com/
КУРСТЫҚ ЖҰМЫСТЫҢ ҚЫСҚАРТЫЛҒАН МӘТІНІ

ЖОСПАР
КІРІСПЕ 4
I. ПӘНДІК ОБЛЫСТЫ СИПАТТАУ 6
1.1. Заттық аймақтың сипаттамасы 6
II. Бағдарламалық құжаттама 9
2.1 Есептің қойылымы 9
2.2 Ақпараттық қамтамасыздандыру 15
2.3 Бағдарламалық қамтамасыздандыру 17
2.4 Техникалық қамтамасыздандыру 19
III. Эксплуатациялық құжаттама 22
3.1 Бағдарламаның атқаратын қызметі және орындалу шарттары 22
ҚОРЫТЫНДЫ 29
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ 31
Бағдарлама листингі 32
КІРІСПЕ
Менің курстық жұмысымның тақырыбы: «Валюталық операцияны есепке алу
Бұл жұмыста құрылған қосымша банк және қандай
Курстық жұмыстың мақсаты - банктерде валюталық
«Тұран Әлем Банк» АҚ туралы материалдарды зерттеу.
Валюталық операцияда болатын ақша аударымының дұрыстығын және валюталық
Валютадағы несиенің есептелу барыстарын қарастыру.
Валюталық операцияның қозғалысын қалыптастыратын модель құру.
Жобада барлық валюталық операцияға қатысты қамтамасыздандыруларды талдау.
Кіріс, тұрақты, аралық және нәтижелік ақпараттарды сипаттау.
Таңдалған жоба нұсқасын жүзеге асыру.
Пәндік аймақ ретіде «Тұран Әлем Банк» алынған. Банк
I. ПӘНДІК ОБЛЫСТЫ СИПАТТАУ
1.1. Заттық аймақтың сипаттамасы
Банктік валюталық операцияны есепке алу негізгі процесі
«Тұран Әлем Банк» (ТӘБ) Қазақстан Республикасындағы бұрыннан жұмыс
Директорлар кеңесі – негізгі акцияларды ұстаушы, жалпы банк
Ішкі аудит тобы – жалпы банк жұмыстарын тәуелсіз
Басқарма – банк жұмыстарын қадағалап отырады. Басқарма өкілі
Клиенттерге қызмет етуді басқару бөлімі – жалпы клиенттермен
Жинақ бөлімі – жалпы кіріс және шығыстарды ретке
Төлем карталарына қызмет ету бөлімі – тұлғалардың төлем
Есептеу бөлімі – шет ел валютасындағы, ұлттық валютадағы,
Құжаттық операция бөлімі – бэк офис деп аталады.
Кассалық операция бөлімі – кассада төлім қабылдау немесе
Несиелік басқару - кредитті беру кезіндегі ұтылыс
Жобалық талдау бөлімі – қабылданған кредиттік шешімді жалпы
Автоматизация бөлімі – операцияларды жалпы автоматандыру жұмыстарын ұйымдастырады.
Бағдарламалық қамтамасыз ету бөлімі – банктік қызметтегі жалпы
Банктік операцияны қадағалау бөлімі – операциялардың дұрыс жұмыс
Банктік технология және әдістеме бөлімі – банктік жалпы
Қаржылық есеп беру бөлімі – жалпы банктегі қаржы
Ішкі банктік есеп – жалпы банк ішілік қаржылық
Ашық нарықтағы операция бөлімі – банктің жалпы бағалы
Тәуекел бөлімі – банктік қаржы салымындағы есептеулер деңгейлерін
Жарнама бөлімі – банк жұмыс жақсарту мақсатында негізгі
Мұрағат – жалпы банктік құжаттамаларды сақтайды.
ТӘБ валюталық бөлімінде негізгі қызметтер атқарылатын ескеру керек.
1 - сурет – Жалпы валюталық
SWIFT - бұл иелері банк-мүшелер
II. Бағдарламалық құжаттама
2.1 Есептің қойылымы
Есептің қойылымы валюталық операцияларды есепке алуда, жедел және
Есепте кіріс ақпараты төмендегі болып табылады:
- Валюталық несие алушы өтініші;
- Банк – валюталық несие алушы жарғысы;
Кіріс ақпараты шартты – тұрақты және жедел –
«Валюталық операцияны есепке алу» есебінде 2 машинограмма беріледі:
- «Операцияны тіркеу журналы»;
- «Валюталық несие аударымы»;
Кіріс ақпаратының жазылуы.
«Операцияны тіркеу журналы» 1 - кестеде көрсетілген.
Клиент коды Аты – жөні
пайызы
1 2 3 4 5 6 7 8
1- кесте – «Операцияны тіркеу
2 - кесте - Кіріс мәліметінің

Реквизит аты Кіріс мәліметінің идентификаторы Шарты белгілері
1 2 3 4 5
1 Клиент коды ВО01 ККd 9(5)
2 Клиент аты ВО01 КА А(20)
3 Валюта курсы ВО02 VKurs 9(5)
4 Валюта түрі ВО02 VTur А(20)
5 Клиент CTН ВО01 KCTN 9(6),9(2)
6 Есеп айырысу шоты ВО01 EASH 9(5),9(2)
7 Валюталық несие көлемі ВО01 VNKol 9(5),9(2)
8 Валюта несие аударылымының көлемі ВО02 VNAKol 9(6),9(2)
9 Банк ВО02 B А(20)
10 Алғашқы өтемақы пайызы ВО01 AOPz 9(5),9(2)
11 Алғашқы өтемақы суммасы ВО01 AOPSum 9(5),9(2)
12 Жылдық қайтарылым ВО01 JKai 9(10)
13 Мерзімі ВО01 M 9(6)
14 Ай сайынғы төлемақы ВО01 AsTol 9(6),9(2)
15 Айлық пайыздық қойылым ВО01 APzKm 9(6),9(2)
16 Факт жүзіндегі жылдық пайыз ВО01 FjJPz
17 Факт жүзінде барлық пайыз ВО01 FjBpPz 9(5),9(2)
18 Жіберуші ВО02 JB А(20)
19 Бенефициар коды ВО02 BenKd 9(6)
20 Валюталау күні ВО02 VKun 9(6)
21 Қабылдаушы ВО02 KSH А(20)
22 Құжат номері ВО02 KNom 9(6)
Шығыс ақпаратының сипаттамасы
Банктерде ақпараттық қамтамасыздандыруда шығыс ақпараттары тез және сенімді
Шығыс ақпараты керекті бөлшектермен қамтылып, белгілі адрестелуі шарт.
Шығыс ақпараты сақталып отырады және басқа ортағы жіберілуіне
3 - кесте – Шығыс мәліметтерінің

Реквизти аты Кіріс мәліметінің идентификаторы Шарты белгілері Реквизит
1 2 3 4 5
1 Клиент коды ВО01 ККd 9(5)
2 Клиент аты ВО01 КА А(20)
3 Валюта курсы ВО02 VKurs 9(5)
4 Валюта түрі ВО02 VTur А(20)
5 Есеп айырысу шоты ВО01 EASH 9(5),9(2)
6 Валюталық несие көлемі ВО01 VNKol 9(5),9(2)
7 Валюта несие аударылымының көлемі ВО02 VNAKol 9(6),9(2)
8 Ай сайынғы төлемақы ВО01 AsTol 9(6),9(2)
9 ИИК ВО02 IIK 9(5)
10 ТСН ВО02 TCN 9(5)
11 Жіберуші ВО02 JB А(20)
12 Бенефициар коды ВО02 BenKd 9(6)
3 - кесте жалғасы - Шығыс
13 Валюталау күні ВО02 VKun 9(6)
14 Қабылдаушы ВО02 KSH А(20)
15 Құжат номері ВО02 KNom 9(6)
16 Қор атауы ВО01 КAT А(20)
17 Банк ВО01 B А(20)
18 Мерзімі ВО01 M Х(20)
Деректер базасында белгіленген пәндік аймақтың ақпараты сатылады. Бұл
2 - сурет – Кестелер арасындағы
Деректерді сызбада көрсету кезінде үш негізгі блоктарға бөлеміз
Бірінші деректер блогы тұрақты ақпаратты көрсетеді. Бұл жүйеде
Екінші блок – бұл құжатайналымы болып табылады. Есепті
Үшінші блок – есеп беру ақпараттарын қамтиды. Кіріс
3 - сурет – Деректердің сызба блогы
Кіріс ақпаратының сипаттамасы
Кіріс ақпараты есепті шешу үшін керекті болып табылатын
Операцияларды тіркеу немесе келісім – шарт қолмен іске
Деректерді енгізу кезінде белгілерді тексеруді қамтамасыз ету
Белгілерді енгізу дисплей экранға енгізу кезінде оларды декодтау.
Белгілердің мәндерін анықтаумен байланысты ақпараттардың тұрақтылығы.
Есептің комплексін шешу кезінде түсініктемелік текстің қалыптасуы.
Нәтижелік ақпараттың сипаттамасы
Кіріс ақпаратының нәтижесінде алынған клиенттік валюталық несие алу
Аралық ақпараттың сипаттамасы
Аралық ақпарат кейбір шешімі негізінде ДЭЕМ – де
Әңгімелесу потенциялы клиентпен. Бірақ оларға оның есепке алуы
Дайындауы және келісу. Келісім-шарт.
Нәтижесі.
Өңдеу және инкассациялау қызмет графикасы клиент тілектерімен
Қамтамасыздандыру заттық клиент несиесі.
Өткізулері. Клиентке ақшалар.
Қабылдау. Кассаға пломбаланған клиентпен.
Ақшалар.
Тапсыруы үшін шоттар. Ақшалы құралдар.
Жиыншылардың жеткізу шоттары.
Есеп-қисаптар.
Салыстырып тексеру. Кіріс құжаттар.
Дайындау. Клиент шотындағы ақшалар.
Қатарға енгізу. Комиссия.
Көшіріп жазып алуы клиент банк табысына инкассациялау
2.2 Ақпараттық қамтамасыздандыру
Ақпараттық қамтамасыздандыру (АҚ) – бірыңғай жүйе жиынтығы
Адекваттық бейнелеу (ИМ таныстыру тілі мүмкіндігінше толық мағананаы
Қайшылықсыз (моделдік жетісеушілігін жібермеу керек).
Жеңіл кеңейтілушілік (өткен анықтама өзгеріссіз деректер қамамасыздандырылады).
Жеңіл тіл (тіл қолмен іске асырылуы керек, яғни
Барлық қолданушыға түсініктілік.
Инфологиялық модель мақсаты — деректер базасын құру үшін
Теория дамуының және тап осы базалардың практикалық қолдануы
Ақпараттық қамтамасыз етуде ақпараттық жүйені қолданушылар өзінің мамандық
Өтініш
Банк - валютадағы
несие алушы жарғысы
Банк - валютадағы
Алғашқы жарна
Жалпы құжаттарды
тексеру
4 - сурет – Валюталық операция
2.3 Бағдарламалық қамтамасыздандыру
Қазіргі кезде банктегі валюталық операцияны іске асыруда бірнеше
BS – Client, RS – Retail, CNews Analytic,
Бағдарлама қызметтері мыналар:
Банк автоматизациясында деректерді бағдарламалық комплекстер арқылы алмасу.
Банктің функцияланған бөлімдері үшін есептік және аналитикалық деректі
Банк жүйесінің ішкі абонентерімен қарым – қатынас: Орталық
Осы кезде S.W.I.F.T жүйесімен арақатынас байланысы осы бағдарламамен
Бағдарлама Ва-Банк+ (Symbols-R) 1999 - 2000 жылы жасалды.
"IFS Application" (IFS AB, Швеция) бағдарламасы банктік қаржылық
POY-SL бағдарламасы. Бұл бағдарлама төлемдік тапсырмаларды дайындауда және
RS - Bank V.6 интеграцияланған банкілік бағдарлама жүйесі
RS – Bank V.6— операцияларды үйлесімді сүйеуге
RS - Bank V.6 құрамына банктік қызметтердің бағыттары
RS-Banking V.6 — тұлғалардың есеп айырысатын касса
RS-Retail V.6 — жеке тұлғалардың жекелей қызметтерінің
RS-Loans V.6 — банкі несие қызметін автоматтандыруына арналған
RS-Dealing V.6 — нәтижелі автоматтандыру және келісімдердің
RS-Securities V.6 — сауда операциялардын автоматтандыруды құнды қағаздармен
InterBank —клиенттердің алыстағы банктік қызмет ету орындарымен
RS-DataHouse — Data House — басқаратын шешімдердің қабыл
2.4 Техникалық қамтамасыздандыру
Банктерде операциялардың тұрақты жұмысы үшін қазіргі заманға сай
жүйені функциялау сенімділігі.
функцияналдық тығыз жүйе.
тез әрекет ету.
шығын бағасын төмендету: аппараттық құрылғы, жүйені жүргізу, жүйені
Оның ішінде техникалық қамтамасыздандыруға компьютерлердің қазіргі уақытта минималды
Байланысты қамтамасыз ету үшін төмендігі техникалық қажеттіліктер керек
бұл әдіс 1001 порттын ашу қажет еместігін көрсетеді.
4 - кесте – Банктерде жеке серверлердің
Сервер аты Бұл атау DNS немесе IP адрес
TCP/IP порт ТӘБ онлаин – платформасы нарықтық серверге
НТТР ТӘБ ақпараттық онлаин – платформасымен байланыстыру үшін
Банктегі прокси – сервердің жабдықталуы
Прокси – сервер арқылы байланыс Банк прокси –
DNS немеcе IP адрес Банктік серверде DNS атымен
Порт Банктегі негізгі қолданылатын прокси–порт:
HTTP прокси: 80 немесе 8080
SOCKs прокси: 1080
Байланыс параметрі
Банкте орнатылған байланыстар Байланыс қамтамасыз етілуі «Банк Тұран
Банкте операциялардың қызметі байланыста негізгі топологиясы жұлдызша
Байланыс операторы артықшылықтары айқын, дәл осылай абаненттердің жетіспеушіліктерін
Бағдарламалардың магистральдерді станция аралық байланыста қызмет етуі болып
Банктердегі желісін қорғауда Cisco маршруттарымен жабдықталуы шарт. Дербес
Технологиялық жабдыққа техникалық құралдар кешенін (ТҚК) және
Арнайы көптеген жағдайларда ТҚК мен АЖ диагностикалау мен
III. Эксплуатациялық құжаттама
3.1 Бағдарламаның атқаратын қызметі және орындалу шарттары
Жоба тақырыбы «Валюталық операцияларды есепке алу ақпараттық жүйесі»
Бағдарлама ерекшелігі жалпы банктің базаға өткен операцияны тіркеуге
Валюталық несиені есептеу барысы төмендегі негізде есептеу жүргізіледі:
Бірінші кезекте біріншіден балюта курсын жалпы есептеуге енгізу
Алғашқы жарна суммасын есптеу барысында: несие суммасынан –
Валюталық несие суммасын есептеу: жылдық пайыздық қойылым/12;
Айлық пайыздық көрсеткішті есептеу: валюталық несие суммасын анықтап
Ай аралық төлем: жалпы табысты мерзімше бөлу арқылы
Еңбекақыдан пайыздық суммасы: (100*mspay/айлық кіріс)) арқылы есептелінеді;
Жалпы төлем суммасы: (StrToFloat(CrL6.Caption)/credo-1)*100;
Барлық факт жүзіндегі пайыз: Жалпы төлем суммасы*12/per,2;
Жылдық факт жүзіндегі пайыз: (Rounder(rlprc,2));
Есептеу аяқталғаннан кейін барлық нәтиелерді есепке алу бөліміне
Екінші кезең валюталық аударым жасау кезінде SWIFT жүйесіндегі
Егер де бұл қосымша басқа да
Бағдарламаны іске қосу барысында пароль енгіземіз. «ОК» батырмасын
5 - сурет – Пароль енгізу терезесі
Бағдарлама терезесі келесі формада келтіріледі. «Валюталық несие» батырмасын
6 - сурет
Несиені валюталық формада алу үшін валюта бағамын, несие
7 - сурет – Есептеу терезесі
Алынған нәтиже арнайы базада сақталады. Осы операцияның орындалу
7 - сурет – Клиенті тіркеу
Базада арнайы есеп беруге болады.Оны толығырақ қарауға, өшіруге
8 - сурет – Нәтижелердің сақталуы
Жауапты тұлғаны тіркеуге байланысты бағдарламаны қолданушы тіркеуге алуға
9 - сурет
Бағдарлама ерекшелігі клиентерді тіркеуге алуға және олардың жалпы
10 - сурет - Клиенттер
Осы кезде клиенттер туралы құжаттарды немесе анықтамалармен жұмыс
11 - сурет
Анықтамада тіркелген клиенттер туралы мағлұмат ала аламыз (12
12 - сурет – Анықтама
Бағдарлама екі бөлімнен тұрғандықтан, екінші кезең жалпы қаржылық
13 - сурет - «Қаржылық ұйымдар»
«Клиенттік аударым» бойынша тексеру кезінде бірінші «Ашу» батырмасын
ҚОРЫТЫНДЫ
«Тұран Әлем Банк» АҚ валюталық операцияларды іске асыру
Бірінші бөлімде валюталық операциялардың жалпы құрылымы, мәні, банктік
Екінші тарауда валюталық операцияны есепке алуда есептің қойылымын
Шығыс құжаттары кіріс құжаттарынан негіз ала отырып жеке
Валюталық операцияны есепке алуда негізгі валютаның тиімділік әсері
Үшінші бөлімде жобаға арналған бағдарлама негізі валюталық
Бағдарлама «Тұран Әлем Банк» АҚ реквизиттеріне сәйкестендіріліп жасалды.
Бұл жұмыста құрылған қосымша банк және қандай
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ
М.П. Баровская ҚР Заңы «О валютном регулировании и
Банковские услуги предприятиям». Оқу – әдістемелік нұсқау. Диалектика.
Артемов Н.М. Валюталық шектеу. - М., 2001.
Европейский экономический и валютный союз: предварительные итоги и
Крахмалев С.В. Практика проведения международных банковских платежей. Грос-Медия.
www.kisc.kz – Қазақстан Республикасының Банкаралық Есеп Айырысу
www.commnews.ru –ТМД елдерінің телекоммуникация жаналықтары.
Ю.Г. Кузнецов. Автоматизация Межбанковских расчетов. Москва,2002 ж.Авагян Г.Л.,
Афуксениди В. Роль синдицированных займов как инструмента финансирования
Банки и банковское дело. Оқу – әдістемелік нұсқау
Балабанов И.Т. Банки и банковское дело. СПб: Питер,
Анализ финансовых рынков и торговля финансовыми активами./Ред. А.С.
Бурлачков В. Современные проблемы валютного курса. // Вопросы
Кобевник В.Ф. “Охрана труда.” – К.: Вища школа,
Компакт–диск-Borland Delphi Install/Delphi программасының компоненттері.
Основы программирования в Delphi 7.0, БХВ-Петербург, 2003 ж.
Ласаева Г.М. «Свифт в банке. Практикум по составлению
www.swift.ru – Ресейлік Ұлттық S.W.I.F.T.
www.swift.com –S.W.I.F.T. жүйесінің ресми сайты.
www.finam.ru – словарь межбанковских расчетов Абдикадирова Г.Т.
Бертаева К.Ж. Валютный рынок и валютные операции. Әдістемелік
Бункина М.К., Семенов А.М. Основы валютных отношений. -
ҚОСЫМША А
Бағдарлама листингі
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, WordXP, ComObj, jpeg, StdCtrls, ComCtrls, Buttons,
type
TForm1 = class(TForm)
Panel1: TPanel;
Image2: TImage;
Panel2: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
ComboBox1: TComboBox;
Label3: TLabel;
ComboBox2: TComboBox;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Edit2: TEdit;
ComboBox3: TComboBox;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Labelrs1: TLabel;
Labelrs2: TLabel;
Labelrs3: TLabel;
Labelrs4: TLabel;
Labelrs5: TLabel;
Labelrs6: TLabel;
Labelrs7: TLabel;
Labelrs8: TLabel;
TabSheet3: TTabSheet;
Image4: TImage;
Lbt2: TLabel;
Lbt1: TLabel;
BitBtn1: TBitBtn;
Label15: TLabel;
Label16: TLabel;
Edit3: TEdit;
ComboBox4: TComboBox;
Label17: TLabel;
ComboBox5: TComboBox;
Label18: TLabel;
ComboBox6: TComboBox;
Label19: TLabel;
StringGrid1: TStringGrid;
Edit4: TEdit;
BitBtn2: TBitBtn;
ListBox1: TListBox;
Label20: TLabel;
Edit5: TEdit;
CrPer: TStringGrid;
Button1: TButton;
Image1: TImage;
Image5: TImage;
Image3: TImage;
procedure Image2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image3MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image4MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Lbt1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Lbt2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure FormCreate(Sender: TObject);
procedure Image2Click(Sender: TObject);
procedure Image3Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure ComboBox5Change(Sender: TObject);
procedure ComboBox6Change(Sender: TObject);
procedure ComboBox4Change(Sender: TObject);
procedure Image4Click(Sender: TObject);
procedure Lbt1Click(Sender: TObject);
procedure Lbt2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
expCredo,crd,dip:Boolean;
implementation
uses Unit2, Unit3, Unit4, Unit5;
{$R *.dfm}
function Rounder(Value: real; Decimals: Integer): real;
var
j: Integer;
A: real;
begin
A := 1;
case Decimals of
0: A := 1;
1: A := 10;
else
for j := 1 to Decimals do
A := A * 10;
end;
Result := Int((Value * A) + 0.5) /
end;
procedure TForm1.Image2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if crd=false then
begin
Image2.Picture.LoadFromFile('images/calc_cred2.jpg');
crd:=true;
end;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if crd then
begin
Image2.Picture.LoadFromFile('images/calc_cred.jpg');
crd:=false;
end;
if dip then
begin
dip:=false;
end;
Image4.Left:=80;
Image4.Top:=360;
lbt1.Left :=56;
lbt1.Top := 384;
lbt2.Left := 40;
lbt2.Top := 400;
end;
procedure TForm1.Image3MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if dip=false then
begin
dip:=true;
end;
end;
procedure TForm1.Image4MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Image4.Left:=79;
Image4.Top:=359;
lbt1.Left :=55;
lbt1.Top := 383;
lbt2.Left := 39;
lbt2.Top := 399;
end;
procedure TForm1.Lbt1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Image4.Left:=79;
Image4.Top:=359;
lbt1.Left :=55;
lbt1.Top := 383;
lbt2.Left := 39;
lbt2.Top := 399;
end;
procedure TForm1.Lbt2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Image4.Left:=79;
Image4.Top:=359;
lbt1.Left :=55;
lbt1.Top := 383;
lbt2.Left := 39;
lbt2.Top := 399;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
f:TextFile;
s:string;
begin
StringGrid1.Cells[0,0]:='Мерзім';
StringGrid1.Cells[1,0]:='Сыйақы';
StringGrid1.Cells[2,0]:='Салым';
StringGrid1.ColWidths[0]:=75;
StringGrid1.ColWidths[1]:=170;
StringGrid1.ColWidths[2]:=170;
AssignFile(f,'credo.inc');
reset(f);
ComboBox1.Items.Clear;
ListBox1.Items.Clear;
while not eof(f) do
begin
readln(f,s);
if s[1]='#' then
begin
delete(s,1,1);
ComboBox1.Items.Add(s);
end;
if s[1]='%' then
begin
delete(s,1,1);
ListBox1.Items.Add(s);
end;
end;
CloseFile(f);
AssignFile(f,'dip.inc');
reset(f);
ComboBox5.Items.Clear;
while not eof(f) do
begin
readln(f,s);
if s[1]='#' then
begin
delete(s,1,1);
ComboBox5.Items.Add(s);
end;
end;
CloseFile(f);
end;
procedure TForm1.Image2Click(Sender: TObject);
begin
TabSheet1.Show;
expCredo:=true;
end;
procedure TForm1.Image3Click(Sender: TObject);
begin
TabSheet2.show;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
var
n:integer;
begin
n:=ComboBox1.Items.IndexOf(ComboBox1.Text);
Edit5.Text :=ListBox1.Items.Strings[n]+' % годовых';
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var
n,per:integer;
mspay,fst,credo,prc,rlprc:real;
begin
if ComboBox1.Text<>'' then
begin
fst:=strtoint(Edit1.Text)*strtoint(ComboBox3.Text)/100;
Labelrs1.Caption:= FloatToStr(Rounder(fst,2));
credo:=strtoint(Edit1.Text)-fst;
Labelrs2.Caption:= FloatToStr(Rounder(credo,2));
n:=ComboBox1.Items.IndexOf(ComboBox1.Text);
prc:=strtoint(ListBox1.Items.Strings[n])/12;
Labelrs3.Caption:= FloatToStr(Rounder(prc,2))+' %';
per:=strtoint(ComboBox2.Text);
mspay:=(credo*prc/100)/(1-1/exp(per*ln((1+prc/100))));
Labelrs4.Caption:= FloatToStr(Rounder(mspay,2));
Labelrs5.Caption:= FloatToStr(Rounder(100*mspay/strtoint(Edit2.Text),2))+' %';
Labelrs6.Caption:= FloatToStr(Rounder(mspay*per,2));
rlprc:= (StrToFloat(Labelrs6.Caption)/credo-1)*100;
Labelrs7.Caption:= FloatToStr(Rounder(rlprc*12/per,2))+' %';
Labelrs8.Caption:= FloatToStr(Rounder(rlprc,2))+' %';
end;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
var
i,n,k:integer;
begin
k:=pos(' ',ComboBox6.Text);
n:=strtoint(copy(ComboBox6.Text,1,k-1));
StringGrid1.RowCount:=n+2;
for i:=0 to n do
begin
StringGrid1.Cells [0,i+1]:=inttostr(i);
StringGrid1.Cells [1,i+1]:=FloatToStr(Rounder(i*StrToFloat(Edit3.Text)*StrToFloat(Edit4.Text)/1200,2));
StringGrid1.Cells [2,i+1]:=FloatToStr(Rounder(StrToFloat(Edit3.Text)+StrToFloat(StringGrid1.Cells [1,i+1]),2));
end;
//Edit3.Text
end;
procedure TForm1.ComboBox5Change(Sender: TObject);
var
i,j,k,dip:integer;
f:TextFile;
s:string;
begin
i:=0;j:=0;k:=0;
AssignFile(f,'dip.inc');
reset(f); dip:=-1;
ComboBox6.Items.Clear;
while not eof(f) do
begin
readln(f,s);
if dip=ComboBox5.Items.IndexOf(ComboBox5.Text) then
begin
CrPer.RowCount:=i+1;
if s[1]='&' then
begin
delete(s,1,1);
ComboBox6.Items.Add(s + ' ай.');
end;
if s[1]='@' then
begin
delete(s,1,1);
ComboBox6.Items.Add(s + ' күн.');
end;
if copy(s,1,3)='1_%' then
begin
delete(s,1,3);
CrPer.Cells[0,i]:= s;
i:=i+1;
end;
if copy(s,1,3)='2_%' then
begin
delete(s,1,3);
CrPer.Cells[1,j]:= s;
j:=j+1;
end;
if copy(s,1,3)='3_%' then
begin
delete(s,1,3);
CrPer.Cells[2,k]:= s;
k:=k+1;
end;
end;
if s[1]='#' then
begin
dip:=dip+1;
end;
end;
CloseFile(f);
end;
procedure TForm1.ComboBox6Change(Sender: TObject);
begin
Edit4.Text :=CrPer.Cells [ComboBox4.Items.IndexOf(ComboBox4.Text),ComboBox6.Items.IndexOf(ComboBox6.Text)];
end;
procedure TForm1.ComboBox4Change(Sender: TObject);
begin
if ComboBox6.Text<>'' then
Edit4.Text :=CrPer.Cells [ComboBox4.Items.IndexOf(ComboBox4.Text),ComboBox6.Items.IndexOf(ComboBox6.Text)];
end;
procedure TForm1.Image4Click(Sender: TObject);
begin
ExportToWord;
end;
procedure TForm1.Lbt1Click(Sender: TObject);
begin
ExportToWord;
end;
procedure TForm1.Lbt2Click(Sender: TObject);
begin
ExportToWord;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Close;
Form5.Show;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Form3.Show;
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TForm2 = class(TForm)
Down: TSpeedButton;
Number_Pl: TLabel;
L_Number_Pl: TLabel;
Name: TLabel;
L_Name: TLabel;
KOd: TLabel;
L_KOd: TLabel;
KBe: TLabel;
L_KBe: TLabel;
Date: TLabel;
Date_V: TLabel;
Summa: TLabel;
Total_P: TLabel;
L_Total_P: TLabel;
L_Summa: TLabel;
L_OK: TLabel;
L_Date_V: TLabel;
L_Date: TLabel;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Field: TMemo;
Assign: TMemo;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
OpenDialog1: TOpenDialog;
procedure DownClick(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
f:Textfile;
str:TstringList;
door,temp,temp1,temp2,temp3,sum_t,sum_t1:string;
i,q,j,sum,summ,sum_k,kop:integer;
implementation
uses Unit1, Unit5;
{$R *.dfm}
procedure TForm2.DownClick(Sender: TObject);
begin
Form2.Hide;
Form5.Show;
end;
procedure TForm2.BitBtn2Click(Sender: TObject);
begin
Form2.Close;
Form1.Close;
end;
procedure TForm2.BitBtn1Click(Sender: TObject);
begin
OpenDialog1.Execute;
AssignFile(F, OpenDialog1.FileName);
str:=TstringList.Create;
str.LoadFromFile(OpenDialog1.FileName);
door:=OpenDialog1.FileName;
i:=0;
// Орістерді тазарту
begin
Field.SetFocus;
Assign.SetFocus;
// L_Period.Caption:='____________________';
end;
// Гросс.........Гросс.........Гросс.........Гросс.........Гросс.........Гросс
begin
// 1-жол................................................................
if str[i]<>'{1:F01K327210000000001000001}' then Field.Text:='1- кате'
else Field.Text:=' 1-жолда кате жок';
// 2-жол................................................................
if str[i+1]='{2:I102SGROSS000000U3003}' then Field.Lines.Add(' 2-жолда кате жок
else Field.Lines.Add('2-жол кате');
// 3-жол.........................................
if str[i+2]='{4:' then Field.Lines.Add(' 3-жолда кате жок')
else Field.Lines.Add('3-жол кате');
// 4-жол ................................................................
temp:=copy(str[i+3],0,4);
if (temp=':20:') and (Length(str[i+3])=20) then Field.Lines.Add(' 4-жолда
else Field.Lines.Add('4- жол кате');
// 5-жол................................................................
if str[i+4]=':50:/D/002467831' then Field.Lines.Add(' 5- жолда кате
else
if str[i+4]=':50:/D/000221309' then Field.Lines.Add(' 5-жолда кате жок')
else Field.Lines.Add('5-жол кате');
// 6-жол................................................................
L_Name.Caption:=copy(str[i+5],7,60);
if str[i+5]='/NAME/ђѓ‘Џ ЉЂђЂѓЂҚ„Ђ‹€Љ‚€„˜Ђ•’' then Field.Lines.Add(' 6-жолда қате
else
if str[i+5]='/NAME/’ҺҺ "ЊӨ«Ө®­"' then Field.Lines.Add(' 6-жолда қате
else Field.Lines.Add('6-жолда қате ');
// 7-жол...........................................................
if str[i+6]='/RNN/301700002965'then Field.Lines.Add(' 7-жолда қате жоқ')
else
if str[i+6]='/RNN/302000236266' then Field.Lines.Add(' 7-жолда қате жоқ')
else Field.Lines.Add('7-жолда қате');
// 8-жол................................................................
temp:=copy(str[i+7],0,7);
if (temp='/CHIEF/') and (Length(str[i+7])<61) then Field.Lines.Add(' 8-жолда
else Field.Lines.Add('8-жолда қате ');
// 9-жол...............................................................
temp:=copy(str[i+8],0,8);
if (temp='/MAINBK/') and (Length(str[i+8])<61) then Field.Lines.Add(' 9-жолда
else Field.Lines.Add('9-жолда қате ');
// 10-жол ...............................................................
temp:=copy(str[i+9],0,5);
if (temp='/IRS/') and (Length(str[i+9])=6) and (pos(' ',str[i+9])=0) and
begin
Field.Lines.Add('10-жолда қате жоқ');
end
else Field.Lines.Add('10-жолда қате');
// 11-жол...............................................................
temp:=copy(str[i+10],0,6);
if (temp='/SECO/') and (Length(str[i+10])=7) and (pos(' ',str[i+9])=0) then
begin
Field.Lines.Add('11-жолда қате жоқ');
L_KOd.Caption:=copy(str[i+9],6,1)+copy(str[i+10],7,1);
end
else Field.Lines.Add('11-жолда қате');
// 12-жол.................................................................
if str[i+11]=':52B:191801720' then Field.Lines.Add('12-жолда қате жоқ')
else Field.Lines.Add('12-жолда қате ');
// 13-жол................................................................
if str[i+12]=':57B:190501601' then Field.Lines.Add('13-жолда қате жоқ')
else Field.Lines.Add('13-жолда қате ');
// 14-жол...............................................................
if str[i+13]=':59:008904695' then Field.Lines.Add('14-жолда қате жоқ')
else
if str[i+13]=':59:035904037' then Field.Lines.Add('14-жолда қате жоқ')
else Field.Lines.Add('14-жолда қате ');
// 15-жол................................................................
if str[i+14]='/NAME/Қ த­л© Ѓ ­Ғ Љ § ебв
else Field.Lines.Add('15-жолда қате');
// 16-жол...............................................................
if str[i+15]='/RNN/600200048129' then Field.Lines.Add('16-жолда қате жоқ')
else Field.Lines.Add('16-жолда қате ');
// 17-жол.................................................................
temp:=copy(str[i+16],0,5);
if (temp='/IRS/') and (Length(str[i+16])=6) and (pos(' ',str[i+16])=0) then
else Field.Lines.Add('17-жолда қате ');
// 18-жол...............................................................
temp:=copy(str[i+17],0,6);
if (temp='/SECO/') and (Length(str[i+17])=7) and (pos(' ',str[i+17])=0) then
begin
Field.Lines.Add('18-жолда қате жоқ');
L_KBe.Caption:=copy(str[i+16],6,1)+copy(str[i+17],7,1);
end
else Field.Lines.Add('18-жолда қате ');
// 19-жол................................................................
temp:=copy(str[i+18],0,9);
L_Number_Pl.Caption:=copy(str[i+18],10,10);
if (temp=':70:/NUM/') then Field.Lines.Add('19-жолда қате жоқ')
else Field.Lines.Add('19-жолда қате');
// 20-жол.................................................................
temp:=copy(str[i+19],0,6);
L_Date.Caption:=copy(str[i+19],7,8);
if (temp='/DATE/') and (Length(str[i+19])=12) and (pos(' ',str[i+19])=0) then
else Field.Lines.Add('20-жолда қате');
// 21-жол................................................................
if (str[i+20]='/VO/01') then Field.Lines.Add('21-жолда қате жоқ')
else Field.Lines.Add('21-жолда қате');
// 22-жол.................................................................
if (str[i+21]='/SEND/07') then Field.Lines.Add('22-жолда қате жоқ')
else Field.Lines.Add('22-жолда қате ');
// 23-жол.................................................................
if (str[i+22]='/KNP/311') then Field.Lines.Add('23-жолда қате жоқ')
else Field.Lines.Add('23-жолда қате жоқ');
// 24-жол.................................................................
temp:=copy(str[i+23],0,8);
temp1:=copy(str[i+23],9,60);
if (temp='/ASSIGN/') AND (Length(str[i+23])<61) then
begin
Assign.Text:=(temp1);
Field.Lines.Add('25-жолда қате жоқ');
end
else Field.Lines.Add('жолда қате');
// Төлем мақсаты........................................................
for q:=24 to 28 do
begin
temp:=copy(str[q],0,65);
temp1:=copy(str[q],0,4);
if (Length(str[q])>60) then Assign.Lines.Add('Символдар саны артық')
else
if (temp1<>':21:') and (temp1<>':32B') and (temp1<>':70:') and (temp1<>'/NM/')
end;
// Валюталау күні мен сомасын есептеу...........................................
sum:=0;
summ:=0;
sum_k:=0;
sum_t1:='___________';
for i:=25 to str.Count-1 do
begin
temp:=copy(str[i],0,4);
if (temp=':32A') then
begin
L_Date_V.Caption:=copy(str[i],6,6);
sum_t:=copy(str[i],15,12);
L_Summa.Caption:=sum_t;
end
else
if (temp=':21:') then L_Total_p.Caption:=copy(str[i],5,4)
else
if (temp=':32B') then
begin
for j:=1 to 12 do
begin
if (copy(str[i],8+j,1)=',') then
begin
sum:=strtoint(copy(str[i],9,j-1));
summ:=summ+sum;
kop:=strtoint(copy(str[i],9+j,2));
sum_k:=sum_k+kop;
if (sum_k>99) and (sum_k<999) then
begin
summ:=summ+(sum_k div 100);
sum_k:=sum_k-((sum_k div 100)*100);
end;
sum_t1:=inttostr(summ)+copy(str[i],8+j,1)+inttostr(sum_k);
end
end
end
end;
// Соманы есептеу және тексеру...............................................................
for j:=1 to 12 do
begin
temp2:=copy(sum_t1,j,1);
temp3:=copy(sum_t,j+1,1);
temp1:=copy(sum_t1,0,j-1);
temp:=copy(sum_t1,j+1,1);
if (temp2=',') and (temp3='0') then sum_t1:=temp1+','+'0'+temp
end;
if (sum_t=sum_t1) then L_OK.Caption:='OK '+sum_t1
else L_OK.Caption:='NO '+sum_t1
end;
end;
end.
temp:=copy(str[i+6],0,6);
temp1:=copy(str[i+6],0,5);
if (temp='/NAME/') and (Length(str[i+6])<61) then
begin
Field.Lines.Add(' 7- жолда қате жоқ');
L_Name.Caption:=copy(str[i+6],7,60);
end
else
if (temp1='/RNN/') and (Length(str[i+6])=17) and (pos(' ',str[i+6])=0) then
begin
Field.Lines.Add(' 7-жолда қате жоқ');
L_RNN.Caption:=copy(str[i+6],6,12);
end
else Field.Lines.Add('7- жолда қате ');
// 8-жол...............................................................
temp:=copy(str[i+7],0,7);
if (temp='/CHIEF/') and (Length(str[i+7])<61) then Field.Lines.Add(' 8-жолда
else Field.Lines.Add('8-жолда қате ');
// 9-жол...............................................................
temp:=copy(str[i+8],0,8);
if (temp='/MAINBK/') and (Length(str[i+8])<61) then Field.Lines.Add(' 9-жолда
else Field.Lines.Add('9-жолда қате ');
// 10-жол...............................................................
temp:=copy(str[i+9],0,5);
if (temp='/IRS/') and (Length(str[i+9])=6) and (pos(' ',str[i+9])=0) and
begin
Field.Lines.Add('10-жолда қате жоқ');
end
else Field.Lines.Add('10-жолда қате ');
// 11-жол...............................................................
temp:=copy(str[i+10],0,6);
if (temp='/SECO/') and (Length(str[i+10])=7) and (pos(' ',str[i+9])=0) then
begin
Field.Lines.Add('11-жолда қате жоқ');
L_KOd.Caption:=copy(str[i+9],6,1)+copy(str[i+10],7,1);
end
else Field.Lines.Add('11-жолда қате ');
// 12-жол...............................................................
if (str[i+11]=':52B:191801720') then Field.Lines.Add('12-жолда қате жоқ')
else Field.Lines.Add('12-жолда қате ');
// 13-жол ................................................................
if (str[i+12]=':53C:193201721/700161821') then Field.Lines.Add('13-жолда қате жоқ')
else Field.Lines.Add('13-жолда қате');
// 14-жол.................................................................
if (str[i+13]=':54C:190501109/413609816') then Field.Lines.Add('14-жолда қате жоқ')
else Field.Lines.Add('14-жолда қате');
// 15-жол .................................................................
temp:=copy(str[i+14],0,5);
temp1:=copy(str[i+14],6,9);
if (temp=':57B:') then
begin
// 17-жол.................................................................
temp:=copy(str[i+16],0,5);
temp3:=copy(str[i+16],6,12);
if (temp='/RNN/') then
begin
// 19-жол.................................................................
temp:=copy(str[i+18],0,5);
if (temp='/IRS/') and (Length(str[i+18])=6) and (pos(' ',str[i+18])=0) then
else Field.Lines.Add('19-жолда қате');
// 20-жол...............................................................
temp:=copy(str[i+19],0,6);
if (temp='/SECO/') and (Length(str[i+19])=7) and (pos(' ',str[i+19])=0) then
begin
Field.Lines.Add('20-жолда қате жоқ');
L_KBe.Caption:=copy(str[i+18],6,1)+copy(str[i+19],7,1);
end
else Field.Lines.Add('20-жолда қате');
// 21-жол................................................................
temp:=copy(str[i+20],0,9);
L_Number_Pl.Caption:=copy(str[i+20],10,10);
if (temp=':70:/NUM/') then Field.Lines.Add('21-жолда қате жоқ')
else Field.Lines.Add('21-жолда қате');
// 22-жол................................................................
if (str[i+21]='/VO/01') then Field.Lines.Add('22-жолда қате жоқ')
else Field.Lines.Add('22-жолда қате');
// 23-жол.................................................................
temp:=copy(str[i+22],0,6);
L_Date.Caption:=copy(str[i+22],7,8);
if (temp='/DATE/') and (Length(str[i+22])=12) and (pos(' ',str[i+22])=0) then
else Field.Lines.Add('23-жолда қате');
// 24-жол.................................................................
if (str[i+23]='/SEND/07') then Field.Lines.Add('24-жолда қате жоқ')
else Field.Lines.Add('24-жолда қате');
// 25-жол.................................................................
if (str[i+24]='/KNP/010') then Field.Lines.Add('25-жолда қате жоқ')
else
if (str[i+24]='/KNP/019') then Field.Lines.Add('25-жолда қате жоқ')
else Field.Lines.Add('25-жолда қате');
// 26-жол.................................................................
if (str[i+25]='/PSO/01') then Field.Lines.Add('26-жолда қате жоқ')
else Field.Lines.Add('26-жолда қате');
// 27-строка.................................................................
if (str[i+26]='/PRT/05') then Field.Lines.Add('27-жолда қате жоқ')
else Field.Lines.Add('27-жолда қате');
// 28-жол.................................................................
temp:=copy(str[i+27],0,8);
temp1:=copy(str[i+27],9,60);
if (temp='/ASSIGN/') AND (Length(str[i+27])<61) then
begin
Assign.Text:=(temp1);
Field.Lines.Add('28-жолда қате жоқ');
end
else Field.Lines.Add('28-жолда қате');
// Төлем мақсаты.......................................................
for q:=28 to 35 do
begin
temp:=copy(str[q],0,65);
temp1:=copy(str[q],0,5);
if (Length(str[q])>60) then Assign.Lines.Add('> 60 symvols')
else
if (temp1<>':21:1') and (temp1<>':32B:') and (temp1<>':70:/') and (temp1<>'//NM/')
end;
// Валюталау күні мен сомасы...........................................
sum:=0;
summ:=0;
sum_k:=0;
for i:=25 to str.Count-1 do
begin
temp:=copy(str[i],0,4);
if (temp=':32A') then
begin
L_Date_V.Caption:=copy(str[i],6,6);
sum_t:=copy(str[i],15,12);
L_Summa.Caption:=sum_t;
end
else
if (temp=':21:') then L_Total_p.Caption:=copy(str[i],5,4)
else
if (temp=':70:') then
begin
temp1:=copy(str[i],0,10);
if (temp1<>':70:/OPV/C') then ShowMessage('Жолда қате бар- '+inttostr(i+1))
end
else
if (temp='//DT') then
begin
temp1:=copy(str[i],0,7);
if (temp1<>'//DT/19') then ShowMessage('Жолда қате бар - '+inttostr(i+1))
end
else
if (temp=':32B') then
begin
for j:=1 to 12 do
begin
if (copy(str[i],8+j,1)=',') then
begin
sum:=strtoint(copy(str[i],9,j-1));
summ:=summ+sum;
kop:=strtoint(copy(str[i],9+j,2));
sum_k:=sum_k+kop;
if (sum_k>99) and (sum_k<999) then
begin
summ:=summ+(sum_k div 100);
sum_k:=sum_k-((sum_k div 100)*100);
end;
sum_t1:=inttostr(summ)+copy(str[i],8+j,1)+inttostr(sum_k);
end
end
end
end;
// Соманы тексеру...............................................................
for j:=1 to 12 do
begin
temp2:=copy(sum_t1,j,1);
temp3:=copy(sum_t,j+1,1);
temp1:=copy(sum_t1,0,j-1);
temp:=copy(sum_t1,j+1,1);
if (temp2=',') and (temp3='0') then sum_t1:=temp1+','+'0'+temp
end;
if (sum_t=sum_t1) then L_OK.Caption:='OK '+sum_t1
else L_OK.Caption:='NO '+sum_t1
end;
// Гросс.........Гросс.........Гросс.........Гросс.........Гросс.........Гросс
if Gross.Checked then
begin
// 1-жол................................................................
if str[i]<>'{1:F01K327210000000001000001}' then Field.Text:='1-жолда қате'
else Field.Text:=' 1- жолда қате жоқ';
// 2-жол................................................................
if str[i+1]='{2:I102SGROSS000000U3003}' then Field.Lines.Add(' 2-жолда қате жоқ
else Field.Lines.Add('2- жолда қате');
// 3-жол.........................................
if str[i+2]='{4:' then Field.Lines.Add(' 3-жолда қате жоқ')
else Field.Lines.Add('3- жолда қате');
// 4-жол...............................................................
if str[i+3]=':20:REFERENCE' then Field.Lines.Add(' 4-жолда қате жоқ')
else Field.Lines.Add('4-жолда қате');
// 5-жол................................................................
temp:=copy(str[i+4],0,7);
L_IIK.Caption:=copy(str[i+4],8,20);
if (temp=':50:/D/') and (Length(str[i+4])=16) and (pos(' ',str[i+4])=0)
else Field.Lines.Add('5- қате');
// 6-жол................................................................
temp:=copy(str[i+5],0,6);
temp1:=copy(str[i+5],0,5);
if (temp='/NAME/') and (Length(str[i+5])<61) then
begin
Field.Lines.Add(' 6-жолда қате жоқ');
L_Name.Caption:=copy(str[i+5],7,60);
end
else
if (temp1='/RNN/') and (Length(str[i+5])=17) and (pos(' ',str[i+5])=0) then
begin
Field.Lines.Add(' 6-жолда қате жоқ');
L_RNN.Caption:=copy(str[i+5],6,12);
end
else Field.Lines.Add('6- жолда қате');
// 7-жол................................................................
temp:=copy(str[i+6],0,6);
temp1:=copy(str[i+6],0,5);
if (temp='/NAME/') and (Length(str[i+6])<61) then
begin
Field.Lines.Add(' 7-жолда қате жоқ');
L_Name.Caption:=copy(str[i+6],7,60);
end
else
if (temp1='/RNN/') and (Length(str[i+6])=17) and (pos(' ',str[i+6])=0) then
begin
Field.Lines.Add(' 7-жолда қате жоқ');
L_RNN.Caption:=copy(str[i+6],6,12);
end
else Field.Lines.Add('7- жолда қате');
// 8-жол...............................................................
temp:=copy(str[i+7],0,7);
if (temp='/CHIEF/') and (Length(str[i+7])<61) then Field.Lines.Add(' 8-жолда
else Field.Lines.Add('8- жолда қате');
// 9-жол..............................................................
temp:=copy(str[i+8],0,8);
if (temp='/MAINBK/') and (Length(str[i+8])<61) then Field.Lines.Add(' 9-жолда
else Field.Lines.Add('9- жолда қате');
// 10-жол...............................................................
temp:=copy(str[i+9],0,5);
if (temp='/IRS/') and (Length(str[i+9])=6) and (pos(' ',str[i+9])=0) and
begin
Field.Lines.Add('10-жолда қате жоқ');
end
else Field.Lines.Add('10-жолда қате');
// 11-жол..............................................................
temp:=copy(str[i+10],0,6);
if (temp='/SECO/') and (Length(str[i+10])=7) and (pos(' ',str[i+9])=0) then
begin
Field.Lines.Add('11-жолда қате жоқ');
L_KOd.Caption:=copy(str[i+9],6,1)+copy(str[i+10],7,1);
end
else Field.Lines.Add('11- жолда қате');
// 12-жол...............................................................
if (str[i+11]=':52B:191801720') then Field.Lines.Add('12-жолда қате жоқ')
else Field.Lines.Add('12- жолда қате');
// 13-жол................................................................
if (str[i+12]=':54C:190501109/413609816') then Field.Lines.Add('13-жолда қате жоқ')
else Field.Lines.Add('13- жолда қате');
// 14-жол..............................................................
temp:=copy(str[i+13],0,5);
temp1:=copy(str[i+13],6,9);
if (temp=':57B:') then
begin
// Валюталау күні мен сомасын есептеу..........................................
sum:=0;
summ:=0;
sum_k:=0;
for i:=25 to str.Count-1 do
begin
temp:=copy(str[i],0,4);
if (temp=':32A') then
begin
L_Date_V.Caption:=copy(str[i],6,6);
sum_t:=copy(str[i],15,12);
L_Summa.Caption:=sum_t;
end
else
if (temp=':21:') then L_Total_p.Caption:=copy(str[i],5,4)
else
if (temp=':70:') then
begin
temp1:=copy(str[i],0,10);
if (temp1<>':70:/OPV/C') then ShowMessage('Жолда қате бар- '+inttostr(i+1))
end
else
if (temp='//DT') then
begin
temp1:=copy(str[i],0,7);
if (temp1<>'//DT/19') then ShowMessage('Жолда қате бар- '+inttostr(i+1))
end
else
if (temp=':32B') then
begin
for j:=1 to 12 do
begin
if (copy(str[i],8+j,1)=',') then
begin
sum:=strtoint(copy(str[i],9,j-1));
summ:=summ+sum;
kop:=strtoint(copy(str[i],9+j,2));
sum_k:=sum_k+kop;
if (sum_k>99) and (sum_k<999) then
begin
summ:=summ+(sum_k div 100);
sum_k:=sum_k-((sum_k div 100)*100);
end;
sum_t1:=inttostr(summ)+copy(str[i],8+j,1)+inttostr(sum_k);
end
end
end
end;
// Соманы тексеру..............................................................
for j:=1 to 12 do
begin
temp2:=copy(sum_t1,j,1);
temp3:=copy(sum_t,j+1,1);
temp1:=copy(sum_t1,0,j-1);
temp:=copy(sum_t1,j+1,1);
if (temp2=',') and (temp3='0') then sum_t1:=temp1+','+'0'+temp
end;
if (sum_t=sum_t1) then L_OK.Caption:='OK '+sum_t1
else L_OK.Caption:='NO '+sum_t1
end;
//
if Soc.Checked then
begin
// 1-жол...............................................................
if str[i]<>'{1:F01K327210000000001000001}' then Field.Text:='1-жолда қате'
else Field.Text:=' 1-жолда қате жоқ';
// 2-жол...............................................................
if str[i+1]='{2:I102SGROSS000000U3003}' then Field.Lines.Add(' 2-жолда қате жоқ
else Field.Lines.Add('2-жолда қате');
// 3-жол.........................................
if str[i+2]='{4:' then Field.Lines.Add(' 3-жолда қате жоқ')
else Field.Lines.Add('3-жолда қате');
// 4-жол...............................................................
if str[i+3]=':20:REFERENCE' then Field.Lines.Add(' 4-жолда қате жоқ')
else Field.Lines.Add('4-жолда қате');
// 5-жол................................................................
temp:=copy(str[i+4],0,7);
L_IIK.Caption:=copy(str[i+4],8,20);
if (temp=':50:/D/') and (Length(str[i+4])=16) and (pos(' ',str[i+4])=0)
else Field.Lines.Add('5-жолда қате');
// 6-жол..............................................................
temp:=copy(str[i+5],0,6);
temp1:=copy(str[i+5],0,5);
if (temp='/NAME/') and (Length(str[i+5])<61) then
begin
Field.Lines.Add(' 6-жолда қате жоқ');
L_Name.Caption:=copy(str[i+5],7,60);
end
else
if (temp1='/RNN/') and (Length(str[i+5])=17) and (pos(' ',str[i+5])=0) then
begin
Field.Lines.Add(' 6-жолда қате жоқ');
L_RNN.Caption:=copy(str[i+5],6,12);
end
else Field.Lines.Add('6-жолда қате');
// 7-жол................................................................
temp:=copy(str[i+6],0,6);
temp1:=copy(str[i+6],0,5);
if (temp='/NAME/') and (Length(str[i+6])<61) then
begin
Field.Lines.Add(' 7-жолда қате жоқ');
L_Name.Caption:=copy(str[i+6],7,60);
end
else
if (temp1='/RNN/') and (Length(str[i+6])=17) and (pos(' ',str[i+6])=0) then
begin
Field.Lines.Add(' 7-жолда қате жоқ');
L_RNN.Caption:=copy(str[i+6],6,12);
end
else Field.Lines.Add('7-жолда қате');
// 8-жол...............................................................
temp:=copy(str[i+7],0,7);
if (temp='/CHIEF/') and (Length(str[i+7])<61) then Field.Lines.Add(' 8-жолда
else Field.Lines.Add('8-жолда қате');
// 9-жол................................................................
temp:=copy(str[i+8],0,8);
if (temp='/MAINBK/') and (Length(str[i+8])<61) then Field.Lines.Add(' 9-жолда
else Field.Lines.Add('9-жолда қате');
// 10-жол..............................................................
temp:=copy(str[i+9],0,5);
if (temp='/IRS/') and (Length(str[i+9])=6) and (pos(' ',str[i+9])=0) and
begin
Field.Lines.Add('10-жолда қате жоқ');
end
else Field.Lines.Add('10-жолда қате');
// 11-жол..............................................................
temp:=copy(str[i+10],0,6);
if (temp='/SECO/') and (Length(str[i+10])=7) and (pos(' ',str[i+9])=0) then
begin
Field.Lines.Add('11-жолда қате жоқ');
L_KOd.Caption:=copy(str[i+9],6,1)+copy(str[i+10],7,1);
end
else Field.Lines.Add('11-жолда қате');
// 12-жол..............................................................
if (str[i+11]=':52B:191801720') then Field.Lines.Add('12-жолда қате жоқ')
else Field.Lines.Add('12-жолда қате');
// 13-жол................................................................
if str[i+12]=':57B:190201125' then Field.Lines.Add('13-жолда қате жоқ')
else Field.Lines.Add('13-жолда қате');
// 14-жол................................................................
if str[i+13]=':59:368609110' then Field.Lines.Add('14-жолда қате жоқ')
else Field.Lines.Add('14-жолда қате');
// 15-жол...............................................................
if str[i+14]='/RNN/600400073391' then Field.Lines.Add('15-жолда қате жоқ')
else Field.Lines.Add('15-жолда қате');
// 16-жол...............................................................
temp:=copy(str[i+15],0,6);
temp2:=copy(str[i+15],7,54);
L_Fond.Caption:=temp2;
if (temp='/NAME/') then
begin
{ГЦВП}
or (temp2='ѓ®бг¤ абвұӨ­­л© жӨ­ва Ү® ұлҮ« вӨ ҮӨ­бЁ©')
else Field.Lines.Add('16 жолда қате бар см. Фонд')
end
else Field.Lines.Add('16-жолда қате жоқ');
// 17 жол................................................................
temp:=copy(str[i+16],0,5);
if (temp='/IRS/') and (Length(str[i+16])=6) and (pos(' ',str[i+16])=0) then
else Field.Lines.Add('17-жолда қате');
// 18-жол..............................................................
temp:=copy(str[i+17],0,6);
if (temp='/SECO/') and (Length(str[i+17])=7) and (pos(' ',str[i+17])=0) then
begin
Field.Lines.Add('18-жолда қате жоқ');
L_KBe.Caption:=copy(str[i+16],6,1)+copy(str[i+17],7,1);
end
else Field.Lines.Add('18-жолда қате');
// 19-жол................................................................
temp:=copy(str[i+18],0,9);
L_Number_Pl.Caption:=copy(str[i+18],10,10);
if (temp=':70:/NUM/') then Field.Lines.Add('19-жолда қате жоқ')
else Field.Lines.Add('19-жолда қате');
// 20-жол................................................................
temp:=copy(str[i+19],0,6);
if (temp='/VO/01') and (Length(str[i+19])=6) and (pos(' ',str[i+19])=0) then
else Field.Lines.Add('20-жолда қате');
// 21-жол...............................................................
temp:=copy(str[i+20],0,6);
L_Date.Caption:=copy(str[i+20],7,8);
if (temp='/DATE/') and (Length(str[i+20])=12) and (pos(' ',str[i+20])=0) then
else Field.Lines.Add('21-жолда қате');
// 22-жол...............................................................
temp:=copy(str[i+21],0,8);
L_Period.Caption:=copy(str[i+21],9,6);
if (temp='/PERIOD/') and (Length(str[i+21])=14) and (pos(' ',str[i+21])=0) then
else Field.Lines.Add('22-жолда қате');
// 23-жол...............................................................
if (str[i+22]='/SEND/07') then Field.Lines.Add('23-жолда қате жоқ')
else Field.Lines.Add('23-жолда қате');
// 24-жол...............................................................
if (str[i+23]='/KNP/012') then Field.Lines.Add('24-жолда қате жоқ')
else
if (str[i+23]='/KNP/017') then Field.Lines.Add('24-жолда қате жоқ')
else Field.Lines.Add('24-жолда қате');
// 25-жол................................................................
if (str[i+24]='/PSO/01') then Field.Lines.Add('25-жолда қате жоқ')
else Field.Lines.Add('25-жолда қате');
// 26-жол.................................................................
if (str[i+25]='/PRT/05') then Field.Lines.Add('26-жолда қате жоқ')
else Field.Lines.Add('26-жолда қате');
// 27-жол................................................................
temp:=copy(str[i+26],0,8);
temp1:=copy(str[i+26],9,60);
if (temp='/ASSIGN/') AND (Length(str[i+26])<61) then
begin
Assign.Text:=(temp1);
Field.Lines.Add('27-жолда қате жоқ');
end
else Field.Lines.Add('27-жолда қате');
// Төлем мақсаты.......................................................
for q:=27 to 34 do
begin
temp:=copy(str[q],0,65);
temp1:=copy(str[q],0,5);
if (Length(str[q])>60) then Assign.Lines.Add('> 60 symbols')
else
if (temp1<>':21:1') and (temp1<>':32B:') and (temp1<>':70:/') and (temp1<>'//NM/')
end;
// Валюталау күні мен сомасын есептеу...........................................
sum:=0;
summ:=0;
sum_k:=0;
for i:=25 to str.Count-1 do
begin
temp:=copy(str[i],0,4);
if (temp=':32A') then
begin
L_Date_V.Caption:=copy(str[i],6,6);
sum_t:=copy(str[i],15,12);
L_Summa.Caption:=sum_t;
end
else
if (temp=':21:') then L_Total_p.Caption:=copy(str[i],5,4)
else
if (temp=':70:') then
begin
temp1:=copy(str[i],0,10);
if (temp1<>':70:/OPV/S') then ShowMessage('жолда қате бар- - '+inttostr(i+1))
end
else
if (temp='//DT') then
begin
temp1:=copy(str[i],0,7);
if (temp1<>'//DT/19') then ShowMessage('жолда қате бар -
end
else
if (temp=':32B') then
begin
for j:=1 to 12 do
begin
if (copy(str[i],8+j,1)=',') then
begin
sum:=strtoint(copy(str[i],9,j-1));
summ:=summ+sum;
kop:=strtoint(copy(str[i],9+j,2));
sum_k:=sum_k+kop;
if (sum_k>99) and (sum_k<999) then
begin
summ:=summ+(sum_k div 100);
sum_k:=sum_k-((sum_k div 100)*100);
end;
sum_t1:=inttostr(summ)+copy(str[i],8+j,1)+inttostr(sum_k);
end
end
end
end;
// Соманы тексеру...............................................................
for j:=1 to 12 do
begin
temp2:=copy(sum_t1,j,1);
temp3:=copy(sum_t,j+1,1);
temp1:=copy(sum_t1,0,j-1);
temp:=copy(sum_t1,j+1,1);
if (temp2=',') and (temp3='0') then sum_t1:=temp1+','+'0'+temp
end;
if (sum_t=sum_t1) then L_OK.Caption:='OK '+sum_t1
else L_OK.Caption:='NO '+sum_t1
end;
end;
procedure TForm4.CloseMt102Click(Sender: TObject);
begin
Form5.Show;
Form4.Close;
end;
end. unit Unit5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls, Menus;
type
TForm5 = class(TForm)
Image3: TImage;
Image1: TImage;
Image2: TImage;
Image4: TImage;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Image2Click(Sender: TObject);
procedure Image1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
uses Unit6, Unit1;
{$R *.dfm}
procedure TForm5.Button1Click(Sender: TObject);
begin
Form6.Show;
end;
procedure TForm5.Button2Click(Sender: TObject);
begin
Form1.Show;
end;
procedure TForm5.Image2Click(Sender: TObject);
begin
Form6.Show;
Form5.Hide;
end;
procedure TForm5.Image1Click(Sender: TObject);
begin
Form1.Show;
Form5.Hide;
end;
end. unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, jpeg;
type
TForm6 = class(TForm)
Button2: TButton;
Image1: TImage;
Bevel2: TBevel;
BitBtn1: TBitBtn;
Bevel1: TBevel;
Image2: TImage;
Image3: TImage;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Image2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
implementation
uses Unit2, Unit4;
{$R *.dfm}
procedure TForm6.Button1Click(Sender: TObject);
begin
Form2.Show;
Form6.Close;
end;
procedure TForm6.Button2Click(Sender: TObject);
begin
Form4.Show;
Form6.Close;
end;
procedure TForm6.Image2Click(Sender: TObject);
begin
Form2.Show;
Form6.Close;
end;
procedure TForm6.BitBtn1Click(Sender: TObject);
begin
Form2.Show;
Form6.Close;
end;
end.
4
Инвестициялық және зейнетақы фондылары
Дәстүрлі компаниялар, комерциялық компаниялар
Халықаралық қаржы – несие институттары
Эксперт және импорт
Валюталық нарыққа қатысушылар
жергілікті халық
Валютаны алушы немесе
ТӘБ валюталық бөлімі
Орталық банк
KVNS,
KVA
ВO01
KVNS,
KVA
VNO, BVNJ
VNA, VA
KVNS,
KVA
KAA, KLA
Шығару
Айналым коды
Есептеу
VNO, BVNJ
VNO, BVNJ
Енгізу
VNO, BVNJ
Клиент
Несие бөлімі
Валюталық операция бөлімі
Қызметкерлер
Тәуекел менеджер







25 тамыз 2019ж.
2008-2018 topreferat.com - Қазақша рефераттар, курстық, дипломдық жұмыстар

^