[Comm] Re: [Comm] Как сделать удобные шкалы на осях координат?
isa
=?iso-8859-1?q?iscander_=CE=C1_mercuri=2Emk=2Eua?=
Чт Фев 27 13:13:22 MSK 2003
Здравствуйте, Илья!
Я в свое время писал своей девушке программку на (Делфях правда) и там
выбор диапазона делался так:
procedure SelectRange( a , b: real);
var dummy,down,up :real;
n: integer;
begin
if a=b then
begin
n:= Round(log10(a));
dummy:=round(a/power(10,n-1));
while dummy>=a do dummy:=dummy-power(10,n-1)*5;
down:=dummy;
while dummy<=a do dummy:=dummy+power(10,n-1)*5;
up:=dummy;
end
else
begin
dummy:=abs(a-b);
n:= Round(log10(dummy));
down:=min(a,b);
up:=max(a,b);
dummy:=round(up/power(10,n-1));
dummy:=dummy*power(10,n-1);
while dummy <= up do dummy:=dummy+power(10,n-1)*5;
up:=dummy;
dummy:=round(down/power(10,n-1));
dummy:=dummy*power(10,n-1);
while dummy >= down do dummy:=dummy-power(10,n-1)*5;
down:=dummy;
end;
Tmin:=min(down,up); // Tmin, Tmax в Сишных терминах
Tmax:=max(down,up); // глобальные переменные -
// соответсвующие мин-максимуму оси
// абсцис
end; // Selecting rang
Она сдала с первого раза, если у вас будут вопросы не стесняйтесь
спрашивайте, впринципе это чистый Паскаль, но если надо могу
прекинуть в Си
--
С уважением,
isa mailto:iscander на mercuri.mk.ua
Подробная информация о списке рассылки community