Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Исправить код Pascal

30K
21 декабря 2008 года
Kraken
17 / / 03.05.2008
На зачёт дали задание - Разработка пользовательского интерфейса
базового графического пакета.
Дан код с кучей ошибок помогите пожалуйста исправить.

Program_Interface;
{ Реализация интерфейса пользователя } USES Graph,CRT;
CONST ох=320; oy=190;
TYPE TWord=array[1..7] ofString[30];
TBukva=array[1..22,1..2] ofReal;
VAR Ch:Char;
x,y,x1,n,I,j:Integer, sx,sy,sz:Real;
w,w1:TWord:, k:TBukva;
Procedure IGraph;
{Инициируем графику }
Var D,R,Err,k:Integer;
Begin
D:=Detect;
InitGraph(D,R,'\tp7\bgi');
ErrGraphResult;
IfErr<>0

Then Begin
WriteLn(GraphErrorMsg(Err));
Halt
End;
End;
Procedure Frame(xl ,yl ,x2,y2,Color:Integer);
{ Рамка }
Begin
SetColor(Color);
Rectangle(x1,y1,x2,y2);
Rectangle(x1+3,y1+3,x2-3,y2-3);
End;
Procedure Spindles;
{ Оси координат }
Var x,y:Word;
Begin
SetColor(LightMagenta);
{ Ось ординат }
y:=15;
Line(ox,y,ox,y+340);
Line(ox,y,ox+2,y+12);
Line(ox,y,ox-2,y+12);
For i:=3 to 35 do
Line(ox-2,i*10,ox+2,i*10);
OutTextXY(ox+5,y+3,’Y’);
{ Ось абцисс }
Line(65,oy,570,oy);
Line(ox+250,oy,ox+250-12,oy+2);
Line(ox+250,oy,ox+250-12,oy-2);
For i:=7 to 55 do
Line(i*10,oy-2,i*10,oy+2);
OutTextXY(ox+242,oy+5;`X');
{ Начало координат }
OutTextXY(309,179,'0');
End;
Procedure Bukva(k:TBukva);
{ Вывод объекта }
Var j:Ihteger,
Begin
setcolor(LightGreen);
For i:=l to 11 do
Begin
j-i+1;
If i=11 Then j:=l;
line(round(ox+10*k[i,l]),round(oy-10*k[i,2]),
round(ox+10*k[j, 1] ), round(oy-10*k[j,2]));
End;
End;

Procedure Menu_l;
Begin
SetColor(Yellow);
w[1]:=’Ввод графического объекта';
w[2] :='Выбор типа преобразования';
w[3] :='Проецирование';
w[4]:='Выход из программы';
For i:=l to 4 do
OutTextXY(20,375+12*i,w);
End;
Procedure Menu 2;
Begin
SetColor(Yellow);
wl [1] :='Масштабирование';
wl [2]: =’Отражение';
wl[3]:='Сдвиг';
wl [4] :=’Поворот';
wl [5] :='0тсечение';
wl[6]:='Удаление невидимых линий';
wl[7]:=='Выход из подменю';
For i:=l to 7 do
OutTextXY(250,375+12*i,wl);
End;
Procedure Select(Var k:TBukva);
Var n:Integer;
Begin
n:=l;
xl:=250;y:=375;
Repeat
Menu_2;
SetColor(LightBlue);
OutTextXY(xl,y+12*n,wl[n]);
Ch:=ReadKey;
Case Ch of
#80:Begin { Смещение вниз }
SetColor(Yellow);
OutTextXY(xl,y^l2*n,wl[n]);
If n=7 Tnen n:=l Else n:==n+l;
End;
#72:Begin { Смещение вверх }
SetColor(Yellow);
OutTextXY(xl,y+-12*n,wl[n]);
If n=l Then n:=7 Else n:==n-l;
End;
#13:Case n of
1 :Begin
{Scale(k);}
End;
2 :Begin
{Reflection(k);}
End;
3:Begin
(Transfer(k);}
End;
4:Begin
{Rotation(k);}
End;
5 :Begin
{Severance(k)}
End;
6:Begin
{Delete(k)}
End;
End; {Case2}
End; {Casel}
Until Ch= #13;
ClearDevice;
Frame(5,5,635,365,Green);
Spindles;
Frame(5,375,635,475,Yellow);
Bukva(k);
End;
BEGIN { Основная программа}
IGraph;
TextColor(White);
Frame(5,5,635,365,Green);
Spindles;
Frame(5,375,635,475,Yellow);
n:=l;
x:=20 ;y:=375;
Repeat
Menu_l;
SetColor(LightRed);
OutTextXY(x,y+-l 2*n,w[n]);
Ch:=ReadKey,
Case Ch of
#80:Begin { Смещение вниз }
SetColor(Yellow);
OutTextXY(x,y+12*n,w[n]);
If n==4 Тhen n:=l Else n:=n+l;
End;
#72:Begin { Смещение вверх }
SetColor(Yellow);
OulTextXY(x,y+l 2*n,w[n]);
If n=l Then n:= 4 Else n:==n-l;
End;
#13:Begin
Case n of
1 :Begin
SetColor(White);
OutTextXY(40,293,'X=');
GotoXY(10,19);
Read(sx);
OutTextXY(40,309,'Y =');
GotoXY(10,20);
Read(sy);
OutTextXY(40,325.'Z =');
GotoXY(10,21);
Read(sz);
k[l,l]:=sx, k[1,2]:=sy;
k[2,l]:=sx+2; k[2,2]:=sy;
k[3,l]:=sx+2; k[3,2]:-sy+3;
k[4,l]:=sx+3; k[4,2]:=sy;
k[5,l]:=sx+5; k[5,2]:=sy;
k[6,l]:=sx+3; k[6,2]:=sy+4;
k[7,l]:=sx+5; k[7,2]:=sy+8;
k[8,1]:=sх+З; k[8,2]:=sy+8;
k[9,l]:=sx+2; k[9,2]:=sy+5;
k[10,l]:=sx+2; k[10,2]:=sy+8;
k[11,l]:=sx; k[11,2]:=sy+8;
End;
2:Select(k);
3:Begin
End;
4:Begin
CloseGraph;
Halt;
End;
End; {Case2}
ClearDevice;
Frame(5,5,635,365 .Green);
Spindles;
Frame(5,375,635,475,Yellow);
Bukva(k);
End;
End; {Casel}
Until Ch = #27;
END.


цель работы : Разработка пользовательского интерфейса базового графического пакета, содержащего следующие типовые элементы:
&#61485; окно визуализации геометрического объекта с обозначенной системой координат, расположенной в центре окна;
&#61485; окно диалога, в котором перечислены функции базового графического пакета и предусмотрен ввод заданного геометрического объекта;
&#61485; поле справки, поясняющей правила работы с базовым графическим пакетом.



Очень нужна помощь.

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог