Обработка экономической информации средствами языка PascalРефераты >> Кибернетика >> Обработка экономической информации средствами языка Pascal
- процедура вывода таблицы, где w–координата по Х;
var
itog:real; -для вычисления итогового значения сумма в таблице;
Procedure menu;
- процедура вывода меню;
Procedure zast;
- процедура вывода графической заставки
var
xm,ym:integer;
xm,ym-координаты для вывода граф. объектов
size:integer; saucer:pointer;
k,kk:integer;
size,saucer,k,kk-для движения
Procedure error;
- процедура вывода сообщения об ошибке
Procedure exitt;
- процедура выхода из программы
5.5 Описание программы
При запуски программы идет подключение дополнительных модулей Crt и Graph:
uses crt, graph;
Описание переменных (см. пункт 5.4)
Описание процедур:
Процедура вывода таблицы на экран - view:
Установка текстового окна на экране для вывода шапки с координатами левого верхнего угла -1,1 и правого нижнего – 80,6
window(1,1,80,6);
Установка цвета фона и символов
textbackground(5);textcolor(15);
Печать названия таблицы
gotoxy(w,1);write('Реализация продукции за год');
textcolor(9);gotoxy(w-16,2);textbackground(0);
write('--------------------------------------------------------------');
Установка цвета символов и печать шапки таблицы
textcolor(15);
gotoxy(w-15,4);write('N');
gotoxy(w-13,3);write('Переходящий остаток');
gotoxy(w-10,4);write('продукции на ');
gotoxy(w-10,5);write('начало года');
gotoxy(w+9,3);write('Приход');
gotoxy(w+8,4);write('продукции');
gotoxy(w+11,5);write('шт');
gotoxy(w+18,4);write('Расход');
gotoxy(W+20,5);write('шт');
gotoxy(w+26,4);write('Цена за');
gotoxy(w+27,5);write('1 шт');
gotoxy(w+35,4);write('Остаток на');
gotoxy(w+35,5);writeln('конец года');
textcolor(9); gotoxy(w-16,6);
write('--------------------------------------------------------------');
Установка цвета символов и текстового экрана для вывода данных таблицы
textcolor(15);
window(1,7,80,25);
Подготовка файла к чтению
reset(f);
Установка координаты y, необходимой для вывода данных таблицы и обнуление итогового значения таблицы.
ww:=1; itog:=0;
Вывод основных данных таблицы
repeat
writeln; read(f,a);
st:=((a.e1+a.e2)-a.e3)*a.e4;
itog:=itog+st;
textcolor(13);
gotoxy(w-15,ww);write(a.n);
textcolor(15);
gotoxy(w-5,ww);write(a.e1);
gotoxy(w+11,ww);write(a.e2);
gotoxy(w+20,ww);write(a.e3);
gotoxy(w+29,ww);write(a.e4:4:2);
gotoxy(w+37,ww);write(st:4:2);
ww:=ww+1;
Проверка для вывода очередной строки на экран. Необходимо в том случае, когда число записей превышает число строк на мониторе.
if ww>=19 then
begin
if (ww=19) then
begin
writeln;
write('Для просмотра используйте клавишу <space>');
write(' Для продолжения -<any key>');
c:=readkey;
delline;
if c=#32 then ww:=ww-1 else break;
end;
end;
Вывод данных в таблицу пока не конец файла
until eof(f);
Установка цвета символа и вывод линии на экран
textcolor(9); gotoxy(w-16,ww);
write('--------------------------------------------------------------');
Вывод итогового значения
textcolor(9);gotoxy(w+7,ww);
write('¦'); textbackground(5);
textcolor(10);write('Итого:',itog:4:2);
textbackground(0); textcolor(9);
write('+'); writeln;
Завершение процедуры вывода таблицы
end;
Процедура вывода основного меню – menu:
Очистка экрана и установка стандартного текстового режима
clrscr; textmode(Co80);
Установка текстового окна на экране с координатами левого верхнего угла -13,3 и правого нижнего – 70,15
window(13,3,70,15);
Установка цвета фона и символов
textbackground(14);textcolor(15);
Перемещение указателя и печать сообщения
gotoxy(1,3); write('Для дальнейшей работы с программой выберите номерок:');
Установка цвета фона
textbackground(0);
Печать пунктов меню, устанавливая цвет для цифр меню и свой цвет для названия пункта меню
gotoxy(16,5); textcolor(10); write('1'); textcolor(7); write(' - Просмотр');
gotoxy(16,6); textcolor(10); write('2'); textcolor(7); write(' - Cоздать');
gotoxy(16,7); textcolor(10); write('3'); textcolor(7); write(' - Добавить');
gotoxy(16,8); textcolor(10); write('4'); textcolor(7); write(' - Удалить');
gotoxy(16,9); textcolor(10); write('5'); textcolor(7); write(' -Редактировать');
gotoxy(16,10);textcolor(10); write('6'); textcolor(7); write(' - Заставка');
gotoxy(16,11);textcolor(10); write('7'); textcolor(7); write(' - Выход');
gotoxy(16,13); write('Введите номер:');
Установка цвета символа и его мерцание
textcolor(10+128);
Ввод переменной l, необходимой для дальнейшей работы программы и установка стандартного текстового режима
readln(l); textmode(Co80);
Конец процедура вывода главного меню
end;
Процедура вывода заставки – zast:
Очистка экрана
clrscr;
Установка белого цвета символов
textcolor(white);
Вывод сообщения: «Показать заставку?»
Write(‘Показать заставку? (y/n)’);
Считывание нажатия клавиши.
c:=readkey
При нажатие клавиши <y> - выполняется дальнейший ход процедуры:
Инициализация графики
initgraph(gd,gm,'bgi')
Установка координат xm, ym для вывода графических объектов
xm:=getmaxx div 4; ym:=getmaxy div 4;
Установка текущего шрифта, стиля и размера текста
settextstyle(2,0,5)
Вывод текста на экран, используя координаты x=xm+100,y=10
outtextxy(xm+100,10,'## Sergei Kovbasyuk ##');
Вычесление числа байт, необходимого для сохранения прямоугольной области экрана
size:=imagesize (xm+100,10,xm+275,10+20);
Создание динамической переменной
getmem(saucer,size);
Сохранение в переменной битовый образ указанной части экрана.
getimage(xm+100,10,xm+275,10+20,saucer^);
Вывод битового образа на экран
putimage(xm+100,10,saucer^,xorput);
Обнуление переменных, требуемых для вывода на экран битового изображения, используя при этом оператор цикла REPEAT…UNTIL и цикл FOR.
k:=0; kk:=0; i:=0; n:=0;
Цикла REPEAT…UNTIL
repeat
Установка текущего шрифта, стиля и размера текста
settextstyle(10,0,5);
Установка текущего цвета шрифта
setcolor(i+1);
Вывод текста на экран
outtextxy((getmaxx div 5),(getmaxy div 4),'"Sorge pro"');
Установка текущего шрифта, стиля, размера текста.
settextstyle(5,0,5); setcolor(15);
Вывод текста на экран
outtextxy((getmaxx-200),(getmaxy-250),'present');
Установка текущего шрифта, стиля, размера текста.
settextstyle(3,0,1);
Вывод текста на экран
outtextxy(40,(getmaxy-50),'http://sorgepro.agava.ru');
outtextxy(290,(getmaxy-50),'e-mail: office@sorgepro.agava.ru');
Установка текущего шрифта, стиля, размера текста.