smirnvlad
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: procedure WritelistFilter (Headline:String; Count:integer; FProp:char; FPol:Char); var cnt:integer; var show: boolean; begin cnt:=0; Append (output); Writeln (output); Writeln (output,Headline); Book:=Beglist; while (Book<>NIL) and ((count=-1) or (cnt<count)) do begin with Book^ do begin show := true; if (not (FProp=' ')) and (UpCase(prop)<>Upcase(FProp)) then show := false; if (not (FPol=' ')) and (UpCase(pol)<>Upcase(FPol)) then show := false; if show then writeln (output, fam:15, ini:5, year:5, prop:2, pol:2); inc(cnt); end; Book:= Book^.Next; end; Close (output); end; procedure Writelist (Headline:String); begin WritelistFilter (Headline, -1, ' ', ' '); end; | теперь Writelist выводит весь список а WritelistFilter ограничивает по полу и прописке в основной программе Код: Mark (Rel); CreateList; Assign (output,'F6.out'); Rewrite (output); Writelist ('DANO'); SORT; WritelistFilter ('Vvyvodim 3 molodyh peterburgcev', 3, 'Y', 'M'); Release (Rel); | |