1 Востаннє редагувалося ksud_*93 (16.10.2012 17:04:18)

Тема: Квадратична функція...

Що у мене не правильно написано у коді?(воно не зчитує числа, тобто функція не змінюється= стала)

const
     mash=100;
var a,b,x0,y0 : integer;
         x,y  : real;
begin
image2.Canvas.Pen.Color:=clwhite;
 image2.Canvas.Rectangle(0,0,ClientWidth,ClientHeight);
x:=StrToInt(edit1.Text);

    x0:=image2.Width div 2;
    y0:=image2.Height div 2;

image2.Canvas.Pen.Color:=clblack;
   image2.Canvas.Pen.Width:=1;

image2.Canvas.MoveTo(x0,0);
image2.Canvas.LineTo(x0,ClientHeight);
image2.Canvas.MoveTo(0,y0);
image2.Canvas.LineTo(ClientWidth,y0);


image2.Canvas.Pen.Color:=clRed;
   image2.Canvas.Pen.Width:=1;

 x:=-10;
 y:=sqr(x);
 image2.Canvas.MoveTo(trunc(x),trunc(y));
repeat
x:=x+0.1;
y:=-sqr(x) end;
image2.Canvas.LineTo(trunc(x*mash)+x0,trunc(y*mash)+y0);
until x>=10;
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
if edit1.Text='' then Button1.Enabled:=false
else
Button1.Enabled:=true;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
case key of
'0'..'9',#8:  ;
else key:= chr(0);
end;
end;
end.

2

Re: Квадратична функція...

Ви напишіть що воно має робити і в чому полягає помилка, тобто що воно робить такого, що ви від нього не очікували.

Подякували: ksud_*931

3

Re: Квадратична функція...

Більш детально?
Не забувайте про наявність bb-кодів code

Подякували: ksud_*931

4

Re: Квадратична функція...

так що? ще щось незрозуміло?

5

Re: Квадратична функція...

Мені здається, що тут має бути щось (користуйтесь ББкодами)

'0'..'9',#8:  ;

6

Re: Квадратична функція...

та з цим у мене усе в порядку..проблема у коді вище! тому що функція не набуває вигляду якого я задаю!=)наприклад я задав x=2, мені збудувало графік але коли я замість 2 пишу інше число то графік не змінюється!=)

7

Re: Квадратична функція...

Можливо там метод для відображення інший? Потрібно повністю перерисовувати canvas. Цей шматок коду нормальний. Проблеми десь у відображенні.

Подякували: ksud_*931

8

Re: Квадратична функція...

Оооо блін! можливо це може допомогти але мені так лінь переписати все знову)))але прийдеться!ДЯКУЮ)

9

Re: Квадратична функція...

TImage взагалі то не призначений для використання у якості полотна для малювання. Для цього є TPaintBox. Чіпляєте свій код йому на OnPaint і вперед.
Ще одне зауваження: ви використовуєте ClientWidth і ClientHeight. Ці властивості належать формі, і визначають розмір її клієнтської області. Якщо ваш image2 не розтягнутий на усю форму, то їх треба замінити на image2.Width і image2.Height.