Procedure Poisk;

 

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}