Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2009, 16:45   #1
Grisha248
Пользователь
 
Регистрация: 21.05.2009
Сообщений: 15
По умолчанию Подскажите что исправить в коде

Построить круговую диаграмму для 4 параметров, значения которых указывает пользова-тель
Код:
Var
a,b,c,d,h,k,p,y,t:integer;
begin
a:=strtoint(edit1.Text);
b:=strtoint(edit2.Text);
c:=strtoint(edit3.Text);
d:=strtoint(edit4.Text);
Image1.Canvas.Brush.Color:=clNavy;
Image1.Canvas.FloodFill(0,0,clBlack,fsborder);

h:=2;

//-----------------------------------------------
k:=0;
p:=0;
y:=0;
t:=0;

Repeat
Image1.Canvas.Pen.Color:=clRed;
Image1.Canvas.MoveTo(0,450-k);
k:=k+h;
Image1.Canvas.LineTo(0,450-k);
Image1.Canvas.LineTo(40,450-k);
k:=k-h;
Image1.Canvas.LineTo(40,450-k);
k:=k+h;
Until k=a;

Repeat
Image1.Canvas.Pen.Color:=clYellow;
Image1.Canvas.MoveTo(42,450-p);
p:=p+h;
Image1.Canvas.LineTo(42,450-p);
Image1.Canvas.LineTo(82,450-p);
p:=p-h;
Image1.Canvas.LineTo(82,450-p);
p:=p+h;
Until p=b;

Repeat
Image1.Canvas.Pen.Color:=clLime;
Image1.Canvas.MoveTo(84,450-y);
y:=y+h;
Image1.Canvas.LineTo(84,450-y);
Image1.Canvas.LineTo(124,450-y);
y:=y-h;
Image1.Canvas.LineTo(124,450-y);
y:=y+h;
Until y=c;

Repeat
Image1.Canvas.Pen.Color:=clWhite;
Image1.Canvas.MoveTo(126,450-t);
t:=t+h;
Image1.Canvas.LineTo(126,450-t);
Image1.Canvas.LineTo(166,450-t);
t:=t-h;
Image1.Canvas.LineTo(166,450-t);
t:=t+h;
Until t=d;
end;

end.

Последний раз редактировалось MaTBeu; 24.05.2009 в 18:17.
Grisha248 вне форума Ответить с цитированием
Старый 24.05.2009, 18:17   #2
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Да, это понятно, а ошибка в чем? Если не скажете в чем ошибка сразу тема на замок.
MaTBeu вне форума Ответить с цитированием
Старый 24.05.2009, 21:19   #3
Grisha248
Пользователь
 
Регистрация: 21.05.2009
Сообщений: 15
По умолчанию

Проблема в том, что код строит вместо круговуй диаграммы ступенчатую. Помогите исправить код так, чтобы строилась круговая.
Grisha248 вне форума Ответить с цитированием
Старый 25.05.2009, 01:39   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Grisha248
Проблема в том, что код строит вместо круговуй диаграммы ступенчатую.
Мда.. Какая странная ошибка..

Ну так стройте окружность. Потом считайте отношения отдельных частей к общей площади. Затем заливайте каждый сектор.
Цитата:
Помогите исправить код так, чтобы строилась круговая.
Не исправлять надо, а переписывать.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 25.05.2009, 02:41   #5
Grisha248
Пользователь
 
Регистрация: 21.05.2009
Сообщений: 15
По умолчанию

Если бы я знал, то я бы переписал, но я не знаю как(((
Grisha248 вне форума Ответить с цитированием
Старый 25.05.2009, 03:00   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Grisha248
Если бы я знал, то я бы переписал, но я не знаю как(((
Читайте про работу с графикой в Делфи.
Можете еще глянуть вот эту темку:
http://programmersforum.ru/showthread.php?t=47030
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исправить ошибку в коде VBA. NitriNKa Помощь студентам 2 29.04.2009 22:22
Ошибка в коде Сортировщика! Ргается! помогите исправить! sting Помощь студентам 2 24.11.2008 23:21
C++ ошибка в коде. Непонимаю что не так POPOV Помощь студентам 2 04.09.2008 18:04
Помогите исправить ошибку в коде... prizrak1390 Общие вопросы Delphi 4 26.04.2008 13:19
Что в коде не так? Simply-Art Общие вопросы Delphi 3 08.07.2007 19:32