IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Построение линейной диаграммы (данные из файла), Как изминить процедуру построения линии
сообщение
Сообщение #1


Гость






Доброе время суток.
Помогите люди добрые
Составить (очень желательно изминить имеющуюся) программу, которая прочитает данные из файла и интерпретирует их в виде линейной диаграммы.
Нужно как-то изминить процедуру построения линии , чтоб координата конца 1 линии была координатой начала 2 линии, и т.д. (5 значений в файле, 4 линии)
Ниже имеется измученная мной прога,


Program lineynay;
Uses Crt,Graph;
Const x=50; y=450;
{
х и у - горизонтальная и вертикальная
графические координаты левого нижнего угла диаграммы
}
var
x1 ,x2, grdr, grmd, st,i:integer;
f:text;
s1,s2,s3,s4,s5:integer;

Procedure Lin(c,k:integer; s:string; var xl,x2:integer);

{
данная процедура для каждой категории строит линию
в диаграмме и добавляет соответствующую запись в легенду;
с - цвет текущей линии,
k - число, относящееся к текущей линии,
s - переменная, содержащая текст записи, которая заносится в легенду;
x1 - горизонтальная координата правой границы предыдущей линии,
x2 - верхняя граница текущей записи в легенде
}
begin
SetColor( c ); {цвет линии}

Line(x1+30,y-k*20,x2+50,y-1); {линия 1=20 пикселям}

x1:=x1+50; {смещение начала следующей линии в диаграммы}
SetColor(15); {цвет легенды}
OuttextXY(x2,460,s); {надпись легенды}
x2:=x2+50; {смещение след надписи легеды}
end;

begin
ClrScr; {чистим экран}
assign(f,'GRAFIK.TXT'); {связывает f с файлом 'GRAFIK.TXT'}
reset(f); {открывает для чтения файл f}
while not eof(f) do {делать пока не конец файла}
Begin readln(f,s1,s2,s3,s4,s5);end;
{считывает из f во вспомогательные переменные}
close(f);
grdr:=detect; {автоопределение графического адаптера}
InitGraph(grdr, grmd,'');{иницыализация графики}
x1:=x-30; {координаты первого столбца по х}
x2:=55; {координаты первой легенды по у}
Line(x,y,x+325,y) ;{горизонтальная линия}
Line(x,100,x,y); {вертикальная линия}
OuttextXY(x-20,y,'0');
Line(x-3,y-100,x+3,y-100);
OuttextXY(x-20,y-100,'5');
Line(x-3,y-200,x+3,y-200);
OuttextXY(x-20,y-200,'10');
Line(x-3,y-300,x+3,y-300);
OuttextXY(x-20,y-300,'15');

{построение графика по данным из файла}
Lin(yellow, s1, 'A1', x1, x2);
Lin(magenta, s2, 'A2', x1, x2);
Lin(green, s3, 'A3', x1, x2);
Lin(lightred, s4, 'A4', x1, x2);
Lin(6, s5, 'A5', x1, x2);

SetTextStyle(defaultfont, horizdir, 2);
SetColor(cyan);
OuttextXY(100,30 , 'Деловая графика');
Readln;
Closegraph
End.


Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 13.05.2024 2:04
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name