Miért nem megy az alábbi program pascalban?
"Can't find unit graph used by program"
Ezt irja ki futtatáskor free pascalban, pedig meg van a graph unit nem tudom mi baja lehet akkor.Borland pascalban még hibát se ír ki csak lefagy.
uses graph,crt;
type pont=record
x,y:integer;
end;
var gd,gm,x,y,i,j,lx,ly,sz,n:integer;
k:real;
a:array [1..4,1..4] of pont;
t:array [1..4,1..4] of integer;
c:char; o:string;
procedure szam(x,y,sz:integer);
var s:string;
x1,y1:integer;
begin
str(sz,s);
x1:=(y-1)*lx;
y1:=(x-1)*ly;
x1:=x1+lx div 2;
y1:=y1+ly div 2;
settextstyle(0,0,4);
settextjustify(1,1);
outtextxy(x1,y1,s);
end;
procedure foatlo;
var i,j:byte;
begin
for i:=1 to 4 do
for j:=1 to 4 do
if i=j then begin setfillstyle(1,12);
bar(a[i,j].x,a[i,j].y, a[i,j].x+lx,a[i,j].y+ly);
setcolor(white);
str(t[i,j],o);
settextstyle(0,0,4);
settextjustify(1,1);
outtextxy(a[i,j].x+lx div 2,a[i,j].y+ly div 2,o)
end;
end;
procedure mellekatlo;
var i,j:byte;
begin
for i:=1 to 4 do
for j:=1 to 4 do
if i+j=4+1 then begin szam(a[i,j].x,a[i,j].y,t[i,j]);
setfillstyle(1,10);
bar(a[i,j].x,a[i,j].y, a[i,j].x+lx,a[i,j].y+ly);
setcolor(white);
str(t[i,j],o);
settextstyle(0,0,4);
settextjustify(1,1);
outtextxy(a[i,j].x+lx div 2,a[i,j].y+ly div 2,o)
end;
end;
procedure foatloalattielemek;
var i,j:byte;
begin
for i:=1 to 4 do
for j:=1 to 4 do
if i>j then begin szam(a[i,j].x,a[i,j].y,t[i,j]);
setfillstyle(1,6);
bar(a[i,j].x,a[i,j].y, a[i,j].x+lx,a[i,j].y+ly);
setcolor(white);
str(t[i,j],o);
settextstyle(0,0,4);
settextjustify(1,1);
outtextxy(a[i,j].x+lx div 2,a[i,j].y+ly div 2,o)
end;
end;
procedure foatlofelettielemek;
var i,j:byte;
begin
for i:=1 to 4 do
for j:=1 to 4 do
if i<j then begin szam(a[i,j].x,a[i,j].y,t[i,j]);
setfillstyle(1,8);
bar(a[i,j].x,a[i,j].y, a[i,j].x+lx,a[i,j].y+ly);
setcolor(white);
str(t[i,j],o);
settextstyle(0,0,4);
settextjustify(1,1);
outtextxy(a[i,j].x+lx div 2,a[i,j].y+ly div 2,o)
end;
end;
procedure mellekatloalattielemek;
var i,j:byte;
begin
for i:=1 to 4 do
for j:=1 to 4 do
if i+j>4+1 then begin szam(a[i,j].x,a[i,j].y,t[i,j]);
setfillstyle(1,blue);
bar(a[i,j].x,a[i,j].y, a[i,j].x+lx,a[i,j].y+ly);
setcolor(white);
str(t[i,j],o);
settextstyle(0,0,4);
settextjustify(1,1);
outtextxy(a[i,j].x+lx div 2,a[i,j].y+ly div 2,o)
end;
end;
procedure mellekatlofelettielemek;
var i,j:byte;
begin
for i:=1 to 4 do
for j:=1 to 4 do
if i+j<4+1 then begin szam(a[i,j].x,a[i,j].y,t[i,j]);
setfillstyle(1,9);
bar(a[i,j].x,a[i,j].y, a[i,j].x+lx,a[i,j].y+ly);
setcolor(white);
str(t[i,j],o);
settextstyle(0,0,4);
settextjustify(1,1);
outtextxy(a[i,j].x+lx div 2,a[i,j].y+ly div 2,o)
end;
end;
procedure tablarajz;
begin
{tabla}
lx:=getmaxx div 6;
ly:=getmaxy div 6;
setlinestyle(0,0,3);
for i:=1 to 4 do begin
y:=(i-1)*ly;
for j:=1 to 4 do begin
x:=(j-1)*lx;
a[i,j].x:=x;
a[i,j].y:=y;
end;
end;
for i:=1 to 4 do
for j:=1 to 4 do
rectangle(a[i,j].x,a[i,j].y, a[i,j].x+lx,a[i,j].y+ly);
{szamok}
for i:=1 to 4 do
for j:=1 to 4 do begin
t[i,j]:=random(100);
szam(i,j,t[i,j]);
end;
end;
Procedure magyarazat;
begin
settextstyle(0,0,2);
setcolor(12);
outtextxy(255,330,'1-Foatlo elemei');
setcolor(10);
outtextxy(255,350,'2 -Mellekatlo elemei');
setcolor(6);
outtextxy(255,370,'3-Foatlo alatti elemek');
setcolor(8);
outtextxy(255,400,'4-Foatlo feletti elemek');
setcolor(blue);
outtextxy(255,420,'5-Mellekatlo alatti elemek');
setcolor(9);
outtextxy(255,440,'6-Mellekatlo feletti elemek');
setcolor(white);
outtextxy(255,460,'0-Kilepes');
c:=readkey;
end;
Begin
gd:=detect;
gm:=detect;
initgraph(gd,gm,'');
setbkcolor(3);
repeat
tablarajz;
magyarazat;
case c of
'1':foatlo;
'2':mellekatlo;
'3':foatloalattielemek;
'4':foatlofelettielemek;
'5':mellekatloalattielemek;
'6':mellekatlofelettielemek;
end;
readln;
cleardevice;
until c='0';
closegraph;
end.
A pascal compiler mappájában van egy olyan hogy "UNITS" és abban van graph.tpu és a graph.tpp is.Viszont itt van a crt, a dos, és a winmouse unit is viszont azok működnek.
Az elérési utak a programban szerintem jó helyen vannak mert egy másik gépen futott csak az én pascal-omon nem fut valamiért.
Szia.
Ird be a BGI utvonalát és akkor jó lesz, Pl. borlandnál:
initgraph (gd,gm,'C:\BP\BGI\');
Ha nem tudod hol vannak akkor keress rá a *.BGI-re.
Sok sikert.
Üdv.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!