АРМ для работы со складом - (реферат)
Дата добавления: март 2006г.
Автоматическое рабочее место для работы со складом ВВедение.
Данная программа автоматизированного рабочего места разработана для работников складских помещений, естественно если у них имеется компьютер классом не ниже Pentium. Сейчас на рынке программного обеспечения появляются все больше и больше различных программ для работы не только со складом, но и различные другие программные средства автоматизированного рабочего места, но стоимость их лицензионных копий доходит порой до нескольких десятков тысяч, а моя программа может быть конечно маленько еще “сыровата”, но в процессе работы с нею её можно “довести ее до ума” и все это лишь за пятерку по программированию цена не велика за произведение программного искусства. Каковы её плюсы: ну это естественно простота и понятность (для русского человека) интерфейса программы, что не требует дополнительного обучения или прохождения специальных курсов, особенно для женщин, работающих на складах и не посвященных в азы компьютеров и программного обеспечения; не требовательность к системным ресурсам машины; легкость ввода и отслеживания; простота резервирования базы данных (всего 1 файл), что не маловажно для такой программы. При написании и разработке курсового проекта я научился работать с Borland Pascal, Microsoft Windows 95OSR2, Microsoft Word 97 SR-2 которые использовались для работы над курсовым проектом, научился использовать справку и другие функции Borland Pascal при этом даже разобрался с английским языком и использованием электронных словарей переводчиков таких как Promt, Stylus, Magic Gooddy 98. Огромное спасибо Волкову А. И. – за отличное преподавание предметов, Billу Gaits – за то что он умеет зарабатывать деньги собственным умом, Мерзлякову Д. С. – за поддержку в трудную минуту, Барышеву А. А. – за техническую поддержку, Русских А. И. – за программную поддержку, Казакову В. С. –за разрешение работать на компьютере, Sting, Queen, и другим за хорошую музыку во время работы над курсовым.
Задание.
Составить программу автоматического рабочего места для работы со складом. Программа должна предоставлять пользователю возможность:
Вводить новый товар, указывая следующие параметры Наименование; Количество; Цену; Дату поступления.
Осуществлять поиск товара по наименованию и выдавать его параметры. Помечать выбывший товар, указывая дату выдачи. Выводить список имеющегося товара с возможностью сортировки по любому параметру. Выводить список выбывшего товара с возможностью сортировки по любому параметру. Выдавать общую статистическую характеристику:
Общая стоимость имеющегося товара; Количество имеющегося товара; Количество выбывшего товара. Сохранять и восстанавливать всю информацию АРМ с диска. Описание переменных. basskl – основная запись с необходимыми переменными это: naim – наименование товара; kol – количество товара; price – цена товара; kol_p – количество пришедшего товара; kol_r – количество товара который ушел; date_p – дата прихода товара; date_r – дата расхода товара. f – file базы слада; list – массив данных базы; schet – cчетчик; curs – показатель позиции; stran – счетчик позиции курсора; i – переменная использования; mcurs – переменная начальной позиции меню; k –переменная определения клавиши; res –переменная выбора меню; da – переменная использования; er – переменная ошибки преобразования; tx – переменная текста при поиске; fil – переменная имени базы; key – флажок; seter – переменная использования.
Кроме переменных в программе используются процедуры и функции описание которых приведено ниже;
Функция probel;
Используется для дополнения текста требуемыми количествами пробелов. Вход: Текст, требуемая длина.
Выход: Текст требуемой длины. Функция Edtext;
Используется для вывода на экран в нужную позицию текста и его последующего редактирования
Функция работает следующим образом:
Зацикливается до тех пор пока не будет нажатия Enter или Esc. В это время выводит на экран текст в нужную позицию, обновляется , ожидает нажатия клавиш или delete.
Вход: Координаты, текст, длина текста, флажок. Выход: Вывод на экран текста, отредактированный текст. Функция Cifri;
Подобна функции Edtext только ввод текста ограничен цифрами. Работает также.
Процедура Prishlo;
Применяется для вывода на экран меню “Приход” и занесения данных в позицию базы. Описание работы: Работает со строкой массива базы. Выводит на экран меню “Приход”, преобразует текстовые переменные после ввода в строки меню.
Процедура Ushlo;
Аналогична процедуре Prishlo . Заменена только формула вычисления количества.
Процедура Vvodnov;
Процедура обеспечивающая вывод на экран меню “Новый товар”, ввод новой строки в базу. Работает: Ограничивается строкой, для работы с переменными записи, выводит на экран меню, пользователем редактируются строки меню, преобразуются, увеличивается счетчик числа строк базы на 1.
Процедура Edzapic;
Используется для редактирования записи в текущей позиции курсора листинга перечня товаров.
Вход: Позиция Выход: отредактированный текст в данной позиции. Процедура Ekran;
Отображает на экране заголовок таблицы базы и заполняет таблицу, рассчитывает и отображает на экране нижнюю строку состояния базы общую сумму, общий приход, общий расход, общее количество товаров. Описание: Формирует окно для работы, отображает заголовок таблицы, цикл для вывода первых двадцати строк базы в окно, обнуление счетчиков сумм, цикл на все позиции базы, расчет сумм в этом цикле вывод результата на экран в виде строки состояния.
Функция Vivstr; Формирует строку по позиции в базе.
Обнуляется. Работает со строкой в массиве базы. Производит преобразование в стринговые переменные числовых значений базы (количества цены, приход, расход), сумма формируется путем вычисления. Добавление нужными пробелами функциейProbel.
Процедура Vivlist;
Обеспечивает формирование экрана с помощью процедуры Ekran, вывод поясняющей строки. Подкрашивание строки в позиции курсора, опрос клавиш курсора и служебных (для ввода новой, корректировки, удаления). Работает следующим образом: Выполняет процедуруEkran, прорисовывает строку пояснения, цикл пока не нажата клавиша “влево”, “вправо”, “Enter”, “Esc”–опрашивает клавиатуру с помощью функции “Readkey” если нажата “Вниз” или “Вверх” уменьшаетя или увеличивается соответственно текущий счетчик позиций меню
Функция Vstroca; Функция организует главное меню в верхней строке экрана.
Устанавливает параметры цвета, выводит на экран массив с переменными меню т. е. названиями меню. Опрашивает клавиатуру на нажатие клавиши “Влево”, “Вправо”, “Enter” выполняет соответствующие этим клавишам команды. Затем если было нажато “Esc” функция принимает значение меньшее 1 и затем в головной программе происходит выход.
Процедура Sortirovka; Сортирует данные по заданной колонке.
Организуется цикл на все позиции массива базы. База переносит данные в стороннюю базу. Выбирает столбец сортировки сравнивает со сторонней базой если больше то переносит в стороннюю базу запоминает позицию. В конце цикла переставляет позиции основной базы.
Описание алгоритма работы программы.
Очищается экран выводится меню для указания месторасположения и названия файла базы по умолчанию это “С: \base. dat” затем проверяется создан ли файл если нет то создается. Организуется цикл до конца файла переписываются данные в массив базы. Обнуляются переменные. организуется меню по данным функцииVstroka затем происходи выбор с помощью оператора Case по которому осуществляются переходы. В случае “1” прихода функцииVstrokaвыводится листинг данных базы и заголовков, организация движения курсора по строкам базы при помощи процедурыVivlist. В случае результата “2” формируется окно с тенью “Пришло”, заполняется окно с помощью процедурыPrishlo по текущей позиции курсора экрана и листинга. “3” формируется окно “Расход”, заполняется с помощью процедуры Ushlo. “4” организуется окно “Найти наименование” вводится текст с помощью функции Edtext. сравнивается с наименованиями базы если находит устанавливает курсор на это место. Если не находит выводит сообщение и устанавливает на конечную позицию. “5” Окно сортировки. Выполняется процедураSortirovka. При других значениях функции Vstroca происходит запись файла базы, закрытие файла.
Алгоритм программы. IV. Текст программы. Program kursovoi; uses crt; type basskl = record naim: string[40]; kol: integer; price: single; kol_p: integer; date_p: string[8]; kol_r: integer; date_r: string[8]; end; var f: file of basskl; List: array[0...255] of basskl; Schet: Integer; curs, stran, i, mcurs: integer; k: char; Res, da, er, seter: Integer; Tx, files: String; key: boolean; const mnu: array[1...6] of string[13]=( ' Ввод ', ' Приход ', ' Расход ', ' Найти ', ' Сортировка ', ' Выход '); function Probel(Text: String; Len: Integer): String; begin While length(Text) Probel: =copy(Text, 1, len) end;
function Edtext(x, y: Integer; Text: String; Len: Integer; var key: boolean): String; var c: char;
begin key: =true; Edtext: =''; repeat gotoxy(x, y); write(Text); write(Probel('', len)); gotoxy(x, y); write(Text); c: =Readkey; if c=#8 then delete(Text, length(Text), 1);
if c in ['A'...'z', ' ', '. ', '0'...'9', 'А'...'я', '-'] then Text: =Text+c; Text: =copy(Text, 1, len);
until (c=#27) or (c=#13); if c=#13 then Edtext: =Text else key: =false; end;
function Cifri(x, y: Integer; Text: String; Len: Integer; var key: boolean): String; var c: char;
begin key: =true; Cifri: =''; repeat gotoxy(x, y); write(Text); write(Probel('', len)); gotoxy(x, y); write(Text); c: =Readkey; if c=#8 then delete(Text, length(Text), 1); if c in ['. ', '0'...'9', '-'] then Text: =Text+c; Text: =copy(Text, 1, len); until (c=#27) or (c=#13); if c=#13 then Cifri: =Text else key: =false; end; procedure Prishlo(posiz: integer); var Tx: String; er: integer; key: Boolean; kl: integer; begin clrscr; With List[Posiz] do begin writeln(' Приход'); writeln(' Количество ->'); writeln(' Дата прихода ДД. ММ. ГГ->');
val(Cifri(25, 2, '', 6, key), kl, er); if NOT key then exit;
kol_p: =kol_p+kl; kol: =kol+kl; Date_p: =Cifri(25, 3, '', 8, key); if NOT key then exit; end; end; procedure Ushlo(posiz: integer); var er: integer; key: Boolean; kl: integer; begin clrscr; With List[Posiz] do begin writeln(' Расход'); writeln(' Количество ->'); writeln(' Дата расхода ДД. ММ. ГГ->');
Страницы: 1, 2
|