Function minstr (blocks:integer):sstr; VAR min,sec:integer; rsec:real; ss:sstr; begin rsec:=1.38 * blocks * (1200/baudrate); min:=trunc (rsec/60.0); sec:=trunc (rsec-(min*60.0)); ss:=strr(sec); if length(ss)<2 then ss:='0'+ss; minstr:=strr(min)+':'+ss end; Procedure parserange (numents:integer; VAR f,l:integer); VAR rf,rl:mstr; p,v1,v2:integer; begin f:=0; l:=0; if numents<1 then exit; repeat writestr ('Range [1-'+strr(numents)+', CR=all, ?=help]:'); if input='?' then printfile (textfiledir+'Rangehlp'); if (length(input)>0) and (upcase(input[1])='Q') then exit until (input<>'?') or hungupon; if hungupon then exit; if length(input)=0 then begin f:=1; l:=numents end else begin p:=pos('-',input); v1:=valu(copy(input,1,p-1)); v2:=valu(copy(input,p+1,255)); if p=0 then begin f:=v2; l:=v2 end else if p=1 then begin f:=1; l:=v2 end else if p=length(input) then begin f:=v1; l:=numents end else begin f:=v1; l:=v2 end end; if (f<1) or (l>numents) or (f>l) then begin f:=0; l:=0; writestr ('Invalid range!') end; writeln (^B) end;