В цикле while....do я заношу в массив A[10][2](тип Integer или Real) десять точек, затем по этим точкам мне необходимо построить график, используя функцию PolyBezier. Однако компилятор выдает ошибку о несовпадении типов пременных, т.к. в этой ф-ции можно использовать лишь переменные класса TPOINT, а этим переменным нельзя присвоить значения массива А!!!. Что мне делать???
Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
В документации что написано? Использовать массив POINT, ну так и используй!
Почему у тебя массив A[10][2](тип Integer или Real) ???
Вот тебе рабочий пример
Примерный код проги:
var x:currency;
var dx:currency;
var y:currency;
var dy:currency;
procedure TForm1.Button1Click(Sender: TObject);
begin
x:=0; // например
y:=0; // например
dx:=0.01; // например
dy:=0.1; // например
for i : =1 to 10 do
begin
x:=x+dx;
y:=y+dy;
end;
end;
И мне надо построить график на форме, притом например в правой нижней четверти формы...
Я создаю массив :
var A1: array [1..10 , 1..2] of currency;
затем в том же цикле
for i : =1 to 10 do
begin
A[i][0]:=x+dx;
A[i][1]:=y+dy;
end;
затем мне надо построить график при помощи функции PolyBezier. КАК ЭТО СДЕЛАТЬ??????
Advanced member
Статус: Не в сети Регистрация: 23.10.2003 Откуда: Иркутск/Майкоп
Beh@lder
var a1:array [0..9] of TPoint;
затем
for i :=1 to 10 do
begin
A1[i-1].x:=чему-то;
A1[i-1].y:=чему-то еще;
end;
Потом рисуем.
PolyBezier(Canvas.Handle,A1,10);
А вообще, бред какой-то. 1. Зачем Currency?!
2. Почему массив A1, а потом присваивается массиву A?
3. Второй индекс массива от 0 до 1 или от 1 до 2?
4. Неужели сложно прочитать справку по процедуре PolyBezier?
_________________ Края каждого совершенно нового крышка процессора не на 100% гладкая. Это связано с тем, что следов мастерства не избежать. (c) Али.
Но мне же необходимо нарисовать прямую не только по целым точкам в моем случае это точки типа 1.01, 2.003, 5,0004 и т.д. Т.е. числа десятичные. Есть ли какой-нить алгоритм для постройки такого графика??? Или необходимо все переменные переделывать каким то образом в целые числа типа 50004? Но такой точки на форме явно нет!!!!
График по целым числам я прекрасно понял как строить!!
но это сильно долго и муторно. Просто мне надо строить точки типа 5.0001, 5.0004, 5.0009 и т.д. а округлать в этом случае нельзя!!!! И на 10000 не умножить =((
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения