Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

Построить круговую диаграмму для 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,623
Репутация: 1148
По умолчанию

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

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

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

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

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

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

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

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

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исправить ошибку в коде VBA. NitriNKa Помощь студентам 2 29.04.2009 22:22
Ошибка в коде Сортировщика! Ргается! помогите исправить! sting Помощь студентам 2 25.11.2008 00: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


06:15.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru