рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Программирование диалоговых запросов

Программирование диалоговых запросов - раздел Программирование, Разработка системы управления работой коммерческой компании Программирование Диалоговых Запросов. В Обработчике Событий Tsklvks. Handleev...

Программирование диалоговых запросов. В обработчике событий TSklVks. HandleEvent я предусмотрел вызов нескольких процедур, с помощью которых реализуются конкретные действия.

Начну с процедуры Prih. Ее задача - ввести данные о новом приходе.

Очевидно, что данные будут храниться в файле, поэтому опишу сразу структуру данных. Данные выглядят в виде записи, которые состоят из полей.

Например структура данных для приходов выглядит следующим образом Структура приходов Type PPP record Number LongInt номер прихода FirmName String 22 фирма поставщик Date String 10 дата прихода Kurs Real курс доллара ЦБ РФ на день прихода TotalItems LongInt кол-во пришедших наименований SebSumma Real общая сумма прихода End Структура приходов для наименования Type PPPItems Record Number LongInt ноиер наименования PrihodNum LongInt номер прихода SkladNum LongInt номер наименования на складе Name String lpname наименование Rasf String lprasf расфасовка Box Integer кол-во штук в упаковке Kolvo LongInt кол-во поступившего наименования SebPrice Real себестоимость наименования Price Real стоимость наименования SellTimes Boolean зарезервировано End Эти строки находятся в модуле SKLTYPES.PAS. В нем же находится описание всех структур данных, а так же их связь с файлами и основной программой Var ТИП ДАННЫХ PrihodData PPP PrihodItemsData PPPItems ТИП ДАННЫХ В ФАЙЛЕ PrihodFile File of PPP PrihodItemsFile File of PPPItems Теперь, надо ввести данные.

Для этого сначала появляется панель диалога для ввода даты прихода, курса прихода и реквизитов фирмы поставщика.

Ее я создавал при помощи небольшой программы Dialog Designer 4.0. При создании панелей диалога при помощи это программы генерируется модульный файл в котором реализован код для отображения окна, его закрытия, так же содержится обработчик событий.

Ниже приведу текст модуля, cодержащего код для создания диалогового окна. unit PRIHOD1 interface uses Drivers, Objects, Views, Dialogs, Validate type PrihodDataRec record Field1 String 10 Field3 String 13 Field2 String 22 end PPrihodDataRec PrihodDataRec TPrihodDataDialog PPrihodDataDialog TPrihodDataDialog TPrihodDataDialog object TDialog constructor Init constructor Load var S TStream procedure HandleEvent var Event TEvent virtual procedure Store var S TStream function Valid Command word boolean virtual destructor Done virtual end Var PRD PrihodDataRec Const RPrihodDataDialog TStreamRec ObjType 12345 Insert a unique number 100 here VmtLink Ofs Typeof TPrihodDataDialog Load TPrihodDataDialog. Load Store TPrihodDataDialog. Store implementation TPrihodDataDialog constructor TPrihodDataDialog. Init var R TRect Control PView begin R.Assign 13, 3, 66, 17 inherited Init R, Приход Ввод данных Flags Flags and not wfMove R.Assign 24, 3, 36, 4 Control New PInputLine, Init R, 10 Insert Control PInputLine Control. Validator New PPXPictureValidator, Init, true R.Assign 5, 3, 24, 4 Insert New PLabel, Init R, Дата , Control R.Assign 24, 5, 39, 6 Control New PInputLine, Init R, 13 Insert Control PInputLine Control. Validator New PPXPictureValidator, Init False R.Assign 5, 5, 24, 6 Insert New PLabel, Init R, Курс прихода , Control R.Assign 24, 7, 48, 8 Control New PInputLine, Init R, 22 Insert Control R.Assign 5, 7, 24, 8 Insert New PLabel, Init R, Фирма поставщик , Control R.Assign 7, 10, 18, 12 Control New PButton, Init R, С брос, cmCancel, bfNormal Insert Control R.Assign 23, 10, 41, 12 Control New PButton, Init R, Н аименования, cmOK, bfDefault Insert Control R.Assign 37, 3, 51, 4 Control New PStaticText, Init R, ДД ММ ГГГГ Insert Control SelectNext False end constructor TPrihodDataDialog. Load var S TStream begin inherited Load S end procedure TPrihodDataDialog. HandleEvent var Event TEvent begin if Event. What evMessage then case Event. Command of end inherited HandleEvent Event if Event. What evMessage then case Event. Command of end end procedure TPrihodDataDialog. Store var S TStream begin inherited Store S end function TPrihodDataDialog. Valid Command word boolean var Result boolean begin Result inherited Valid Command Valid Result end destructor TPrihodDataDialog. Done begin inherited Done end end. Для отображения этого диалогового окна в процедуре PRIH испльзовался следующий код PRD.Field1 ShowDate Дата прихода - текущая дата Str GetKurs -1 2,PRD.Field3 Курс прихода - текущий курс FillChar PRD.Field2 1 ,22, Онулить фирму поставщика c1 ExecuteDialog New PPrihodDataDialog,Init , PRD Метод ExecuteDialog введен в седьмой версии Borlan Pascal очень удобен для отображения диалоговых окон, т.к. он осуществляет автоматическую вставку и получения данных в ходе создания и закрвтия панели диалога.

Ввести на экран панель диалога После ввода курса, даты и фирмы поставщика нужно ввести собственно наименования. Для этого я создал диалоговое окно см. модуль PRIH2.PAS , где вводится информации о наименовании название, расфасовка, стоимость, себестоимость и т.д см. рис. 3 рис.3 Введя данные, их надо сохранить.

Чтобы это сделать надо сначала открыть файл, затем в его конец записать данные и в конце этот файл закрыть.

Это делается приблизительно так подробно см. файл FIRMA.PAS OpenPrihodFile Процедура открытия файла см.модуль SklFiles. Pas Seek PrihodFile,FileSize PrihodFile -1 Write PrihodFile,PrihodData ClosePrihodFile см. модуль SklFiles. Pas Если нажимается кнопка СБРОС, то вызывается процедура сброса прихода в которой все задействованные файлы данных усекаются до предыдущей длина в начале процедуры PRIH запоминаются текущие длины файлов при помощи стандартной процедуры TRUNCATE. После успешного ввода данных появляется запрос о печати приходной накладной.

Печать осуществляется стандартными средствами см. процедуры PrintPrihodNakl и PrintEndOfPrihodNakl в модуле SklUnit. С помощью константы LST, компьютер связывается с печатающим устройством на LPT1, затем процедурами Writeln LST,строка для печати данные выводятся на принтер. Все введенные данные помещаются в файлы данных SKLAD.001 Товар на складе , PRIHOD.001 Заголовки приходов , PRIHOD.002 Пришедшие наименования. Затем пользователь получает доступ к следующим командам меню Данные-Склад, Данные-Приходы, Печать-Прайс-Лист, Печать-Отчет о наличии товара на складе, Клиент-Продажа.

Основной из вышеперечисленных команд является Клиент-Продажа.

При помощи этой команды пользователь должен выписать накладную по заказу клиента.

Реализовал эту команду так Появляется диалоговое окно со списком наименований, имеющихся на складе В нем пользователь выбирает продаваемые наименования и их количества. Затем при нажатии на кнопку ОПЛАТА появляется окно со списком всех выбранных наименований накладная в котором предоставляется возможность отредактировать введенные данные изменить количество каждого наименования, его стоимость и курс доллара. Далее после нажатия на ОПЛАТА на экране появляется диалоговое окно для ввода следующей информации реквизиты клиента, форма сделки реализация, округление суммы накладной, дата накладной.

После нажатия на ВЫПИСАТЬ НАКЛАДНУЮ у пользователя программы спрашивает, нужно ли печатать накладную и если товар дается клиенту не на реализацию, то спрашивается, нужно ли печатать приходный кассовый ордер.

Все введенные данные помещаются в файлы данных SDELKA.001 Заголовки сделок , SDELKA.002 Наименования сделок, в файле SKLAD.001 делаются соответствующие изменения по количеству оставшегося товара.

Для реализации диалогового окна со списком я создал коллекцию строк наименований имеющихся на складе, причем если товара на складе не осталось то это наименование не помещаеся в коллекцию. Data1 New PStrSor,Init 10,1 Указатель на коллекцию For N 0 to FileSize DataFile -1 do Каждую позицию проверить, если нулевая то не вносить в коллекцию begin 1 Seek DataFile, n Read DataFile,Data Считываем данные val Data. ProductOst, tempccc, code Str Data1 .Count 1,Numm if tempccc 0 then goto ccc Если нулевая позиция, то не вносить в коллекцию o 0 chr 57 FillChar o 1 ,57, with data do begin Создание строки типа Номер, Наименование, Расфасовка move Numm 1 ,o 2 ,Length Numm move ProductName 1 ,o succ lpnum-1 4 ,Length Data. ProductName move ProductRasf 1 ,o succ lpnum lpname 5 ,Length Data. ProductRasf move ProductNumber 1 ,o 50 , Length Data. ProductNumber end Data1 .Insert NewStr o Помещаю ее в коллекцию строк ccc end 1 Для реализации списка строк в Turbo Vision предусмотрен объект TListBox. Это объект создает специальное окно скроллера с указателем на текущий элемент.

Наименования я поместил в вышеописанную коллекцию строк, указатель на которую передал объекту с помощью метода TListBox. NewList. Var SCR PScrollBar LIST PLitstBox Begin RR.Assign 50,05,51,17 Координаты скроллера Scr New PscrollBar,Init RR Указатель на полосу скроллера Insert Scr Создаем скроллер R.Assign 03,05,50,17 Координаты окна со списком List New PMyListBox,Init R,1,scr Указатель на окно со списком List. NewList Data1 Связывание окна со коллекцией строк Insert list Создаем окно со списком End Диалоговое окно выбора наименований выглядит следующим образом Перейду теперь к описанию процедуры Данные-Сделки.

При выборе соответствующего пункта меню на экране почвляется диалоговое окно выбора периода для просмотра сделок.

В нем нужно ввести нижнюю и верхнюю границы периода.

После ввода при нажатии на кнопку ПОКАЗАТЬ ЗА ПЕРИОД разворачивается окно со списком сделок накладных относящихся к введенному периоду.

Это реализованно следующим образом.

При соэдании коллекции строк с накладными сравниваютя дата сделки, нижняя и верхняя границы периода при помощи написанной прцедуоы DATECOMP из модуля DATES.PAS. Но для того, чтобы накладные распологались по порядку по дате мне пришлось перекрыть метод сортировки коллекции см. модуль SKLSTR.PAS . После того, как создано диалоговое окно, пользователю предоставляется возможность распечатать выбранную накладную, соответствующую накладную по себестоимости и если накладная оплачена, то и приходный кассовый ордер. 2.6.4.5

– Конец работы –

Эта тема принадлежит разделу:

Разработка системы управления работой коммерческой компании

Большую роль играют, также, изменения в организационных формах и характере деятельности фирм, повышение значения транснациональных корпораций в… Изменения условий производственной деятельности, необходимость адекватного… Все это требует от фирм адаптации к новым условиям, преодоления возникающих противоречий в экономическом и…

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Программирование диалоговых запросов

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Постановка задачи
Постановка задачи. Целью данного дипломного проекта является разработка системы управления работой коммерческой компании. Исходя из современных требований, предъявляемых к качеству ра

Информационное обеспечение управления предприятием на современном этапе
Информационное обеспечение управления предприятием на современном этапе. Коренной особенностью современной экономической мысли явилась направленность ее на обеспечение рационального ведения

Значение внутрифирменной системы информации
Значение внутрифирменной системы информации. Для современных условий характерно применение высокоэффективной внутрифирменной системы информации, основанной на использовании новейших техничес

Система ведения записей
Система ведения записей. На основе специальных программ, направленных на облегчение доступа и использования требуемой информации разрабатываются системы введения записей. К важнейшим видам з

Формы как носители информации
Формы как носители информации. Обычно необходимая информация заносится на определенные формы- носители информации. Формы могут содержать информацию по предприятию в целом и по каждому

Локальные вычислительные сети как массовые компьютерные системы
Локальные вычислительные сети как массовые компьютерные системы. Локальные вычислительные сети представляют собой системы распределенной обработки данных и, в отличие от глобальных и региона

Классификация ЛВС
Классификация ЛВС. Сейчас в мире насчитываются десятки тысяч различных ЛВС и для их рассмотрения полезно иметь систему классификации. Установившейся классификации ЛВС пока не существует, одн

Общие принципы функционирования ЛВС типа Ethernet
Общие принципы функционирования ЛВС типа Ethernet. Сети этого типа являются наиболее распространенными. Кроме того, сеть Ethernet фирмы Xerox можно считать родоначальницей всех ЛВС, так как

Выбор операционной системы для оффисной ЛВС
Выбор операционной системы для оффисной ЛВС. Существует много способов связывать персональные компьютеры ПК в единый вычислительный комплекс. Самый простой - соединить их через последователь

Разработка программного обеспечения для системы управления работой коммерческой компании
Разработка программного обеспечения для системы управления работой коммерческой компании. Разработанная в дипломном проекте программа - это прежде всего универсальная программа управления ра

Работа с данными
Работа с данными. МЕНЮ УСТАНОВКИ Включает следующие подменю пароль - служит для защиты системы от лиц, не имеющих разрешения для работы с программой. реквизиты - изменения реквизитов коммерческой к

Средства разработки
Средства разработки. КОМПИЛЯТОР BORLAND PASCAL 7.0 Компилятор Borland Pascal 7.0 позволяет создавать программы, которые могут выполнятся в реальном и защищенном режимах DOS и в среде WINDOWS. Таким

Элементы Turbo Vision
Элементы Turbo Vision. Turbo Vision - это объединение видимых элементов, событий и невидимых объектов. Видимый элемент - это любой элемент программы, который виден на экране, и все эти элеме

Начало создания
Начало создания. Работа большинства прикладных программ проходит в три этапа подготовка к работе, собственно работа и, наконец, ее завершение. В случае с СУРКК к подготовительному этапу можн

Формирование меню и строки статуса
Формирование меню и строки статуса. Теперь нужно создать основные элементы программы - строку меню и строку состояния. Для этого я модифицировал стандартное поведение объекта SKLVKS. Я перекрыл пер

Обработка команд
Обработка команд. Теперь нужно сделать так, чтобы при выборе какого-либо пункта меню выполнялась соответсвующая процедура. При выборе пунктов меню генерирует событие, которое обрабатывается

Архивирование данных
Архивирование данных. Для того, чтобы в списке сделок не появлялись уже не нужные данные я написал подпрограмму для архивирования данных. При выборе команды меню АРХИВ-РАБОТА С АРХИВОМ на эк

Ввод установок
Ввод установок. Для того, чтобы предотвратить использование данной программы лицами не имеющим разрешения ее использование был создана подпрограммы для ввода пароля. Пароль и все установки х

Структура баз данных БД
Структура баз данных БД. Теперь рассмотрю структуру баз данных. Структура не является сложной, однако она может содержать все данные, необходимые для данной системой и связь между разными БД

Безопасность информации в ЛВС
Безопасность информации в ЛВС. Общая характеристика угроз, служб и механизмов безопасности Комплексное рассмотрение вопросов обеспечения безопасности ЛВС нашло свое отражение в так называемой архит

Программные вирусы и вопросы их нейтрализации
Программные вирусы и вопросы их нейтрализации. Под программмным вирусом ПВ понимается автономно функционирующая программа, обладающая способностью к самовключению в тела других программ и последующ

Защита операционных систем и обеспечение безопасности баз данных в ЛВС
Защита операционных систем и обеспечение безопасности баз данных в ЛВС. Как отмечалось в предыдущем параграфе, одним из эффективных направлений противодействия вирусам является повышение вирусозащи

Гражданская оборона
Гражданская оборона. Анализ противопожарной устойчивости сборочного цеха завода по производству радиоэлектронной аппаратуры При планировании функционирования промышленного предприятия, и, в частнос

Охрана труда
Охрана труда. и экология. Системы учета защитных средств В процессе работы здоровью и даже, возможно, жизни людей могут угрожать факторы, вызванные преимущественно неправильной организацией

Экономическая часть
Экономическая часть. Для наиболее эффективного управления работой предприятия необходимо иметь достаточную информацию о положении дел на предприятии и возможность оперативного реагирования на измен

Рецензия
Рецензия. Дипломный проект студента Григорьева И.B. на тему Разработка системы управления работой коммерческой компании посвящен созданию системы программно-аппаратного комплекса по автоматизации д

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги