Var i, k, h:integer;
j, nom, k1, k2:char;
s, s1, s2:string;
Begin{procedure}
f_name_p:='f_poisk.pas';
Assign(f1,f_name_p);
Repeat
n_menu:=11;
Delete(s,1,length(s));
nom:='0';
Rewrite(f1);
Close(f1);
ClearDevice;
Ramka;
SetColor(White);
OutTextXY(210,130,'Введите условие для поиска');
SetColor(Green);
Rectangle(40,150,600,180);
key:=Readkey;
If key<>#27
Then
Begin{Then}
GoToXY(10,11);
Readln(uslovie);
i:=1;
Repeat
if uslovie[i]=' '
Then
Delete(uslovie,1,1);
Until uslovie[i]<>' ';
i:=Length(uslovie);
Repeat
if uslovie[i]=' '
Then
Begin{Then}
Delete(uslovie,Length(uslovie),1);
i:=i-1;
End;{Then}
Until uslovie[i]<>' ';
For key:='1' to '3' do
Begin{For}
f_name:='r'+key+'.pas';
Assign(f,f_name);
Reset(f);
j:='0';
While not EOF(f) do
Begin{While}
j:=Succ(j);
Readln(f,stroka);
End;{While}
Close(f);
j:=Pred(j);
For key:='1' to j do
Begin{For}
Insert(key,f_name,3);
Insert('inf',f_name,4);
Assign(f,f_name);
Reset(f);
k1:='1';
Readln(f,s);
While not EOF(f) do
Begin{While}
k2:=Succ(k1);
s1:=k1+'.';
s2:=k2+'.';
While s<>s1 do
Readln(f,s);
Readln(f,s);
If s='Конец'
Then
s2:='Конец';
k:=1;
h:=0;
While s<>s2 do
Begin{While}
mas_poisk[k]:=s;
If h=0
Then
For i:=1 to Length(s) do
Begin{For}
If s[i]=uslovie[1]
Then
Begin{Then}
stroka:=Copy(s,i,length(uslovie));
If uslovie=stroka
Then
Begin{Then}
i:=Length(s);
h:=1;
End;{Then}
End;{Then}
End;{For}
Readln(f,s);
k:=k+1;
End;{While}
If h=1
Then
Begin{Then}
nom:=Succ(nom);
Append(f1);
Write(f1,nom);
Writeln(f1,'.');
For i:=1 to k do
Writeln(f1,mas_poisk[i]);
Close(f1);
End;{Then}
k1:=Succ(k1);
End;{While}
Close(f);{§ Єалвм д ©«}
Delete(f_name,3,4);
End;{For}
Delete(f_name,1,Length(f_name));
End;{For}
If nom<>'0'
Then
Begin{Then}
Append(f1);
nom:=Succ(nom);
Write(f1,nom);
Writeln(f1,'.');
Writeln(f1,'Љ®Ґж');
Close(f1);
f_name:=f_name_p;
ClearDevice;
Ramka;
Spravka;
End{Then}
Else
OutTextXY(70,100,'По заданному условию информации не найдено’);
Delay(5000);
key:='q';
End;{Then}
Until key<>'q';
n_menu:=1;
proc:='s';
key:=#13;
End;{procedure}