Собственно осталась проблема в сортировке по алфавиту...пока выглядит так:
Program prog5;
uses ocna,crt;
const
n=5;
x11=2;y11=2;x12=58;y12=12;
x21=2;y21=14;x22=58;y22=23;
x31=60;y31=2;x32=79;y32=12;
type note=record
naz:string;
mg:string;
bd:integer;
end;
{------Описание процедур--------}
procedure vvod(var a:array[1..n] of note); {ВВОД ДАННЫХ}
var
i,j:integer;
x:byte;
begin
Window1(x11,y11,x12,y12);
for i:=1 to n do
begin
writeln('Введите название товара');
readln(a[i].naz);
writeln('Введите название магазина');
readln(a[i].mg);
writeln('Введите стоимость товара');
readln(a[i].bd);
clrscr;
end;
end; {конец ввода}
procedure sravn(s1,s2:array[1..3] of integer;var r:boolean);{Сравнение 2х массивов из записи}
var
i,j:integer;
begin
for i:=3 downto 1 do
begin
if s1[i]>s2[i] then begin r:=true;break end;
if s1[i]<s2[i] then begin r:=false;break end;
continue
end;
end;
procedure swap(var x,y:note);{подмена одной записи,другой}
var t:note;
begin
t := x;
x := y;
y := t
end;
procedure sort(var a:array[1..n] of note);
var i,j:byte;
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i].naz>a[j].naz then
begin
a[i]:=a[j];
end;
end;
{procedure sort(var a:array[1..n] of note);{сортировка по алфавиту в записи}
{var
i,j:integer;
r:boolean;
begin
for j:=1 to n-1 do
for i:=1 to n-j do
begin
sravn(a[i].unucualu,a[i+1].unucualu,r);
if r=true then
swap(a[i],a[i+1]);
end;
end; }
procedure found(a:array[1..n] of note);{Поиск товара}
var
i,j:integer;
s:string;
z:boolean;
x:byte;
begin
Window1(x11,y11,x12,y12);
writeln('Введите товар для поиска');
readln(s);
z:=false;
Window2(x21,y21,x22,y22);
Writeln;
for i:=1 to n do
if s<>a[i].naz then continue
else begin z:=true;
writeln(a[i].naz);
writeln(a[i].mg);
write(a[i].bd);
writeln( );
end;
if z=false then writeln('Ненайдено');
end; {конец поиска}
procedure zapis(a:array[1..n] of note);{запись в файл}
var
f:text;
i,j:integer;
name:string;
x:byte;
begin
Window1(x11,y11,x12,y12);
sort(a);
writeln('Введите название файла');
readln(name);
Assign(f,name+'.txt');
rewrite(f);
for i:=1 to n do
With a[i] do
begin
writeln(f,'-----------------------');
writeln(f,'Название товара: ',naz);
writeln(f,'Название магазина: ',mg);
Write(f,'Стоимость товара: ',bd);
writeln(f,'-----------------------');
end;
Window1(x11,y11,x12,y12);
Writeln('Запись совершенна!');
close(f);
end;{конец записи в файл}
{--------------Главная программа---------------------}
var
i,j:integer;
ch:Char;
a:array[1..n] of note;
begin
Window1(x11,y11,x12,y12);
Window2(x21,y21,x22,y22);
Window3(x31,y31,x32,y32);
repeat
begin
ch:= ReadKey;
TextMode(Co80);
if ch=#59 then vvod(a);{ввода данных в запись}
if ch=#67 then found(a); {Поиск по магазину}
if ch=#61 then zapis(a);{запись в файл}
end;
until ch=#27;
end.