PDA

View Full Version : خطا در پاسکال



javad123javad
یک شنبه 06 بهمن 1387, 07:38 صبح
سلام
وقتی تو پاسکال دو یونیت CRTو GRAPHرو باهم به کار می برم...این ارور رو می دهBEGIN expected
مشکل چیه؟؟؟؟ممنون می شم راهنمایی کنید.
این متن برنامه هست...البته کامل نیست

uses crt;
uses graph;
var i,j,k:integer;
ch2:char;
{/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\Menu/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\}
function menu :integer;
begin
clrscr;
gotoxy(4,3);
write('*******************************Main Menu************************************');
gotoxy(30,9);
textcolor(lightgreen);
highvideo;
write('1-New Game');
gotoxy(30,11);
writeln('2-Old Game');
gotoxy(30,13);
writeln('3-Save & Exit');
gotoxy(30,15);
writeln('4-Exit without saving');
ch2:=readkey;
case ch2 of
'1':begin
write('You select New Game');
menu:=1;
end;
'2':begin
write('You select Old Game');
menu:=2;
end;
'3':begin
write('You select Save & Exit');
menu:=3;
end;
'4':begin
write('You select Exit without saving');
menu:=4;
end;
end;
end;
{/\/\/\/\/\/\/\/\/\/\/\/\/\/\End Menu/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\}
{----------------------------/\/\/\/\/\-----------------------------------}
{/\/\/\/\/\/\/\/\/\/\/\/\/\/\New Game/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\}
procedure newgame;


var driver,mode,i,j,k:integer;
p:pointer;
top:boolean;
size:word;
ch,ch1:char;
flag:boolean;



{******************************HOUNTER************ *************************}
procedure hounter(x,y,z:integer,flag:boolean,var i,j:integer);
var i,j,k:integer;
begin

initgraph(driver,mode,'c:\tp\bgi');
rectangle(x,y,x+50,y+50);
if flage=true then
begin
circle(250,400,10);
size:=imagesize(239,389,261,411);
getmem(p,size);
getimage(239,389,261,411);
cleardevice;
for i:=40 to 239 do
putimage(i+239,460-i,p^,normalput);
end;
end;

procedure mon1;
var i,j,k:integer;
begin
initgraph(driver,mode,'c:\tp\bgi');
circle(40,40,20);
size:=imagesize(19,19,61,61);
getmem(p,size);
getimage(19,19,61,61,p^);

cleardevice;
hounter;
rectangle(11,91,90,460);
for i:=1 to 100 do
putimage(i,40,p^,normalput);
for j:=40 to 430 do
putimage(100,j,p^,normalput);
for k:=100 to 250 do
putimage(k,430,p^,normalput);

closegraph;
end;
{************************************************* *********************}
procedure mon2;
var i,j,k:integer;
begin
initgraph(driver,mode,'c:\tp\bgi');
circle(200,200,20);
size:=imagesize(179,179,221,221);
getmem(p,size);
getimage(179,179,221,221,p^);

cleardevice;
rectangle(300,91,379,460);
for i:=300 downto 200 do
putimage(i,40,p^,normalput);
for j:=40 to 430 do
putimage(200,j,p^,normalput);

closegraph;
end;
{************************************************* *******}
procedure mon3;
var i,j,k:integer;
begin
initgraph(driver,mode,'c:\tp\bgi');
circle(400,400,20);
size:=imagesize(379,379,421,421);
getmem(p,size);
getimage(379,379,421,421,p^);

cleardevice;
rectangle(400,91,479,460);
for i:=400 downto 300 do
putimage(i,40,p^,normalput);
for j:=40 to 430 do
putimage(300,j,p^,normalput);
for k:=300 downto 250 do
putimage(k,430,p^,normalput);
closegraph;
end;

begin
initgraph(driver,mode,'c:\tp\bgi');

readln;
end.
{PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP}
Begin

i:=menu;
case i of
{/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\New game/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\}
1:begin
newgame;
for i:=1 to 20 do
begin
ch:=readkey;
ch1:=readkey;
if ch1:='081' then flag:=true else flag:=false;
case ch of
'065':hounter(220,460);
'068':hounter(430,460);
'084':hounter(330,460);
k:=random(4);
case k of
1:mon1;
2:mon2;
3:mon3;
end;
end;
2:oldgame;
3:saveE;
4:Exit;

readln;
end.

mafazel
یک شنبه 06 بهمن 1387, 09:51 صبح
با سلام
بنظر می رسد در کد زیر، کلمه end نباید نقطه داشته باشد.


begin
initgraph(driver,mode,'c:\tp\bgi');

readln;
end. { ----> end;}
{PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP}
Begin

javad123javad
یک شنبه 06 بهمن 1387, 12:21 عصر
سلام
باز هم همین مشکل وجود داره.....فکر دیگه ایی به ذهنم نمی رسه....روی انواع نسخه ها آزمایش کردم....ولی باز هم این مشکل وجود داره

mafazel
یک شنبه 06 بهمن 1387, 12:47 عصر
دو تا uses هم احتمالا قابل قبول نیست.


Uses Crt,Graph;

javad123javad
یک شنبه 06 بهمن 1387, 20:40 عصر
سپاسگذارم....مشکل حل شد....درسته نمی تونیم از دوتا usesاستفاده کنیم