Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2012, 23:24   #1
artimen1996
 
Регистрация: 20.01.2012
Сообщений: 4
По умолчанию Почему пишет ошибку в конце программы?

Почему пишет ошибку в конце программы?
В конце программы пишет Ошибка 85 предпологается ";".
вот ссылкa на скрин ошибки

а вот прога

Код:
Program slovarb_eng_rus__rus_eng;
Uses crt,graph;
 
type spisok=record
     sl: string;
     pr: string;
     end;
     point=record
     x,y,x1,y1:integer;
     end;
FT= file of spisok;
Var b:ft;
    i,z,k:integer;
    s:real;
Procedure Sozd (var b: ft);
Var i,j:integer;
    zk:spisok;
    zz:integer;
    vibor:integer;
begin
rectangle(200,100,440,200);
clrscr;
reset(b);
writeln('Хотите добавить Английское слово или Русское?');
writeln('1.Английское , 2.Русское');
readln(vibor);
j:=1;
if vibor=1 then begin
 while j<>100 do
          begin
 
          write ('Slovo: ');
          readln (zk.sl);
          write ('Perevod: ');
          readln (zk.pr);
          write (b,zk);
 
          writeln ('Если вы закончили запись слов, нажмите 2');
           writeln ('Если вы НЕ закончили запись слов, нажмите 1');
          readln(zz);
          if zz=2 then exit;
          end;
          end;
          if vibor=2 then begin
 while j<>100 do
          begin
 
          write ('Slovo: ');
          readln (zk.pr);
          write ('Perevod: ');
          readln (zk.sl);
          write (b,zk);
          writeln ('Если вы закончили запись слов, нажмите 2');
           writeln ('Если вы НЕ закончили запись слов, нажмите 1');
          readln(zz);
          if zz=2 then exit;
          end;
          end;
close (b);
end;
Procedure help (var b: ft);
Var i:integer;
    zk:spisok;
begin
rectangle(200,220,440,320);
clrscr;
 
 
 
 
 
end;
 
Procedure poisk (var b:ft);
var vibor,i:integer;
    zk:spisok;
    slovo:string;
begin
rectangle(200,340,440,440);
clrscr;
 
reset (b);
writeln('Выберите способ перевода 1.Eng_Rus, 2.Rus_Eng');
 readln(vibor);
  clrscr;
 if vibor=1 then begin
 writeln ('Введите слово для поиска ');
 readln (slovo);
 
 writeln ('         По запросу:',slovo);
 writeln('          Найдено:');
writeln('╔══════════════════════════════');
writeln('║       СЛОВО - ПЕРЕВОД        ');
writeln('╠══════════════════════════════');
while not eof(b) do
 begin
  read (b,zk);
  if zk.sl=slovo then
  begin
    write ('║       ',zk.sl);
    write (' - ',zk.pr,'');
 
    writeln;
    writeln ('╚══════════════════════════════');
    end;
 
 
  end;
  end;
 if vibor=2 then begin
 writeln ('Введите слово для поиска ');
 readln (slovo);
 
  writeln ('         По запросу:',slovo);
  writeln('          Найдено:');
 writeln ('╔══════════════════════════════');
 writeln ('║        СЛОВО - ПЕРЕВОД');
 writeln ('╠══════════════════════════════');
while not eof(b) do
 begin
  read (b,zk);
  if zk.pr=slovo then
  begin
    write ('║       ',zk.pr);
    write (' - ',zk.sl,'');
 
    writeln;
    writeln ('╚══════════════════════════════');
  end;
 
end;
 end;
close(b);
end;
procedure menu;
var x,y,x1,y1:integer;
i,c:byte;
a:point;
move:boolean;
k:char;
begin
{sozdanie knopok}
x:=160;y:=10;
for i:=1 to 4 do
begin
x:=160+80*(i-1);
setcolor(i+1);
rectangle(x,y,z+80,y+20);
setfillstyle(1,i+1);
bar(x,y,x+80,y+20);
end;
{nadpisi na knopkax}
setcolor(0);
outtextxy(185,15,'1: Добавить слово в базу');
outtextxy(265,15,'2: Поиск слова');
outtextxy(345,15,'3: Помощь по программе');
outtextxy(425,15,'4: Выход');
{sozdanie i-e dvizenie kursora}
a.x:=90;a.y:=15;{nachalo}
move:=true;
repeat
if keypressed then begin
k:=readkey;
if k=#77 then begin
a.y1:=a.y;
a.x1:=a.x;
a.x:=a.x+80;
move:=true;
end;
if (k=#13)and(a.x=170) then sozd(b);
if (k=#13)and(a.x=250) then poisk(b);
if (k=#13)and(a.x=330) then help(b);
if (k=#13)and(a.x=410) then k:=#27;
end;
if move then begin
if a.x1=170 then c:=2
else if a.x1=250 then c:=3
else if a.x1=330 then c:=4
else if a.x1=410 then c:=5
else c:=0;
setcolor(c);
end;
 
begin
clrscr;
assign (b,'work.txt');
menu;
end.
artimen1996 вне форума Ответить с цитированием
Старый 28.02.2012, 23:30   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
Почему пишет ошибку в конце программы?
В конце программы пишет Ошибка 85 предпологается ";".
Потому что точки с запятой не хватает!
Мой вам совет используйте отступы!Вы где-то блок не закрыли!
Так я слепой или вы реально после repeat, until не написали?
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему в конце, строки записанной в файл, появляется пробел? 8Observer8 Win Api 2 24.01.2011 17:32
Почему не пишет создаваемым шрифтом ipdd Win Api 11 19.09.2010 21:45
Помогите пожалуйста, программа работает, но почему-то в конце не выводит получившуюся матрицу... Dead Romantic Помощь студентам 6 11.12.2009 19:03
прога пишет ошибку при открытии файла (почему?) nicky777 Общие вопросы Delphi 2 14.03.2008 17:56
Почему после компилиции не пишет кирилицей? lionig28 Общие вопросы C/C++ 1 01.02.2008 21:33