Разработка автоматизированной системы "Склад"
Задачи и преимущества применения автоматизированных систем, их компоненты. Работа с файлами и сортировка данных. Разработка программы для учета товаров на складе, ее обеспечение и структура. Проектирование интерфейса, содержание инструкции пользователя.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 03.12.2013 |
Размер файла | 928,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
If j + r + m <= n Then Call Sli(A(), j + m, r, m, n) 'Слияние "концов"
Call Sli(A(), j + m, r - m, m, n)
End If
End If
End Sub
Public Sub Bose(A() As Datap, n As Integer)
'сортировка слиянием
Dim m As Integer, j As Integer
m = 1
Do
j = 1 'Цикл слияния списков равного размера:
While j + m <= n
Call Sli(A(), j, m, m, n)
j = j + m + m
Wend
m = m + m 'Удвоение размера списка перед началом нового прохода
Loop Until m >= n 'Конец цикла, реализующего все дерево слияний
End Sub
Главная программа
Option Explicit
Dim BeginStroka As Long 'номер первой строки области вывода
Dim LastStroka As Long 'номер последней строки области вывода
Dim OldIndex As Integer 'номер предыдущей активной записи
Dim IndexForSub As Integer 'номер записи для использования в подпрограммах
Private Sub ReRead()
'обновление сведений о файле данных
Seek #1, 1
Do While Not EOF(1) ' Cчитываем весь файл до конца.
Get #1,, Stroka ' Читаем в цикле каждую запись.
Loop
LastStroka = Seek(1) - 1
Label5.Caption = "Всего записей: " + Str(LastStroka - 1)
ShowRecords
End Sub
Private Sub cmdHelp_Click()
'вывод справки о программе
frmHelp.Show vbModal
End Sub
Private Sub cmdPrintAll_Click()
'вывод таблицы с базой данных
Dim x As Long 'счетчик цикла
frmOut.List1.Clear
frmOut.List1.AddItem ("------------------------------------------------------------")
frmOut.List1.AddItem ("|Код |Название |Количество|Страна |Дата|Срок|")
frmOut.List1.AddItem ("|товара| |на складе |производитель |выработки |годности|")
frmOut.List1.AddItem ("|-----|------------------|-------|-----------|-------|--------|")
For x = 1 To LastStroka - 1
Get #1, x, Stroka
frmOut.List1.AddItem ("|" & Format(Format(Stroka.ID), "@@@@@@") & "|" & _
Format(Stroka.Name, "@@@@@@@@@@@@@@@@@@@@@@@ @@") & "|" & _
Format(Format(Stroka.Kol), "@@@@@@@@@@") & "|" & _
Format(Stroka.Strana, "@@@@@@@@@@@@@@@") & "|" & _
Format(Stroka.DataV, "@@@@@@@@@@") & "|" & _
Format(Format(Stroka.SrokG), "@@@@@@@@") & "|")
Next x
frmOut.Caption = "База данных по товарам (полная)"
frmOut.List1.AddItem ("------------------------------------------------------------")
frmOut.Show vbModal
End Sub
Private Sub cmdQuit_Click()
'выход из программы
Unload Me
End
End Sub
Private Sub cmdSort_Click()
'сортировка по количеству и вывод базы данных
Dim A() As Datap 'массив записей
Dim x As Long 'счетчик цикла
ReDim A(LastStroka)
For x = 1 To LastStroka - 1
Get #1, x, Stroka
A(x) = Stroka
Next x
Call Bose(A(), LastStroka - 1)
frmOut.List1.Clear
frmOut.List1.AddItem ("---------------------------------------------")
frmOut.List1.AddItem ("|Код |Название |Количество|")
frmOut.List1.AddItem ("|товара| |на складе |")
frmOut.List1.AddItem ("|------|-------------------------|----------|")
For x = 1 To LastStroka - 1
frmOut.List1.AddItem ("|" & Format(Format(A(x).ID), "@@@@@@") & "|" & _
Format(A(x).Name, "@@@@@@@@@@@@@@@@@@@@@@@ @@") & "|" & _
Format(Format(A(x).Kol), "@@@@@@@@@@") & "|")
Next x
frmOut.Caption = "База данных по товарам (сортировка по количеству)"
frmOut.List1.AddItem ("---------------------------------------------")
frmOut.Show vbModal
End Sub
Private Sub Form_Load()
'инициализация программы
OldIndex = 0
Open App.Path & "\" & BDFile For Random As #1 Len = Len(Stroka)
Do While Not EOF(1) ' Цикл до конца файла
Get #1,, Stroka ' Читает следующую запись
Loop
LastStroka = Seek(1) - 1
VScroll1.Min = 1
If LastStroka > 10 Then
VScroll1.Max = LastStroka
VScroll1.LargeChange = 10
Else
VScroll1.Max = LastStroka
VScroll1.LargeChange = 1
End If
VScroll1.SmallChange = 1
VScroll1.Value = 1
BeginStroka = VScroll1.Value
ReRead
End Sub
Private Sub ShowRecords()
'показать 10 записей
Dim x As Long 'счетчик цикла
On Error Resume Next
For x = 0 To 9
Get #1, x + BeginStroka, Stroka
Text1(x) = RTrim(Stroka.Name)
Text2(x) = Stroka.Kol
Text3(x) = RTrim(Stroka.Strana)
Text5(x) = Stroka.ID
Text6(x) = RTrim(Stroka.DataV)
Text7(x) = Stroka.SrokG
Command1(x).Caption = "Х"
If Text5(x).Text = 0 Then
Command1(x).Caption = "->"
End If
If LastStroka - BeginStroka < 10 And x + BeginStroka > LastStroka Then
Text1(x).Visible = False
Text2(x).Visible = False
Text3(x).Visible = False
Text5(x).Visible = False
Text6(x).Visible = False
Text7(x).Visible = False
Command1(x).Visible = False
Else
Text1(x).Visible = True
Text2(x).Visible = True
Text3(x).Visible = True
Text5(x).Visible = True
Text6(x).Visible = True
Text7(x).Visible = True
Command1(x).Visible = True
End If
Next x
On Error GoTo 0
End Sub
Private Sub VScroll1_Change()
'изменение линейки прокртки
BeginStroka = VScroll1.Value
ShowRecords
End Sub
Private Sub Text1_GotFocus(Index As Integer)
'приобретение фокуса элементом Text1
IndexForSub = Index
MakeRecord
End Sub
Private Sub Text2_GotFocus(Index As Integer)
'приобретение фокуса элементом Text2
IndexForSub = Index
MakeRecord
End Sub
Private Sub Text3_GotFocus(Index As Integer)
'приобретение фокуса элементом Text3
IndexForSub = Index
MakeRecord
End Sub
Private Sub Text5_GotFocus(Index As Integer)
'приобретение фокуса элементом Text5
IndexForSub = Index
MakeRecord
End Sub
Private Sub Text6_GotFocus(Index As Integer)
'приобретение фокуса элементом Text6
IndexForSub = Index
MakeRecord
End Sub
Private Sub Text7_GotFocus(Index As Integer)
'приобретение фокуса элементом Text7
IndexForSub = Index
MakeRecord
End Sub
Private Sub MakeRecord()
'сохранение записи в файле
Stroka.Name = Text1(OldIndex)
Stroka.Kol = Val(Text2(OldIndex))
Stroka.Strana = Text3(OldIndex)
Stroka.ID = Val(Text5(OldIndex))
Stroka.DataV = Text6(OldIndex)
Stroka.SrokG = Val(Text7(OldIndex))
Command1(OldIndex).Caption = ""
Put #1, OldIndex + BeginStroka, Stroka
OldIndex = IndexForSub
ReRead
End Sub
Private Sub Command1_Click(Index As Integer)
'удаление текущей записи
Dim x As Integer 'счетчик цикла
Dim Z As Integer 'счетчик записей
Open App.Path & "\Copybd.bzd" For Random As #2 Len = Len(Stroka)
For x = 1 To LastStroka - 1
Get #1, x, Stroka
If Index + BeginStroka <> x Then
Z = Z + 1
Put #2, Z, Stroka
End If
Next x
Close
Kill App.Path & "\" & BDFile
Name App.Path & "\Copybd.bzd" As App.Path & "\" & BDFile
Open App.Path & "\" & BDFile For Random As #1 Len = Len(Stroka)
ReRead
End Sub
Private Sub Text1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
'обработка нажатия клавиш на элементе Text1
If KeyCode = 13 Then
IndexForSub = Index
Text2(Index).SetFocus
MakeRecord
End If
End Sub
Private Sub Text2_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
'обработка нажатия клавиш на элементе Text2
If KeyCode = 13 Then
IndexForSub = Index
Text3(Index).SetFocus
MakeRecord
End If
End Sub
Private Sub Text3_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
'обработка нажатия клавиш на элементе Text3
If KeyCode = 13 Then
Text6(Index).SetFocus
IndexForSub = Index
MakeRecord
End If
End Sub
Private Sub Text5_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
'обработка нажатия клавиш на элементе Text5
If KeyCode = 13 Then
Text1(Index).SetFocus
IndexForSub = Index
MakeRecord
End If
End Sub
Private Sub Text6_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
'обработка нажатия клавиш на элементе Text6
If KeyCode = 13 Then
Text7(Index).SetFocus
IndexForSub = Index
MakeRecord
End If
End Sub
Private Sub Text7_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
'обработка нажатия клавиш на элементе Text7
If KeyCode = 13 Then
Text5(Index).SetFocus
IndexForSub = Index
MakeRecord
End If
End Sub
Размещено на Allbest.ru
Подобные документы
Опыт создания автоматизированных информационных систем. Разработка автоматизированной информационной системы для строительного предприятия ООО "СТК Дело". Этапы проектирования базы данных для учета хранения строительных материалов на складе предприятия.
курсовая работа [1,7 M], добавлен 15.03.2015Этапы создания автоматизированной системы учета договоров на предприятии: определение входной и выходной информации, проектирование базы данных методом "сущность-связь" и CASE-средствами, разработка интерфейса, составление руководства пользователя.
курсовая работа [2,5 M], добавлен 15.01.2011Роль оптовой торговли в рыночной экономике. Сортовой и партионный способы учета товаров. Организация бухгалтерского учета и документооборота на предприятии. Разработка базы данных для автоматизации учета переоценки стоимости товаров на оптовом складе.
дипломная работа [2,8 M], добавлен 15.01.2012Изучение процесса автоматизации системы управления складом и отчетами. Проектирование схемы отпуска товара со склада с помощью методологий структурного анализа. Выбор инструментальных средств. Разработка алгоритмов, базы данных и руководства пользователя.
дипломная работа [1,8 M], добавлен 09.11.2016Обзор медицинских информационных систем. Анализ и моделирование автоматизированной системы "Регистратура". Требования к составу и параметрам вычислительной системы. Обоснование выбора системы управления базами данных. Разработка инструкции пользователя.
дипломная работа [1,2 M], добавлен 14.10.2012Понятие информационной системы, виды информационных систем. Анализ инструментальных средств для разработки автоматизированных информационных систем. Требования к программе и программному изделию. Разработка форм графического интерфейса и баз данных.
дипломная работа [1,4 M], добавлен 23.06.2015Проектирование систем обработки данных для заданных объектов управления, автоматизированных систем разного назначения. Разработка автоматизированной системы приема заказов организации. Модель бизнес-процесса. Основные алгоритмы работы программы.
курсовая работа [910,8 K], добавлен 25.05.2015Понятие, законодательное регулирование и виды электронных подписей. Разработка структурной схемы приложения и базы данных. Создание диаграммы прецедентов и классов. Проектирование интерфейса программы. Анализ руководства пользователя web-приложения.
дипломная работа [869,8 K], добавлен 12.08.2017Архитектура автоматизированной информационной системы управления складом. Заказ материалов, подсистема учета материалов бытовой техники на цеховом складе. Внемашинное информационное обеспечение. Выбор инструментальной платформы для реализации системы.
курсовая работа [1,6 M], добавлен 04.12.2014Разработка автоматизированной системы по учету и анализу заказов на товары для предприятия, работающего в сфере торговли товарами для обеспечения безопасности. Разработка удобного для пользователя интерфейса. Реализация многопользовательского доступа.
дипломная работа [1,1 M], добавлен 14.01.2012