Автор работы: Пользователь скрыл имя, 29 Мая 2010 в 18:53, Не определен
база данных на pascal с функциями писка, добавления и т.д.
Подведем итог того, что все-таки удалось в данном курсовом проекте:
Подводя итог можно сказать, что основная цель, на мой взгляд, все-таки выполнена, эти функции показаны и реализованы.
Ко
всему прочему можно с
В
итоге конечная цель все-таки достигнута.
Была создана универсальная БД со всем
набором необходимых функций. Конечно
же, в Turbo Pascal достаточно сложно создавать
БД и БД получаются достаточно примитивные,
но принцип создания БД, описан очень хорошо.
Графическое
описание данных
Подразделы
у каждого раздела
Элемент у каждого подраздела
Схема 1
– Общая схема описания хранения
данных
Представление
данных в памяти ЭВМ
names:string[10]; - 2 байта;
namer:string[10]; - 2 байта;
key:char; - 1 байт;
kr:char; - 1 байт;
tek,i,j,izm:integer; - 2 байта;
exist,vfile,issor:boolean; - 1 байт;
st:array[1..12] of string;
Рисунок
списковой структуры
Формат
выходного документа
Рисунок
1 – Разметка экрана
Рисунок
2 – Просмотр элементов
Рисунок
4 – Добавление товара
Схема
последовательности
обработки данных.
Схема 1
– Общая схема
Схема 2 – Вывод меню
Схема 3 – вывод разделов и подразделов
Вверх
Вниз
Схема 4
– Перемещение по меню
Листинг
программы
Текст
программы Kurs.pas
program Delphins;
uses crt,tips;
var names,namer:string[10];
key,kr:char;
tek,i,j,izm:integer;
exist,vfile,issor:boolean;
nast:pered;
temr,tt1,tt2,tt3,tt4:cc;
outf:file of tabl2;
procedure menus(m:pered;max:byte); {Вывод меню}
begin
clrscr;
For i:=1 to max do begin
if i=1 then begin
textcolor(1); gotoxy(9,2); write(m.st[i]);
end
else begin
if i=2 then textcolor(9)
else textcolor(3);
gotoxy(8,i+3);write(m.st[i]);
end;
end;
end;
procedure krutis; {Звездочка рядом с активным элементом}
begin
textcolor(14);
if kr='/' then kr:='-'
else if kr='-' then kr:='\'
else if kr='\' then kr:='|'
else kr:='/';
gotoxy(6,tek+3);write(kr);
textcolor(3);
end;
procedure ramka(ch:char); {перемещение указателя}
begin
gotoxy(6,tek+3);Writeln(' ');
textcolor(3);gotoxy(8,tek+3);
if ch='+' then tek:=tek+1
else tek:=tek-1;
if tek=1 then tek:=nast.m
else if tek=nast.m+1 then tek:=2;
key:=#0;
textcolor(9);gotoxy(8,tek+3);
krutis;
end;
procedure tabl11(t:integer;rab:cc); {Вывод таблицы в файл}
var ooutf:text;
tem:cc;
begin
clrscr;
writeln('Введите имя файла');
readln(names);
assign(ooutf,names);
rewrite(ooutf);
writeln(ooutf,menu2.st[t]);
writeln(ooutf,'+--------------
writeln(ooutf,'¦',mm[t-1,1]:
writeln(ooutf,'+--------------
tem:=rab;
while tem<>nil do
begin
writeln(ooutf,'¦',tem^.tabl.
'¦',tem^.tabl.t5:14,'¦');
tem:=tem^.sled;
end;
writeln(ooutf,'+--------------
close(ooutf);
nast:=menu1;
menus(nast,nast.m);
tek:=2;
end;
procedure tabl1(t:integer;rab:cc;yd:
var tem:cc;
begin
clrscr;
writeln(menu2.st[t]);
writeln('+--------------------
writeln('¦',mm[t-1,1]:14,'¦',
writeln('+--------------+-----
tem:=rab;
while tem<>nil do
begin
writeln('¦',tem^.tabl.t1:14,'¦
'¦',tem^.tabl.t5:14,'¦');
tem:=tem^.sled;
end;
writeln('+--------------------
if not yd then begin
readln;
nast:=menu1;
menus(nast,nast.m);
tek:=2;
end;
yd:=false;
end;
procedure sort(iz,t:integer; var rab:cc); {Сортировка по полю}
var po:integer;
te1,te2,tem:cc;
str1,str2:string;
ttrtt:tabl2;
begin
tabl1(tek,rab,true);
writeln('Введите номер столбца по которому надо отсортировать данные');
readln(po);
te1:=rab;
while te1<>nil do begin
te2:=te1^.sled;
while te2<>nil do begin
case po of
1:begin str1:=te1^.tabl.t1; str2:=te2^.tabl.t1; end;