Вот программа написанная на Turbo Pascalе, что то не так заменяю и в ABC не открывает меню БД а сразу приступает к ее созданию и только и это делает... помогите, пожалуйста!
Program repair1; Uses CRT; Type Tdata = record k : word; nd,td,ta : string[15]; zi : string[10]; c,p : integer; end; datfile = file of Tdata; Var r: Tdata; f: datfile; q,k: byte; procedure tit_list; begin clrscr; GotoXY (14,2); write ('Волгоградский государственный технический университет');; GotoXY (24,4); write ('Кафедра "ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА"'); GotoXY (32,8); write ('Семестровая работа'); GotoXY (45,16); write ('Выполнил студент группы: АУ-120'); GotoXY (45,17); write ('Иванов И.И.'); GotoXY (45,19); write ('Проверил:'); GotoXY (45,20); write ('Сидоров С.С.'); GotoXY (33,24); write ('Волгоград 2008'); readkey; end; procedure color(s,p:byte); begin if s=p then begin TextBackGround(white); TextColor(black); end else begin TextBackGround(black); TextColor(white); end; end; procedure InpDate; begin write('Код детали: '); readln(r.k); write('Наименование детали: '); readln(r.nd); write('Тип детали: '); readln(r.td); write('Тип авто: '); readln(r.ta); write('Завод изготовитель: '); readln(r.zi); write('Количество: '); readln(r.c); write('Цена за единицу: '); readln(r.p); end; Procedure OutDate; begin gotoxy(2,whereY); write(r.k); gotoxy(6,whereY); write('|',r.nd); gotoxy(23,whereY); write('|',r.td); gotoxy(40,whereY); write('|',r.ta); gotoxy(56,whereY); write('|',r.zi); gotoxy(69,whereY); write('|',r.c); gotoxy(73,whereY); writeln('|',r.p); end; procedure add; var c:char; begin clrscr; assign(f,'dates.db'); reset(f); seek(f,filesize(f)); repeat InpDate; write(f,r); writeln; write('Добавить еще запись (Yes/No)? '); readln©; writeln; until (c='N') or (c='n'); close(f); end; procedure create; var c:char; begin clrscr; write('Все данные старой базы данных будут уничтожены. Продолжить (Yes/No)? '); readln©; if (c='Y') or (c='y') then begin assign(f,'dates.db'); rewrite(f); close(f); add; end; end; procedure write_title; var i:byte; begin gotoxy(2,1); write(' КОД'); gotoxy(6,1); write('| НАИМЕН ДЕТ'); gotoxy(23,1); write('| ТИП ДЕТ'); gotoxy(40,1); write('| ТИП АВТО'); gotoxy(56,1); writeln('|ИЗГОТОВИТЕЛЬ|КОЛ|ЦЕНА'); for i:=1 to 80 do write('-'); end; procedure edit; var c:char; begin clrscr; assign(f,'dates.db'); reset(f); write_title; while not eof(f) do begin read(f,r); OutDate; write('Корректировать (Yes/No)?'); readln©; if (c='Y') or (c='y') then begin InpDate; seek(f,filepos(f)-1); write(f,r); end; writeln; end; close(f); end; procedure delete; var i:integer; c:char; begin clrscr; assign(f,'dates.db'); reset(f); write_title; i:=0; while not eof(f) do begin read(f,r); OutDate; write('Удалить (Yes/No)?'); readln©; if (c='Y') or (c='y') then begin i:=filepos(f)-1; if i<>(filesize(f)-1) then while not eof(f) do begin read(f,r); seek(f,filepos(f)-2); write(f,r); seek(f,filepos(f)+1); end; seek(f,filesize(f)-1); truncate(f); seek(f,i); end; end; close(f); end; procedure print; var i:byte; begin assign(f,'dates.db'); reset(f); clrscr; write_title; while not eof(f) do begin read(f,r); OutDate; end; for i:=1 to 80 do write('-'); readkey; close(f); end; procedure zapros; var rt,rm:Tdata; k,j:integer; c:byte; s:boolean; begin clrscr; assign(f,'dates.db'); reset(f); writeln('1 - список деталей по коду'); writeln('2 - по типу авто список деталей'); writeln('3 - однотипные детали, отсортированные по цене'); writeln; readln©; case c of 1: begin clrscr; write('kod :'); readln(rt.k); clrscr; write_title; s:=false; while not eof(f) do begin read(f,r); if r.k=rt.k then begin OutDate; s:=true; end; end; if s=false then write('not found'); readkey end; 2: begin clrscr; write('auto: '); readln(rt.ta); clrscr; write_title; s:=false; while not eof(f) do begin read(f,r); if r.ta=rt.ta then begin OutDate; s:=true; end; end; if s=false then write('not found'); readkey end; 3: begin reset(f); while not eof(f) do begin read(f,r); rm:=r; j:=filepos(f); k:=filepos(f); while not eof(f) do begin read(f,r); if r.p<rm.p then begin rm:=r; k:=filepos(f); end; end; seek(f,j-1); read(f,r); seek(f,j-1); write(f,rm); seek(f,k-1); write(f,r); seek(f,j); end; clrscr; write('tip det: '); readln(rt.td); clrscr; write_title; s:=false; while not eof(f) do begin read(f,r); if r.td=rt.td then begin OutDate; s:=true; end; end; if s=false then write('not found'); readkey end; end; close(f); end; procedure run; begin case q of 1: create; 2: print; 3: add; 4: delete; 5: edit; 6: zapros; 7: halt; end; end; Begin tit_list; q:=1; Repeat clrscr; color(1,q); gotoxy(27,10); Write('Создание БД '); color(2,q); gotoxy(27,11); Write('Вывод БД '); color(3,q); gotoxy(27,12); Write('Добавление записей в БД '); color(4,q); gotoxy(27,13); Write('Удаление записей из БД '); color(5,q); gotoxy(27,14); Write('Корректировка записей в БД'); color(6,q); gotoxy(27,15); Write('Печать сведений по запросу'); color(7,q); gotoxy(27,16); Write('Выход '); color(1,2); gotoxy(1,25); write(q); k:=ord(readkey); if k=0 then k:=ord(readkey); case k of 72: if q<>1 then q:=q-1 else q:=7; 80: if q<>7 then q:=q+1 else q:=1; 75: q:=1; 77: q:=7; 13: run; end; until k=27; end.