Алгоритмизация и программирование процессов обработки данных в среде СУБД типа Fox
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
?о действие Добавление новых данных
Do AddFd
EndCase
Case L1=2
Do Case
Case L2=1&& Выбрано задание №1 из курсового проекта
Do Zad1
Case L2=2 && Выбрано задание №2 из курсового проекта
Do Zad2
Case L2=3 && Выбрано задание №3 из курсового проекта
Do Zad3
EndCase
Case L1=3
Do Case
Case L2=1 && Выбран пункт Выход в Fox
Return
Case L2=2&& Выбран пункт Выход из Fox
Quit
EndCase
EndCase
EndDo
EndDo
- Создание файла данных
* Командный файл CreateFd - создание нового файла данных
set Talk off
set Status off
set Escape off
Clear
Zag=Процесс создания нового файла данных
@ 4,22 to 4,58 Color u/w*
@ 3,22 Say Zag Color u/w*
@ 12,0
Accept Укажите имя создаваемого файла данных: to NameFd
If Len(NameFd) > 0&& Если имя файла не ввели, то делать нечего
* Изменение заголовка
Zag=Zag + : + NameFd + .dbf
LenZag=Int(Len(Zag))
@ 4,Int((80-lenZag)/2) to 4,Int((80-lenZag)/2)+LenZag Color u/w*
@ 3,Int((80-LenZag)/2) Say Zag Color u/w*
@ 14,0
Text
Хотите автоматически создать пустую структуру
с указанным именем, по заданию курсового проекта (Д/Н)?
EndText
* Ответ на поставленный вопрос
Do While .T.
@ 16,57
Wait to ABC&& Ожидание нажатия клавиши
If ABC=н Or ABC=д
ABC=Chr(Asc(ABC)-32)&& Смена регистра
EndIf
If ABC=Н Or ABC=Д
Exit
EndIf
EndDo
* Создание ФД
If ABC=Д && Автоматическое создание ФД
Create Table &NameFd ;
(KodOrg N(3,0), VidProd C(20), Volum N(4,0), Price N(6,2))
@ 8,0
set Talk on
Display Structure&& Вывод созданной структуры
set Talk off
Else&& Создание ФД с возможностью заполнения полей
Create &NameFd
EndIf
EndIf
* Конец работы
@ 24,0
Wait Для возврата в меню нажмите любую клавишу ...
@ 24,0 Clear
Return
- Чтение файла данных
* Командный файл ReadFd - чтение файла данных
set Talk off
set Status off
set Escape off
Clear
@ 4,27 to 4,54 Color u/w*
@ 3,27 Say Процесс чтения файла данных Color u/w*
@ 12,0
Accept Введите имя считываемого файла данных: to NameFd
If Len(NameFd) >0&& Если имя файла не ввели, то делать нечего
* Изменение заголовка
@ 3,0 Clear to 5,79
Zag=Содержимое файла данных: + NameFd + .dbf
LenZag=Int(Len(Zag))
@ 4,Int((80-lenZag)/2) to 4,Int((80-lenZag)/2)+LenZag Color u/w*
@ 3,Int((80-LenZag)/2) Say Zag Color u/w*
* Вывод содержимого файла
Use &NameFd
Do While .Not.EOF()&& Цикл вывода порций записей ФД
&& В определенную область экрана
@ 7,0
Display Next 15
If EOF()=.F.&& В последнем цикле не нужно переводить
&& указатель и держать паузу
Skip&& Перевод указателя, чтобы новый экран не начинался
&& с последней записи предыдущего экрана
@ 24,0
Wait Нажмите любую клавишу для просмотра следующих 15 записей ...
EndIf
EndDo
Close DataBases && Закрытие ФД
EndIf
* Конец работы
@ 24,0
Wait Для возврата в меню нажмите любую клавишу ...
@ 24,0 Clear
Return
- Добавление данных в файл данных
* Командный файл AddFd - добавление файла данных
set Talk off
set Status off
set Escape off
Clear
@ 4,25 to 4,56 Color u/w*
@ 3,25 Say Процесс добавления файла данных Color u/w*
@ 12,0
Accept Введите имя файла данных для добавления данных: to NameFd
If Len(NameFd) >0&& Если имя файла не ввели, то делать нечего
* Изменение заголовка
@ 3,0 Clear
Zag=Добавление данных в файл данных: + NameFd + .dbf
LenZag=Int(Len(Zag))
@ 4,Int((80-lenZag)/2) to 4,Int((80-lenZag)/2)+LenZag Color u/w*
@ 3,Int((80-LenZag)/2) Say Zag Color u/w*
* Добавление данных в ФД
Use &NameFd
Append
Close DataBases && Закрытие ФД
EndIf
* Конец работы
@ 24,0
Wait Для возврата в меню нажмите любую клавишу ...
@ 24,0 Clear
Return
- Печать сведений о суммарной стоимости продукции заданного вида по каждому предприятию и о среднем выпуске этой продукции одним предприятием.
* Командный файл Zad1 - печать сведений о заданной продукции
set Talk off
set Status off
set Escape off
Clear
@ 4,18 to 4,62 Color u/w*
@ 3,18 Say Процесс печати сведений о заданной продукции Color u/w*
@ 12,0
Accept Введите имя файла данных: to NameFd
@ 12,0 Clear
@ 12,0
Accept Введите вид продукции: to TypeProd
If Len(NameFd) >0And Len(TypeProd) > 0&& Если имя файла или
&& вид продукции не ввели,
&& то делать нечего
* Изменение заголовка
@ 3,0 Clear
Zag=Сведения о продукции: + TypeProd
LenZag=Int(Len(Zag))
@ 4,Int((80-lenZag)/2) to 4,Int((80-lenZag)/2)+LenZag Color u/w*
@ 3,Int((80-LenZag)/2) Say Zag Color u/w*
Use &NameFd
* Формирование шапки
L=+-----------------+---------------+--------+-----------+
@ 7,12 Say L
@ 8,12 Say | Код предприятия | Объем выпуска | Цена | Стоимость |
@ 9,12 Say L
Row=10&& Текущий номер строки для вывода данных
Do While .Not.EOF()
If VidProd=TypeProd
* Формирование строки
@ Row,12 Say |
@ Row,20 Say KodOrg
@ Row,30 Say |
@ Row,36 Say Volum Picture # ###
@ Row,46 Say |
@ Row,48 Say Price Picture ###.##
@ Row,55 Say |
@ Row,57 Say Volum*Price Picture ## ###.##
@ Row,67 Say |
Row=Row+1
EndIf
Skip
EndDo
* Формирование итоговой части таблицы
@ Row,12 Say L
Row=Row+1
* Расчет суммарной стоимости
Sum Volum*Price For VidProd=TypeProd to AllPrice
* Расчет среднего выпуска
Average Volum For VidProd=TypeProd to AvVol
@ Row,29 Say Общая суммарная стоимость:
@ Row,56 Say AllPrice Picture ### ###.##
@ Row+1,21 Say Средний выпуск одним предприятием:
@ Row+1,58 Say AvVol Picture # ###
Close DataBases && Закрытие ФД
EndIf
* Конец работы
@ 24,0
Wait Для возврата в меню нажмите любую клавишу ...
@ 24,0 Clear
Return