Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.04.2017, 20:01
perekatipole perekatipole вне форума
Прохожий
 
Регистрация: 20.04.2017
Сообщения: 11
Версия Delphi: TDLite
Репутация: 10
По умолчанию Помогите разобраться в коде

у меня есть код,строящий график функций
Код:
procedure TForm2.GrClick(Sender: TObject);
function f(x:real): real;
Var
  c : real;
Begin
    c :=(2*x-1)/(sqr(x-1));
    f:=c;
end;
Var
  a,b,x : real;
  x0,y0,i : integer;
  flag:boolean;
Begin
  flag:=true;
  x0 := line1.Width div 2;
  y0 := line1.Height div 2;
  With line1.Canvas do
    Begin
      Pen.Color:=clBlack;
      MoveTo(x0,0);
      LineTo(x0,line1.ClientHeight);
      MoveTo(0,y0);
      LineTo(line1.ClientWidth,y0);
      MoveTo(0,y0);
      Pen.Color := clBlue;
      a :=-line1.ClientHeight div 5;
      b :=-line1.ClientWidth div 15;
      x :=-10;
      For i:=-100 to 100 do
        Begin
          x:=x+0.1;
          if (not((x<-0.99) and (x>-1.01))) then begin
            if(flag=true) then begin
              MoveTo(Trunc(x0+x*b),Trunc(y0+f(-x)*a));
              flag:=false;
            end;
            LineTo(Trunc(x0+x*b),Trunc(y0+f(-x)*a));
          end;
        End;
    End;
End;



procedure TForm2.line1Click(Sender: TObject);
begin

end;

procedure TForm2.ExitClick(Sender: TObject);
begin
  close;
end;

end.
помогите понять почему вместо
Код:
(not((x<-0.99) and (x>-1.01)))
я не могу поставить просто -1(он крашится при -1 и работает при диапазоне)?
Ответить с цитированием
  #2  
Старый 20.04.2017, 20:28
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Да не крашится, под D7 при диапазоне рисуется на форме сетка и пиковый зубец, а при постоянном х=-1 только сетка
Ответить с цитированием
  #3  
Старый 20.04.2017, 21:13
perekatipole perekatipole вне форума
Прохожий
 
Регистрация: 20.04.2017
Сообщения: 11
Версия Delphi: TDLite
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
Да не крашится, под D7 при диапазоне рисуется на форме сетка и пиковый зубец, а при постоянном х=-1 только сетка
как мне тогда правильно с -1 записать?
Ответить с цитированием
  #4  
Старый 20.04.2017, 21:46
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от perekatipole
...не могу поставить просто -1(он крашится при -1 и работает при диапазоне)?
А как вы подставляли -1 вместо
Код:
if (not((x<-0.99) and (x>-1.01))) then begin...
часом не x:= -1 ?

Последний раз редактировалось Alegun, 20.04.2017 в 21:52.
Ответить с цитированием
  #5  
Старый 20.04.2017, 21:52
perekatipole perekatipole вне форума
Прохожий
 
Регистрация: 20.04.2017
Сообщения: 11
Версия Delphi: TDLite
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
А как вы подставляли -1 вместо
Код:
if (not((x<-0.99) and (x>-1.01))) then begin...
часом не x:= -1 ?
можно как-нибудь записать вместо диапазона -1?
я понял что неправильно писал значение,но не знаю как написать

Последний раз редактировалось perekatipole, 20.04.2017 в 21:55.
Ответить с цитированием
  #6  
Старый 20.04.2017, 22:08
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Можно, if x=-1 then.., надо было сразу спросить, для чего?
Ответить с цитированием
  #7  
Старый 20.04.2017, 22:11
perekatipole perekatipole вне форума
Прохожий
 
Регистрация: 20.04.2017
Сообщения: 11
Версия Delphi: TDLite
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
Можно, if x=-1 then.., надо было сразу спросить, для чего?
так он не строит график
Ответить с цитированием
  #8  
Старый 20.04.2017, 22:16
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Не, строит, просто в другом месте и этого не видно
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:16.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter