Нейтрофилы
Научные материалы / Нейтрофилы
Страница 19

marker_place[arg_edit,i[arg_edit]].x:=x;

marker_place[arg_edit,i[arg_edit]].y:=y;

end;

'~' : begin

write(' ');

i[fun_edit]:=i[fun_edit]+1;

marker_place[fun_edit,i[fun_edit]].x:=x;

marker_place[fun_edit,i[fun_edit]].y:=y;

end;

'!' : begin

write(' ');

i[diag_edit]:=i[diag_edit]+1;

marker_place[diag_edit,i[diag_edit]].x:=x;

marker_place[diag_edit,i[diag_edit]].y:=y;

end;

else

write(a);

end;

until eoln(d);

readln(d); writeln;

until eof(d);

close(d);

end;

procedure readreal(var value : real; a : char; len : word; ad : scr_adr);

var LI : array[1 10] of char;

x,y,old : integer;

st : string;

begin

write(' ':len);

gotoXY(ad.x,ad.y);

LI[1]:=a; write(a); y:=2;

if a<>#13 then

repeat

a:=readkey;

if a=',' then a:='.';

if ((a='O') or (a='o')) then a:='0';

if ((a>='0') and (a<='9')) or (a='.')

then begin LI[y]:=a; write(a); y:=y+1 end;

if a=#8 then

begin y:=y-1;

gotoXY(ad.x+y-1,ad.y);

write(' ');

gotoXY(ad.x+y-1,ad.y);

end;

until a=#13;

st:=LI[1];

for x:=2 to y-1 do st:=concat(st,LI[x]);

val(st,value,old);

end;

procedure setmarker(m : scr_mod; i : integer);

begin

gotoxy(marker_place[m,i].x,marker_place[m,i].y);

end;

procedure wri_val(x : real; i : integer; old : boolean);

begin

if old

then begin textbackground(Black);

textcolor(LightGray)

end

else begin textbackground(LightGray);

textcolor(Black)

end;

setmarker(fun_edit,i+1);

write(' ':4);

setmarker(fun_edit,i+1);

write(x:4:1);

setmarker(fun_edit,i+1);

end;

procedure edit_prob(index : par_typ);

var

st : real;

j : integer;

a : char;

begin

with step_distri[index] do

begin

readscreen('distrib.scr',LightGray,Red);

gotoXY(name_place.x,name_place.y);

case index of

g_shift : write('Глобальный шаг');

l_shift : write('Локальный шаг');

angle : write('Угол');

end;

st:=max_step/10;

for j:=0 to 10 do

begin

step[j]:=j*st;

gotoXY(marker_place[arg_edit,j+1].x,marker_place[arg_edit,j+1].y);

write(step[j]:4:1);

gotoXY(marker_place[fun_edit,j+1].x,marker_place[fun_edit,j+1].y);

write(manual[j]:4:1);

end;

j:=0;

repeat

setmarker(fun_edit,j+1);

wri_val(manual[j],j,false);

setmarker(fun_edit,j+1);

a:=readkey;

if a=#0 then

begin

a:=readkey;

wri_val(manual[j],j,true);

case a of

rightarrow, downarrow : j:=j+1;

leftarrow, uparrow : j:=j-1;

end;

if j>10 then j:=10;

if j<0 then j:=0;

end;

if ((a>='0') and (a<='9')) or (a='-')

then

begin

readreal(st,a,4,marker_place[fun_edit,j+1]);

manual[j]:=st;

end;

until ((a=chr(27)) or (a=' '));

end;

end;

procedure normalize;

var

j : word;

s : par_typ;

x : real;

begin

for s:=g_shift to angle do

begin

Страницы: 14 15 16 17 18 19 20 21