Программаны дайындау ортасы

КІРІСПЕ 7

1 ПРОГРАММАНЫ ДАЙЫНДАУ ОРТАСЫ 9
1.1 DELPHI ОРТАСЫН ІСКЕ ҚОСУ 9
1.2 ПРОЕКТ. ФОРМА. ҚАСИЕТТЕР. ҚАСИЕТТЕР ТЕРЕЗЕСІ 11
1.3 ОҚИҒАЛАР. ПРОГРАММАЛЫҚ КОД ТЕРЕЗЕСІ 14
1.4 ПРОГРАММА ҚҰРЫЛЫМЫ. НЕГІЗГІ МОДУЛЬ . МОДУЛЬ. ӘДІС 17
1.5 БЕРIЛГЕНДЕР ҚОРЫН БАСҚАРУ ЖҮЙЕЛЕРІ. БҚ.МЕН ЖҰМЫС 21
1.6 DATABASE DESKTOP УТИЛИТАСЫ 22
2 ПРОГРАММА ФОРМАЛАРЫНЫҢ СИПАТТАМАСЫ 24
2.1 НЕГІЗГІ ФОРМА 24
2.2 МӘЛІМЕТТЕР ЕНГІЗУ ФОРМАСЫ 28
ҚОРЫТЫНДЫ 29
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР 30
Нарықтық экономика бағытымен дамып келе жатқанын әлем жұртшылығы мойындап отырған қазіргі Қазақстан қысқа мерзім ішінде әлемдік цивилиацияға қарқынды ұмтылыс жасады. Біздің қоғам өзінің дамуындағы жаңа саты – экономиканың үдемелі ғылыми-техникалық, инновациялық және инвестициялық дамуына және адам факторы әсерінің күшеюі жағдайына өтуде. Глобализациялау процестері әлемдік экономикаға сандық және сапалық өзгерістер алып келеді. Әлеуметтік-саяси құрылымды елдердің көпшілігіндегі экономика біркелкі нарықтық заңдар бойынша дамып келеді. Түрлі бағытардағы келісім мен интеграция дамып келеді.
Нарықтық экономикамен етене байланысты халықтың тұрмыс-тіршілігі көтеріліп келеді, соған байланысты қоғамымызда адам факторының, оның тіршілік қам-қарекетінің көп уақыт бөлуді талап ететіні байқалады. Яғни әрбір тұтынушы белгілі бір тауарды сатып алу үшін ұзақ күнді уақытын сарыптау оның ең алдымен жүйке жүйесіне, жаржылық жағдайына және жалпы жұмыстағы табысына кері әсерін тигізбей қоймайды. Мысалы, сапасы жоғары италяндық аяқ киім іздеген адам қаланың түкпір-түкпіріндегі дүкендер мен маркеттерді аралай жүріп, алдымен бір немесе бірнеше тәулік уақытын, сонан соң қаншама жүйкесін, сонымен қатар, біршама қаражатын сарыптап үлгереді. Нәтижесінде, ол өзі қалаған аяқ киімді тапса жарар, ал егер таппаса ше. Бұл кезде оның ден-саулығына үлкен нұқсан келуі мүмкін.
1. Александровский А.Д. Delphi 4. Шаг в будущее. – М.:ДМК, 1999.
2. Архангельский А.Я. Разработка прикладных программ для Window в Delphi 5. – М.:БИНОМ, 1999.
3. Бабушкина И.А., Окулов С.М. Практикум по объектно-ориентированному программированию. – М.:БИНОМ, 2004.
4. Бобровский А.Д. Delphi 5: учебный курс. – СМб.:Питер, 2002.
5. Горман В . Хомоненко А. Delphi 6 СПБ:БхВ Петербург 2002.
6. Желонкин А. Основы программирования в интегрированной среде Delphi. Практикум.-М.:БИНОМ, 2004. – 236с.:ил.
7. Камардинов О., Жантелі Х. Delphi 5-6 Шымкент – 2002жыл.
8. Леонтьев В.П. Новейшая энциклопедия персонального компьютера. – М.: ОЛМА-ПРЕСС, 2000.
9. Окулов С.М. Основы программирования. – М.: БИНОМ, 2004.
10. Тейксейра С., Пачеко К. Delphi 5. Руководство разработчика, том 1. Основные методы и технологии программирования: Пер. с англ.: Учебное полсобие – М.:Издательский дом «Вильямс», 2000.
        
        МАЗМҰНЫ
КІРІСПЕ 7
1 ПРОГРАММАНЫ ДАЙЫНДАУ ОРТАСЫ 9
1.1 DELPHI ... ІСКЕ ҚОСУ ... ... ... ... ... ТЕРЕЗЕСІ 11
1.3 ОҚИҒАЛАР. ПРОГРАММАЛЫҚ КОД ТЕРЕЗЕСІ ... ... ... ... ... . ... ӘДІС 17
1.5 БЕРIЛГЕНДЕР ҚОРЫН БАСҚАРУ ЖҮЙЕЛЕРІ. БҚ-МЕН ЖҰМЫС ... DATABASE DESKTOP ... 22
2 ... ФОРМАЛАРЫНЫҢ СИПАТТАМАСЫ 24
2.1 Негізгі форма 24
2.2 ... ... ... 28
ҚОРЫТЫНДЫ 29
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР 30
КІРІСПЕ
Нарықтық ... ... ... келе ... әлем ... ... ... Қазақстан қысқа мерзім ішінде әлемдік цивилиацияға
қарқынды ұмтылыс ... ... ... ... дамуындағы жаңа саты –
экономиканың үдемелі ғылыми-техникалық, ... және ... және адам ... ... ... жағдайына өтуде. Глобализациялау
процестері әлемдік экономикаға сандық және сапалық өзгерістер алып ... ... ... ... экономика біркелкі
нарықтық заңдар бойынша дамып келеді. Түрлі ... ... ... ... ... ... етене байланысты халықтың тұрмыс-тіршілігі
көтеріліп келеді, ... ... ... адам ... ... ... көп ... бөлуді талап ететіні байқалады. Яғни
әрбір тұтынушы ... бір ... ... алу үшін ұзақ ... ... оның ең ... жүйке жүйесіне, жаржылық жағдайына және ... ... кері ... тигізбей қоймайды. Мысалы, сапасы жоғары
италяндық аяқ киім іздеген адам ... ... ... мен
маркеттерді аралай жүріп, алдымен бір немесе бірнеше тәулік уақытын, сонан
соң қаншама жүйкесін, сонымен ... ... ... ... ... ол өзі қалаған аяқ киімді тапса жарар, ал егер таппаса ше. ... оның ... ... нұқсан келуі мүмкін.
Ал, енді, осы жағдайда ол небары ... ... ... ... ... ... ... аяқ киім жайлы барлық ақпаратты
желіге қосылған ... ... ... әрі ... әрі «алтын»
уақытын және қаражатын сақтап, оның үстіне сол ... ... тағы ... ... ... ... болар еді. Егер программа көмегімен қажетті
тауар ... оны үйге ... ... тапсырыс беруге, ал табылмаса,
арнайы дүкендерге ... ... де ... ... да түсінікті. Міне
осы жағдайларды ескере келе, мен қазіргі күннің аса өзекті ... ... ... құрған программалық жабдық тауарлар мен сауда ұйымдарының
мәлеметтерін қазірше ... ... ... ... не ... жайлы
мәліметтерді имитация арқылы іздеп табуға, тапсырыс беруге, мәлеметтерді
арнайы кесте арқылы көріп ... және ... ... ... ... да
бір белгілері бойынша оларды топтастыруға және т. б. ... ... ... ... ... ... ... болғанымен, сауда орталықтарында мәліметтерді ендіруге, сорттауға,
ал тұтынушы компьютерінде қажетті ақпаратты ... ... ... ... ПРОГРАММАНЫ ДАЙЫНДАУ ОРТАСЫ
1.1 DELPHI ОРТАСЫН ІСКЕ ҚОСУ
Microsoft Windows терезесі ... Delphi –ді іске қосу ... қосу – ... – Borland Delphi6 ( ... Delphi ортасының келесі үш терезесі көрінеді (2.1-сурет).
2.1-сурет. Delphi ... ... ... ... ... ... ... инспекторы терезесі (Object Inspector).
Жалпы ортада программа құруға арналған төртінші, ... ... ... ... (Unit 1. pas). Форма ... ... ... ол ... көрінбейді.
Delphi-дің негізгі терезесінің құрамына негізгі мәзір, аспаптар панелі
және компоненттер ... ... ... ... ... (ішкі мәзірлерге) Delphi-де жұмыс істеу командалары, аспаптар
панеліне ішкі мәзірлерге ... ... ... орындайтын
түймелер орналастырылған.
2.2-сурет. Негізгі мәзір, аспаптар панелі және компоненттер палитрасы
1.2 ПРОЕКТ. ФОРМА. ... ... ... ... программа проект (жоба) деп аталады. Форма-
программаны дайындау алдында ... ... ... ... ... рет іске ... кезде форма Form1 атауымен (тақырыбымен)
көрінеді. (2.1-сурет). Оның жиектеріне тышқан көрсеткішін орналастырып, ол
екі жақты ... ... ... кезде жылжыту және қалдыру тәсілі бойынша
форманы кеңейту не қысу қиын емес.
Құрылатын программада пайдалану үшін формада ... ... ... ... ... ... кейбірі Access берілгендер
қоры жүйесінде пайдаланылатын элементте ... ... ... Олар Delphi терезесінің компоненттер палитрасына орналастырылған.
Кей жағдайларда экранда форма көрінбеуі мүмкін. Оы экранға шығару ... ... беру ... және ... енгізілетін компоненттердің түрлі қасиеттері бар
(оларды компонент “паспорты” деп те атайды). Қасиет (Сипаттама, параметр)-
айнымалылардың ... ... Олар ... ... ... сипаттап,
ағымдық күйін анықтайды. Мысалы форма қасиеттерінің ...... ... ... ... ... түсі т.б. Delphi іске
қосылған кезде форма қасиеттеріне ... ... ... ... не онда орнатылған компонентті программа құру үшін дайындау
оның ... ... ... ... басталады. Қасиеттер тізімі
Объект ... (Object ... ... ... ... ... шығару үшін сәйкес ... ... не ... ... ... ) бір шерту арқылы таңдау керек. Инспектор
терезесінің жоғарғы қатарына таңдалған ... ... да ... ... Delphi іске ... ... форманың ашылған қасиеттер терезесі 2.1-
суретте көрсетілген. Терезенің екі қосымша беті бар: ... ... Events ( ... ... екі бағанға енгізілген жазулардан
тұратын оның Properties бөлімі ашылулытұрады. (2.1-сурет) Бірінші бағанда
көрінетіндер – ... ... ... ... ... ... ... (Атау) – формаға берілген атау. Ол Delphi ... ... ... бірі. Delphi-дің жұмыс ... ол ... осы атау ... ... ... ... ... түрде алғашқы рет меншіктелген атауын Form1 орнына KvTend атауын
енгізу. Ол үшін қасиеттер терезесінен Name ... ... жаңа ... ... ... алса ... Терілген атау Name жолының оң
қатарына жазылып қойылады.
Font ( Шрифт) – ... ... ... ... ... қасиеті. Оны
таңдап, оң жағында көрінген көп нүкте (...) ... ... ... ... ... ... ... (2.3 - сурет). ... , ... ... ... өлшемін таңдап ( мысалы, Times Kaz, 10),
ОК түймесін шерту керек .
2.3-сурет. Шрифт таңдау терезесі
Caption (Тақырып, бетіне ...... ... ... мәтін. Алғашқы кезде қасиеттер терезесінің Caption қасиетіне
тақырып үшін Form1 cөзі енгізіліп ... Оны ... не ... алмастыру Name қасиетіне мән меншіктеу тәсілі сияқты ( қасиет
мәні енгізілген соң КҚ ( ... ... , ... ... ... ... (түс) –форманың түсін орнату қасиеті. Ол таңдалған ... ... ... ... ... Тілсызық түймесі –қасиет мәнінің
бірнеше екенінің белгісі. Тілсызық белсісін шерткен кезде мәнедер ... ... ... ... қалаған түсті шерткен. Соң форма сәйкес
түске боялып қойылады.
Width (Ен), Height (Биіктік) –пиксель өлшем ... ... ені мен ... ... ... (бұл ... ... қолдан
кеңейту не сығу кезінде де автоматты түрде орнатылып қойылады).
Объект қасиетін программа ( программалық код) ... ... да ... ... тақырыбы шрифтінің өлшемін 14 ету үшін программаға ... :=14 ... ... енгізуге болады.
Жалпы, бір қасиет мәнімен танысу үшін оны қасиеттер терезесінде
таңдап, F1 клавишін басу ... ... ... шақыру керек. Delphi-
де анықтамалар ... ... ... Ол ... ... экранда
орысша аудармасын көрсететін “Coкpaт 97” ... ... ... ... жөн ( мұндай программа компьютерге орнатылса, оны
пайдалану қиын ... ... ... ... оны ... үшін ... командасын беру жеткілікті. Ол F11 клавиші басылған кезде де
көрінеді.
Ескерту. Жаңа ... іске ... ... ... ... ... қосылуы мүмкін. Терезеден DephiNews бумасын таңдау жеткілікті.
1.3 ОҚИҒАЛАР. ПРОГРАММАЛЫҚ КОД ТЕРЕЗЕСІ
Windows-тағы сияқты Dephi–де программалар оқиғалар арқылы басқарылады.
Мысалы, ... ... құру үшін ... ... ... орнату,
формада орналастырылған компонентті тышқан арқылы шертуі мүмкін. Оның іс-
әрекеті оқиға ... Яғни , ... ... ... істеуі кезінде
объект жағдайының өзгеруі .
Dephi-де әр оқиғаға атау атау ... ... ... ... Button1 ... ... Click (Шерту) оқиғасын шақырады.
Әр объектіге байланысты оқиғалар жеткілікті Мысалы, формаға байланысты
оқиғалар саны - 35 (2.4-сурет). Олар қасиеттер терезесінің Events ... ... ... ... атауларының алдына On ... ... ... Ол - атаудың оқиға екендігін білдіретін
белгі.
2.4-сурет. Форма оқиғалары
Dephi ортасында жиі кездесетін оқиғалар :
On Click-тышқан түймесін бір рет ... ... екі рет ... басу;
OnKeyUp-басылған клавишті босату;
OnMouseDown- тышқан түймесін басу;
OnMouseUp- тышқан түймесін босату;
OnMouseMove- тышқан көрсеткішін жылжыту;
On Create- форманы екі рет ... ... ... ... екі ... ... алғашқыда автоматты
түрде Project1 атауы берілетін модуль. Олар жеке терезелерде орналастырған.
Модульге ... ... ... ... ... ... ... ( олар 2.4-тақырыпта кең түрде қарастырылған).
Программа мәтінін программалық код деп, ... ... код ... ... ... терезесі деп те атайды. 2.1.-тақырыпта ... іске ... ... ол форма терезесінің астында көрінбей тұрады. Оны
экранға шығару тәсілдері:
- форманы жабу (түймесін ... код ... бір шеті ... ... көрініп тұрса, оны шерту.
Терезе белсендірілуі түрде ашылады да онда процедура ... ... Оның ... ... арқылы бөлінген класс және процедура
атауларынан ... ... ... ... код ... өту және код ... формаға өту
үшін F12 клавишін басу жеткілікті. 2.5-суретте көрініп ...... ... ... ... ... ... процедура
оқиғаны өңдеуіш не оқиғаны ... ... ... ... ... ... (Sender: TObject);

begin

end;
мұндағы Sender параметрі құрылатын процедураның қай ... ... ... сол ... терезесі. Онда код терезесінде
барлық жарияланулардың құрылымын көріп шығуға ... ... ... ... ... ... ... . МОДУЛЬ. ӘДІС
Кез келген программа program сөзінен басталатын проект файлы мен бір
не ... ... ... да, ... ... ... ... ішіне
енгізіледі. Проект файлы dpr, модуль pas кеңейтілуі бойынша сақталынады.
Проект файлын ... ... деп ... Негізгі модульдің ... ... ... ... Delphi іске ... ... оны
автоматты түрде дайындап шығады. Негізгі модульге ерекше жағдайлардан басқа
кездерде қосымша нұсқаулар енгізудің қажеті жоқ. ... ... ... Project1;
Uses
Forms,
Unit1 in ‘Unit1. pas’{Fopm1};
{$R*.RES}
begin
Application. Initialize;
Application. CreateForm(TForm1, Form1);
Application. Run;
end.
мұндағы,
Projectl – негізгі модуль (проект) атауы. ... ... ... ... ... ... ол ... атауға алмастырылып қойылады;
Uses – (қолдану) – ... ... ... ... сөз. ... ... ... стандартты (кітапханалық) Forms модулі
мен Delphi –ден соң оның қайсы модульдік файлда құрылатыны (in ... ... ... фома атуы ... ... – нұсқау. Ол компиляторға қосымшаның (Windows көмегімен
дайындалған қолданбалы программаның) қор ... ... ... сақталған файлды және т.с.с. пайдалану
керектігін көрсетеді (файлдың кеңейтілуі - ... – end ... ... ... ... ...
қосымшаның алғашқы жүктелуін қамтамасыз ететін әдістер (Delphi-де арнайы іс-
әрекетті орындайтын процедура, функция және командалар әдістер делінеді):
Application. ... ... ... ... рет ... ... CreateForm-проект құрамына енетін форманы ... ... ... (сreate-құру);
Application. Run-пограмманы іске қосуды қамтамасыз ету әдісі.
Delphi-де әдістің командалық түрде жазылуы:
. ... ... ... Application объектісінің Initialize
әдісін орындау
Кейбір жағдайда бөлімге проект ... бума атын ... ... қою да ... ... , Delphi-де программаның орындалуы автоматты түрде негізгі
модульді орындаудан басталады.
Модуль-түрлі ... ... ... ... ... ... Unit ... қызметші сөзінен басталып, соңына әдеттегідей
нүктелі үтір (;) ... ... ... ... ... ... алғашқы рет меншіктейтін атауы: Unit1. Жаңа проект ... ... ... да ... түрде құрылады:
Unit Unit 1;
Interface
Usis
Windows, Messajger, Sys Utils, Classes,
Graphics, Controls, Fopms, Dialogs;
Type
TForm1=class(TForm)
Private
{Private declarations}
public
{Public declarations}
end;
var
Fopm1: Tform1;
Implementation
{$R*.DFM}
end.
Интерфейс ( ... ) ... ... кілттік сөзімен басталады да,
оған келесі бөлімдер енгізіледі: ... ... ... ... ... ... ... жазылады, бөлімге пайдаланушы
дайындалған модуль атауын кірістіріп қою да ... Одан әрі, ... ... типі сипаталалып, олардан соң ... ... мен ... (программа элементтері) жарияланады, т.б.)
Private (жеке, дербес) бөліміне тек ағымдық модульге тиісті элементтер
енгізілуі мүмкін (элемент-өрістер, ... ... мен ... ... ... ... модульге қол жеткізуге болатын
кез келген ... не ... ... ... ... Олар ... ... элементтердің пайдалану облыстарын ғана
анықтайтын болғандықтан , ... (көп ... олар бос ... ... ... ... ... {$R*.DFM} -.dfm
кеңейтілуі бойынша жазылған файлды пайдалану ... Ол ... ... форманың сипаттамасымен байланыстырады. (файлға форма қасиеттерінің
мәндері жазылып қойылған. Ол формада орнатылған компоненттер қасиеттерінің
де ... ... ... ... ... Object ... ... Одан соңғы қатарларға программалаушы Delphi тілінде
қажетті процедураларды қолдан кірістіру керек. ... ... ... ... ... ... интерфейс бөлімінде автоматты
түрде жазылып қойылады.
Кейде модульдің соңына инициалдау (initialization) ... ... ... ... ... ... ... беріп) программаны
дайындау үшін қажет. Егер ол толтырылса, бұл ... ... ... ... ... орындалады. Бөлім нұсқауларын begin және end кілттік
сөздерінің ... ... ... ... ... ... ... begin сөзі жазылмай, оған тек end сөзі енгізіледі. Ол –
модульдің ... ... ... ... ... ... БАСҚАРУ ЖҮЙЕЛЕРІ. БҚ-МЕН ЖҰМЫС
Түрлі шаруашылықтарда, оқу орындарында, ... ... ... салаларда берілгендерді дайындау, оларды өңдеу, сақтау жиі кездеседі.
Мысалы, жоғары оқу орындарында дайындалатын мәліметтер:
• Факультеттер, олардың ... ... мен ... ... не қызметкерлер жөнінде ... ... ... ... ... ... тізімдер;
• түрлі бөлімдерде жұмыс істейтін адамдардың тізімі (тегі, аты
жөні, білімі, адресі, үй ... ... ... ... және өңдеу көп тараған ...... қоры ... ... Берілгендер қоры – құрылымы арнайы тәсіл
бойынша ... ... ... ... Файл ... ... түрінде
дайындалады. Кестелерді дайындау, жылдам түрде олардан қажетті ... ... ... ... сұраныс құру), оларды сақтау,
жазуларды редакциялау, жолдарды алып тастау, ... ... ... ... іс-әрекеттер – күрделі жұмыстар.
Соңғы кездерде кестелерден тұратын берілгендер қорын құрып, ... ... ... ... дайындалған. Оларды берілгендер қорын
басқару жүйелері деп атайды. Белгілі берілгендер қорын ... ... FoxBase, FoxPro, Paradox, Access, ... DATABASE DESKTOP УТИЛИТАСЫ
Берілгендер қоры кестесі Dlephi құрамына енгізілген Database Desktop
(Берілгендер қоры ... ... ... ... ... ... Tools - Database Desktop (Сервис Берілгендер қоры жұмыс ... ... ... ... ... ... ... (2.6-сурет).
2.6-сурет. Database Desktop терезесі
2. терезеден File – New – Table (Файл-Жаңа-Кесте) командасын ... Table ... ... ... терезесі шығады. Онда ашылатын
тізімнен қажетті ... ... ... (Paradox не dBase). ... Paradox7 ... іске ... терезе өрісінде осы атау көрінеді
(2.7-сурет).
2.7-сурет. Кесте форматын таңдау
3. Paradox7 ... ... ОК ... ... (онда пайдалануға
болатын өріс типтері жеткілікті). Бірінші бағанында автоматты түрде
өрістің номері жазылып қойылған кесте өрісі атауын ... ... ... Өрісті сипаттау терезесі
4. Екінші бағаннан бастап ретімен өріске берілетін атауды (FieldName),
өріс типін (Type), ... (Size) ... ... өріс ... ... ғана ... Өрісті кілттік ету қажет болса, оның бесінші
бағанда (Key) көрсетілуі тиіс. Ол «*» символы арқылы ... кілт ... және MS Access ... арнайы берілгендер қорын
басқару жүйелерінде кеңінен пайдаланылады).
2 ПРОГРАММА ФОРМАЛАРЫНЫҢ СИПАТТАМАСЫ
Программа мынадай формалардан ... ... ... ... ... формасы, «Маркеттер» формасы, Маркеттерді ... ... ... ... Тауарларды іздеу формасы, Маркеттерді іздеу
формасы, Фильтрлеу және Есептер.
2.1 Негізгі форма
Программа қосылғанда ... ... ... ... жалпы көрінісі
төмендегі суреттегідей.
3.1-сурет
program Project1;
USES
FORMS,
SYSUTILS,
TRADELIB IN 'TRADELIB.PAS',
MESS IN ... ... IN ... ... IN ... ... IN ... {OPENDOCUMENTDIALOG},
CREATDOC IN 'CREATDOC.PAS' {CREATDOCFORM},
MAKEOTCHETUNIT IN 'MAKEOTCHETUNIT.PAS' {MAKEOTCHETFORM},
ACTPRIHOD IN 'ACTPRIHOD.PAS' {EDITDOC},
PRINTUNIT IN 'PRINTUNIT.PAS' {PRINTFORM},
INPUT IN '..\MYLIB\INPUT.PAS' ... IN ... ... IN ... ... IN ... {TOVARSTYPESFORM},
ANALISOTCHET IN 'ANALISOTCHET.PAS' {ANALISFORM};
{$R *.RES}
//CONST TOHTA=0;
BEGIN
APPLICATION.INITIALIZE;
TITLEFORM := TTITLEFORM.CREATE( APPLICATION );
TITLEFORM.SHOW;
TITLEFORM.LABEL3.CAPTION:='';
TITLEFORM.UPDATE;
APPLICATION.CREATEFORM(TEDITDOC, EDITDOC);
APPLICATION.CREATEFORM(TMESSAG, MESSAG);
APPLICATION.CREATEFORM(TTRADEPOINTSFORM, TRADEPOINTSFORM);
APPLICATION.CREATEFORM(TOPENDOCUMENTDIALOG, OPENDOCUMENTDIALOG);
APPLICATION.CREATEFORM(TCREATDOCFORM, CREATDOCFORM);
APPLICATION.CREATEFORM(TMAKEOTCHETFORM, MAKEOTCHETFORM);
APPLICATION.CREATEFORM(TPRINTFORM, ... ... ... ... ... ... IF DATE>ENCODEDATE(MAXY+100,MAXM+100,MAXD+100) THEN
BEGIN
MESSAG.OUTMESSAGE('СРОК ДЕЙСТВИЯ ДЕМОНСТРАЦИОННОЙ ВЕРСИИ ИСТЕК.
ПРОГРАММА БОЛЬШЕ РАБОТАТЬ НЕ БУДЕТ. ОБРАТИТЕСЬ К ... ... ... БАС ... ... ... ФАЙЛ, ТҮЗЕТУ (РЕДАКТИРОВАТЬ),
ІЗДЕУ (ПОИСК), ? (АНЫҚТАМАЛЫҚ). ФАЙЛ ... ... ... ... ТОВАРОВ), МАРКЕТТЕРДІҢ ТІЗІМІН (МАРКЕТЫ), СТАНДАРТТЫ САҚТАУ
(СОХРАНИТЬ), АШУ ... ... ... ... ҚҰРУ (СОЗДАТЬ),
ПРИНТЕР ЖӘНЕ ШЫҒУ (ВЫХОД) КОМАНДАЛАРЫ ... ... ШЫҒУ ... ... БЕЛГІЛІ БІР ДИАЛОГТЫҚ ТЕРЕЗЕЛЕРДІ АШАДЫ.
Келесі суреттерде Тауарлардың жалпы тізімі және маркеттердің ... ... ... ... ... TDBGrid, ... TЕdit және TButton компоненттерімен жабдықталған.
«Мәліметтерді ... ... ... ... осы ... ... да бір ... бойынша іріктеу мүмкіндігі
қарастырылған.
Терезелердің екеуі де базадағы мәліметтерді тек қарап шығу ... ... ... Яғни, егер қандай да бір өрістегі мәліметтерді бұл
терезелердің көмегімен ... ... ... ... оң ... ... ... эстетикалық
сипат беру мақсатында TImage1 компоненті орналастырылып, оған ағымдық
каталогта ... flowers ... ... ... форманың
WindowState қасиетіне wsMaximized мәні меншіктелді.
2.2 Мәліметтер ... ... ... ...... мен ... ... мәліметтерді енгізуге арналған форманың ... ... ... Сауда орындары жөнінде толыққанды мәліметтерді
енгізуге, ал екіншісі – тауарлардың мәліметтерін ендіруге арналған.
unit ActPrihod;
{акт ... - ... ... ... прихода-расхода
сохраняет приход, расход или списание в виде таблицы под ... ... ... ... Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, Grids, DBGrids, StdCtrls, Mask, Buttons, ExtCtrls, DBCtrls,
Menus, OleCtnrs, ToolWin, ComCtrls;
const maxY=2000; ... ... ... о цене ... integer ... {тип ... {покупная и продажная цена}
);
2:(
M1,M2,M3:integer; {все ... ... ... записей товар -
цена}
type
TPriceTable=record {ценовая таблица}
TradePoint:integer; ... ... для ... ... ... для ... ... цены}
GetPriceTableFile:string; {имя файла открыитой ценовой таблицы}
TovarsCount:integer; {ну, сам ... ... ... - ... о ... о торговой точке}
TTradePointsRec=record
Name:String; ... ... ... {действующая или нет}
end;
type
{запись о документе}
TDocument=record
{используется при редактировании таблицы}
Name:String; ... ... ... в имени файла}
ColCount:integer; ... ... в ... ... в ... соответственно:}
TradePointColNo, TovarTypeColNo, DateColNo:integer; {... торговая
точка, товар и дата}
TovarSourcePrice1ColNo, TovarSourcePrice2ColNo:integer; {...покупная и
продажная цена источника}
TovarDestPrice1ColNo, ... ... ... ... цена ... ... колонки "итого"}
TotalColCaption:String; {название этой строки}
ColCaptions:array[1..20]of string[50]; {заголовки столбцов}
ColFormules:array[1..20]of string[40]; {формулы для столбцов}
ColFields :array[1..20]of string[3]; ... ... ... ... можно ли
редактировать столбец}
{используется при создании отчетов}
IsSource:boolean; {имеется ли источник товара}
IsDestination:boolean; ... ли ... ... {знак для источника}
DestinationSign:Shortint; ... для ... ... ... ... ... для ... - остатки)}
end;
type {в таком формате строки таблицы передаются в подпрограммы}
TRowArgumentType_=record
name:string[3];
case integer of
1: (Freal:Single);
2: (Fint:Integer);
end;
TRowArgumentType=record
Count:Integer;
A:array[1..20]of TRowArgumentType_;
end;
type TRowFileType=record {в таком ... на ... ... записи о
движении товаров }
case integer of
1:(
TovarID :integer;
TovarCount :integer;
TovarPrice1 :Single; ... :Single; ... ... :Single;
);
2:(Freal:array[1..7]of Single;);
3:(Fint:array[1..7]of Integer;);
end;
type
TEditDoc = class(TForm)
Button3: TButton;
AddButton: TButton;
DelButton: TButton;
StringGrid1: TStringGrid;
Button8: TButton;
Button9: TButton;
TableNameLabel: TLabel;
DateLabel: TLabel;
DateMaskEdit: ... ... ... ... ... ... ... TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
Button4: TButton;
FilesStringGrid: TStringGrid;
N15: TMenuItem;
DayComboBox: TComboBox;
MonthComboBox: TComboBox;
YearComboBox: TComboBox;
TradePointComboBox: TComboBox;
Bevel1: TBevel;
FilesDate1: TMaskEdit;
FilesDate2: TMaskEdit;
Label1: TLabel;
Bevel2: TBevel;
N8: ... ... ... ... ... ... ... TMenuItem;
Button2: TButton;
N19: TMenuItem;
Label3: TLabel;
Bevel3: TBevel;
N20: TMenuItem;
N18: TMenuItem;
N21: TMenuItem;
ComboPopupMenu: TPopupMenu;
sdsad1: TMenuItem;
GridPopupMenu: TPopupMenu;
MenuItem1: TMenuItem;
MenuItem2: TMenuItem;
N22: TMenuItem;
N23: TMenuItem;
N24: TMenuItem;
procedure Button3Click(Sender: TObject);
procedure ... ... ... ... ... ... ... TObject; var Key: Word;
Shift: TShiftState);
procedure StringGrid1SetEditText(Sender: TObject; ACol, ARow: Integer;
const Value: String);
procedure StringGrid1SelectCell(Sender: TObject; Col, Row: Integer;
var CanSelect: ... ... ... ... ... ... ... N11Click(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ... ... ... ... ... TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FilesStringGridMouseDown(Sender: ... ... Shift: ... X, Y: Integer);
procedure FormatFilesGrid;
procedure FilesStringGridClick(Sender: TObject);
procedure FilesStringGridKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DayComboBoxChange(Sender: TObject);
procedure ... ... ... ... ... TObject);
procedure Button8Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: ... ... ... ... ... ... TObject);
procedure N19Click(Sender: TObject);
procedure TovarComboBoxEnter(Sender: TObject);
procedure TovarComboBoxExit(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure StringGrid1Click(Sender: TObject);
procedure sdsad1Click(Sender: TObject);
procedure FormCreate(Sender: ... ... ... ... TObject);
procedure MenuItem1Click(Sender: TObject);
procedure N23Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N24Click(Sender: TObject);
private
{ Private ... ... ... OpenTable(FileName:string);
procedure deleteRow(No1,No2:longint);
procedure AddRow(No:longint);
procedure UpdateTotalEdit;
procedure UpdateHotLines(Row:integer);
procedure FormatTableByType(TableNo:integer);
procedure UpdateTovarsName;
procedure UpdateTradePointsName;
procedure AddRowToTable(r:TRowArgumentType);
function ... ... ... ... ... ... TObject);
end;
{группа поддержки типов}
function GetGR1index(ID:integer):integer;
function GetGR2index(ID:integer):integer;
function GetOnlyID(ID:integer):integer;
procedure SetGR1index(var ID:integer; GR1index:integer);
procedure SetGR2index(var ID:integer; GR2index:integer);
function GroupVisible(ID:integer):boolean;
var tovarSortMode:(byType,byName);
procedure SortGridBy(var ... ... ... ... ... таблица для текущей
торговой точки и даты}
function OpenPriceTableFor(TradePointID,NewDate:Integer;var
PriceTable:TPriceTable):integer;
procedure SavePriceTable(PriceTable:TPriceTable);
forward;
procedure SetPiceDate(var PriceTable:TPriceTable;NewDate:Integer);
forward;
function GetSourceTovarPrice1(TovarIDg:integer):Single;
forward;
function GetSourceTovarPrice2(TovarIDg:integer):Single;
forward;
function GetDestTovarPrice1(TovarIDg:integer):Single;
forward;
function GetDestTovarPrice2(TovarIDg:integer):Single;
forward;
{устанавливает ширину столбца Col ... ... в ... с
шириной заголовка}
procedure SetColWidth(var StringGrid:TStringGrid; Col:longint );
var {это моя форма}
EditDoc: TEditDoc;
{массив типов документов}
const
DocTypesNum=13; ... ... ... ... ... ... документ, он же индекс
ценовой таблицы в списке}
var {массив торговых точек}
TradePoints:array[1..30]of TTradePointsRec;
TradePointNum:integer;
var {список ... ... ... ... ... ... каталог расположения документов}
CurrDocMask:string[10]; {текущая маска ... {в этом ... ... ... ... тип ... ... текущего документа}
OtchetSettings:TDocument; {свойства текущего отчета}
CurrientCel:string; ... ... ... ... ... ... не сортирован, 1- дата, 2- тип, 3-
источник, 4- получатель
исходно - по ... ... ... номеров}
FirstTovarTypeID = 1;
LastTovarTypeID = 65435;
FirstTradePointID = 65436;
LastTradePointID = 65467;
implementation
//====================================================================
{$R *.DFM}
uses tradeLIB, OpenDoc, CreatDoc, Mess, ... ... ... PrintUnit, Choose, InfoUnit, otchet,
AnalisOtchet;
const bit:array[0..7]of byte=(1,2,4,8,16,32,64,128);
const {цвета для ... и ... ... = clGray;
ShortEditColorNo = clSilver;
ShortEditColorUnic = clGreen;
var
FilesList:TstringList; {список имен файлов, соответствующий списку их
названий }
GridModified:boolean=false;
//==========================================================================
==========
function ... and ... ... and ... ... and ... ... ID:integer; GR2index:integer);
begin
ID:=(ID and $FF00FFFF) + ($10000*GR2index and $00FF0000);
end;
procedure SetGR1index(var ID:integer; GR1index:integer);
begin
ID:=(ID and $00FFFFFF) + ($1000000*GR1index and $FF000000);
end;
function ... if ... ... ... if ... then exit;
if integer(SubGroupList.Objects[ind])=1
then GroupVisible:=True
else GroupVisible:=False;
end;
{сохраняет список товаров в файл}
procedure WriteTovarsName;
var
s:string;
f:text;
i,ind,ID:integer;
SubGroupList:TStringList;
begin
assign(f,OurPath+'tovars.tmp');
rewrite(f);
for i:=0 to TovarsName.Count-1 do
begin
ID:=integer(TovarsName.Objects[i]);
s:= intToStr(GetOnlyID(ID))+'/'+TovarsName.Strings[i];
ind:=GetGR1index(ID);
s:=s+'/'+TovarsTypesForm.GroupCombo1.Items[ind];
SubGroupList:=TovarsTypesForm.GroupCombo1.Items.Objects[ind] as
TStringList;
ind:=GetGR2index(ID);
s:=s+'/'+SubGroupList[ind]+'/';
if ... then s:=s+'+' else ... ... ... из 'tovars.txt', заполняет TovarsName списком имен,
его же ... ... ... на ... ... и ListBox1}
procedure ReadTovarsName;
var
s,s1:string;
f:text;
ind,i,newID:integer;
SubGroupList:TStringList;
begin
TovarsName.Clear;
assign(f,OurPath+'tovars.txt');
{$I-}
reset(f);
{$I+}
if ioResult0 then begin OkButton:=2; {messag.}OutMessage('Ошибка при
чтении списка товаров. '+#13#10+'Продолжение работы в этом
каталоге'+#13#10+'не рекомендуется.','','Ok',''); exit end;
while not eof(f) ... ... ... ... ... ... {s1 - ... группы}
i:=TovarsTypesForm.GroupCombo1.items.indexOf(s1); {есть ли такое название
? }
if i=-1 then
begin {новое ... ... ... ... ... ... ... ...}
i:=TovarsTypesForm.GroupCombo1.items.count-1; {... ... ... {... ... ...}
end;
newID:=integer(TovarsName.Objects[ind]);
SetGR1Index(newID,i);{i-индекс в GR1}
delete(s,1,pos('/',s));
{подгруппа товара (GR2)}
s1:=copy(s,1,pos('/',s)-1);
SubGroupList:=TovarsTypesForm.GroupCombo1.items.Objects[i] as TStringList;
i:=SubGroupList.indexOf(s1);
if i=-1 then
begin
SubGroupList.Add(s1); {добавление члена подгруппы}
i:=SubGroupList.count-1;
end;
SetGR2Index(newID,i);{i-индекс в GR2}
TovarsName.Objects[ind]:=Pointer(newID);
{ for i:=1 to 4 ... ... ... в ... }
if ... ... ... заполняет выпадающие списки на форме из переменной со списком
товара}
procedure TEditDoc.UpdateTovarsName;
var
s:string;
begin
TovarComboBox.Items:=TovarsName;
end;
{обновляет список торговых точек в выпадающем списке}
procedure TEditDoc.UpdateTradePointsName;
var
i:integer;
begin
TradePointComboBox.Clear;
for i:=0 to ... ... ... ... читает список и свойства торговых точек,
заполняет массив TradePoints}
procedure LoadTradePoints;
var
SL:TstringList;
i:integer;
s:string;
begin
TradePointNum:=0;
SL:=TstringList.Create;
try
SL.LoadFromFile(OurPath+'Trade_po.txt');
except
OkButton:=2; {messag.}OutMessage('Ошибка при чтении ... ... ... в этом ... ... i:=0 to ... do
begin
s:=SL.Strings[i];
if (copy(s,1,1)='[')and(TradePointNum0
then TradePoints[TradePointNum].Active:=true
else TradePoints[TradePointNum].Active:=false;
end;
end; {for}
SL.Destroy;
end;
{записывает список и свойства торговых точек в файл ... ... i:=1 to ... do
begin
s:=intToStr(TradePoints[i].TradeID-FirstTradePointID);
s:='['+s+']='+TradePoints[i].Name; {... + ... ... ... ... сумму стоимости товаров в
документе}
procedure TEditDoc.UpdateTotalEdit;
var
total:real;
i:integer;
s:string;
begin
EditDoc.TotalCaption.Font.Color:=clWindowText;
EditDoc.TotalEdit.Font.Color:=clWindowText;
total:=0;
for i:=1 to StringGrid1.RowCount-1 ... ... ... ... ... ... then
begin
TovarComboBox.Text:=StringGrid1.Cells[DocumentSettings.TovarTypeColNo-
1,Row];
TovarComboBox.Font.Color:=GetStringColor(TovarComboBox.Text);
TovarComboBox.Text:=StringGrid1.Cells[DocumentSettings.TovarTypeColNo-
1,Row];
end;
{торговая точка}
if DocumentSettings.TradePointColNo>0 then
begin
TradePointComboBox.Text:=StringGrid1.Cells[DocumentSettings.TradePointColNo
-1,Row];
end;
{дата}
if DocumentSettings.DateColNo>0 then
begin
s:=StringGrid1.Cells[DocumentSettings.DateColNo-1,Row];
DayComboBox.Text:=copy(s,1,pos(' ',s)-1);delete(s,1,pos(' ',s));
MonthComboBox.Text:=copy(s,1,pos(' ',s)-1);delete(s,1,pos(' ',s));
YearComboBox.Text:=copy(s,1,Length(s));
end;
{итого}
end;
procedure TEditDoc.Button3Click(Sender: TObject);
begin
Close;
end;
procedure TEditDoc.AddButtonClick(Sender: TObject);
begin
AddRow(StringGrid1.Row);
end;
procedure TEditDoc.AddRow(No:longint);
var {добавляет пустую строку ... ... No ... ... downto No do
StringGrid1.rows[i]:=StringGrid1.rows[i-1];
StringGrid1.rows[i+1].Clear;
GridModified:=True;
end;
procedure TEditDoc.deleteRow(No1,No2:longint);
var {удаляет строки в документе с No1 по No2}
difference,i:longint;
begin
i:=No2+1; ... ... ... ... ... удаляемых}
if (No1>0)and(No2>0)and(StringGrid1.RowCount>2)and(i0)and(StrToInt(copy(s,2,2))=i) then
begin {ссылок на другие ячейки нет ?}
k:=5;
repeat
if ... ... ... таблицы}
assignFile(f,FileName);
reset(f);
i:=0;
while not eof(f) do
begin
inc(i);
for j:=1 to DocumentSettings.ColCount do read(f,r.FInt[j]);
StringGrid1.RowCount:=StringGrid1.RowCount+1;
recountRowWith(tsv,r);
StringGrid1.Rows[i]:=tsv;
end;
closeFile(f);
{последняя строчка не нужна - она пустая}
if StringGrid1.RowCount>2 then StringGrid1.RowCount:=StringGrid1.RowCount-
1;
{отражение ... ... ... ... ... источника}
i:=OpenPriceTableFor(TableTradeSourceInt(FileOf(DocumentFileName)),GetDateIn
t(FileOf(DocumentFileName)),SourcePriceTable );
if DocumentSettings.FileSimbol='U'
then
begin
{открытие ценовой таблицы акта уценки на день назад, чтобы правильно
заполнялась старая продажная}
j:=OpenPriceTableFor(TableTradeSourceInt(FileOf(DocumentFileName)),GetDateIn
t(FileOf(DocumentFileName))-1,DestPriceTable );
end
else
begin
j:=OpenPriceTableFor(TableTradeDestInt(FileOf(DocumentFileName)),GetDateInt(
FileOf(DocumentFileName)),DestPriceTable ... ... ... ... под именем}
i,j:longint;
trv:TRowFileType;
s:string;
F,F1:file of integer;
begin
if (not GridModified)or(FileName='') then exit; {таблицу, не подлежащую
сохранению игнорируем}
assignFile(f,FileName);
rewrite(f);
for i:=1 to EditDoc.StringGrid1.RowCount-1 ... ... 3-й ... платежей в кассу товаром типа "Деньги"
(LastTovarTypeID)}
if DocumentSettings.FileSimbol='K' then trv.fint[3]:=LastTovarTypeID;
for j:=1 to DocumentSettings.ColCount do ... (или ... ... ... ... ... редактирования акта
уценки}
if DocumentSettings.FileSimbol='U' then
begin
s:=FileOf(FileName);
SetPiceDate(SourcePriceTable,GetDateInt(s));
s:='##'+StrToFileName(EditDoc.DateMaskEdit.text);
SetPiceDate(SourcePriceTable,GetDateInt(s));
SavePriceTable(SourcePriceTable);
end;
EditDoc.StringGrid1.Setfocus;
GridModified:=False;
end;
function CelMoreThen(s1,s2:string):shortint;
var
i1,i2:real;
code1,code2:integer;
begin
if tovarSortMode=byType then
begin {сравним их по группам товаров}
i1:=GetObjectIndex(s1);
i2:=GetObjectIndex(s2);
if i1>i2 then begin CelMoreThen:=1; exit; end ... i1i2 then begin ... exit end ... i1i2 then begin ... exit end ... i1s2 then begin CelMoreThen:=1; exit end else
if s1=i ... ... i:=0 to ... ... ... ... документов
и перемещение подсвеченной ячейки на нужную позицию}
procedure TEditDoc.FormatFilesGrid;
begin
{with EditDoc do {}
begin
FilesStringGrid.Cells[0,0]:=' дата ... ... ... ... ... ... ... ... ... ... ... Row в ... устанавливает значения покупной и продажной цен
товара Tovar}
procedure SetPricesFor(Tovar,Row:integer);
var
s:string;
pr:single;
begin
if DocumentSettings.TovarDestPrice1ColNo-1 then {покупная в
приемнике}
begin
pr:=GetDestTovarPrice1(Tovar); if pr-1 then
begin
Str(pr:5:3,s);
EditDoc.StringGrid1.Cells[DocumentSettings.TovarDestPrice1ColNo-1,Row]:=s;
end;
end;
if DocumentSettings.TovarDestPrice2ColNo-1 then ... ... if pr-1 ... ... then ... ... if pr-1 then
begin
Str(pr:5:3,s);
EditDoc.StringGrid1.Cells[DocumentSettings.TovarSourcePrice1ColNo-
1,Row]:=s;
end;
end;
if DocumentSettings.TovarSourcePrice2ColNo-1 then {продажная в
источнике}
begin
pr:=GetSourceTovarPrice2(Tovar); if pr-1 then
begin
Str(pr:5:3,s);
EditDoc.StringGrid1.Cells[DocumentSettings.TovarSourcePrice2ColNo-
1,Row]:=s;
end;
end;
end;
procedure TEditDoc.Button9Click(Sender: TObject);
begin
if ... ... ... не ... быть ... командой "копировать в...".','','Ok','');
exit;
end;
SaveTable(DocumentFileName);
end;
procedure TEditDoc.StringGrid1KeyDown(Sender: TObject; var Key: ... ... key ... ... (ssCtrl in Shift) then
begin
deleteRow(StringGrid1.Selection.Top,StringGrid1.Selection.Bottom);
key:=0;
end;
45:{ins}
if (ssCtrl in Shift) then
begin
AddRow(StringGrid1.Row);
key:=0;
end;
40:{Down}
if StringGrid1.Row=StringGrid1.RowCount-1 then
begin
AddRow(StringGrid1.Row+1);
{ ... ... ... ... ... ... then
begin {Enter на ячейке с названием товара}
GridModified:=true;
{отражение в ячейку}
StringGrid1.Cells[DocumentSettings.TovarTypeColNo-
1,StringGrid1.Row]:=TovarComboBox.Text;
TovarComboBox.Font.Color:=GetStringColor(TovarComboBox.Text);{цветовое
решение}
{изменение ... {i - код ... ... ... ... ... i:=0 to ... do
if pos(LowerCaseRus(s),LowerCaseRus(TovarsName.Strings[i]) )=1
then begin GetMachString:=TovarsName.Strings[i]; inc(MachesNum) end;
if MachesNum1 then GetMachString:='';
end;
function GetStringColor(s:string):integer;
var
i:integer;
Mach,MachesNum:integer;
begin
MachesNum:=0;
for i:=0 to TovarsName.Count-1 do
if pos( LowerCaseRus(s), ... ... begin ... Mach:=i ... ... then ... else
if MachesNum>1 then GetStringColor:=ShortEditColorIs else
begin
{ ComboBox1.Text:=TovarsName.Strings[Mach];}
GetStringColor:=ShortEditColorUnic;
end;
end;
{подсчитывает сумму выделенных чисел в одном столбце ... и ... ее ... "итого"}
procedure SumRect(Selection:TGridRect);
var
i:integer;
Sum:Real;
s:string;
begin
Sum:=0;
for i:=Selection.Top to Selection.Bottom do
Sum:=Sum+Vala(EditDoc.StringGrid1.Cells[Selection.Left,i]);
Str(Sum:5:2,s);
EditDoc.TotalCaption.Caption:='сумма выделенных :';
EditDoc.TotalEdit.Text:=s;
EditDoc.TotalCaption.Font.Color:=$0064000A;
EditDoc.TotalEdit.Font.Color:=$0064000A;
end;
procedure TEditDoc.StringGrid1SelectCell(Sender: TObject; ... Integer; var ... ... ... ... (для ... горячих строк}
UpdateHotLines(Row);
end;
{добавляет массив параметров r к текущей таблице }
procedure TEditDoc.AddRowToTable(r:TRowArgumentType);
var
i,j,k:integer;
Result,Argument1:real;
CurFormula:string;
CurArgumentName:string;
s:string;
CurArgumentIndex:integer;
wasKeyField,badKeyField, ... ... ... ... с ... же ключевыми полями ------------
--}
for CurRow:=1 to StringGrid1.RowCount-1 do
begin
{формирование строки ... в виде ... ... ... i:=1 to ... ... DocumentSettings.ColFormules[i][1] of
'%': RowResult.A[i].Freal:=vala(StringGrid1.Cells[i-1,CurRow]);
'@': RowResult.A[i].Fint :=GetObjectIndex(StringGrid1.Cells[i-
1,CurRow]);
'#': RowResult.A[i].Fint :=StrDateToInt(StringGrid1.Cells[i-1,CurRow]);
end;{case}
end;
{значения ключевых полей одинаковы ?}
onlyUnicalRow:=False;
onlyOneRow:=False;
wasKeyField:=False;
badKeyField:=False;
for i:=1 to DocumentSettings.ColCount do
begin {i - цикл по ... и их ... ... {вычисления по этой
формуле}
if (Length(CurFormula)>0)and(CurFormula[4]='

Пән: Информатика
Жұмыс түрі: Дипломдық жұмыс
Көлемі: 55 бет
Бұл жұмыстың бағасы: 1 300 теңге









Ұқсас жұмыстар
Тақырыб Бет саны
Delphi программалау ортасының негізі34 бет
Операторлар және ішкі программалар (Delphi программалау ортасы)22 бет
Баспа өнiмдерiн дайындауда қолданылатын программалар34 бет
Программаны құрудың техникалық тапсырмасы. Программаларды техникалық жобалау кезеңдерін сипаттау. Алгоритмдердің құрылымдық схемасын дайындау6 бет
Программаны құрудың техникалық тапсырмасы. Программаларды техникалық жобалау кезеңдерін сипаттау. Алгоритмдердің құрылымдық схемесын дайындау8 бет
«Радиотехника және антенна негіздері» пәні бойынша емтихан сұрақтары14 бет
ЖШС «НҰР» жеке кәсiпорынының автоматтандырылған құжат алмасу жүйесiн жасау72 бет
Электрондық почта5 бет
"Бейсик тілінде берілген есепке программа құру."20 бет
8 Ферзі21 бет


Исходниктер
Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь