|
Вопрос # 4 598/ вопрос открыт / |
|
Здравствуйте!
Подскажите как построить график имея два массива а и в, где массив а - ось Х, а в - Y. Нарисовать надо канвой на Image.
Заранее благодарен!!!
 |
Вопрос задал: Дмитрий Стариков (статус: Посетитель)
Вопрос отправлен: 22 сентября 2010, 03:06
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 4; последнее сообщение — 24 сентября 2010, 10:21; участников в обсуждении: 3.
|
AlexMPEI (статус: 1-ый класс), 22 сентября 2010, 09:59 [#1]:
сначала можно выбрать цвет линии через Canvas.Brush.Color
Image1.Canvas.MoveTo(a[0], b[0]);
for i:=1 to length(a)-1 do
begin
Image1.Canvas.LineTo(a[i], b[i]);
end;
|
|
Ерёмин А.А. (статус: *Администратор), 22 сентября 2010, 12:15 [#2]:
Цвет линии — Canvas.Pen.Color.
|
|
Дмитрий Стариков (статус: Посетитель), 23 сентября 2010, 20:57 [#3]:
Подскажите, что я делаю не так??
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
procedure TFmEURUSD.ButLoadKotChasYesClick(Sender: TObject);
begin
AssignFile(SaveChasKot,'D:\sim\Программирование\Delhpi\Проект\Основная\EUR_USD_Chas_Kot.txt');
Reset(SaveChasKot);
while not Eof(SaveChasKot) do //читаем из файла....
begin
read(SaveChasKot,KotChas[i]);
Inc(i);
end;
CloseFile(SaveChasKot);
ImChas.Canvas.MoveTo(intVrChas[1], 500-KotChas[1]);
for i:=1 to length(intVrChas)-1 do
begin
ImChas.Visible:=True;
Canvas.Pen.Color:=ClRed;
ImChas.Canvas.LineTo(intVrChas[i], 500-KotChas[i]);
end;
procedure TFmEURUSD.ButLoadInrVrChasYesClick(Sender: TObject);
begin
AssignFile(SaveIntVrChas,'D:\sim\Программирование\Delhpi\Проект\Основная\EUR_USD_Chas_IntVr.txt');
Reset(SaveIntVrChas);
while not Eof(SaveIntVrChas) do //читаем из файла....
begin
read(SaveIntVrChas,intVrChas[i]);
Inc(i);
end;
CloseFile(SaveIntVrChas);
z:=IntVrChas[1];
// Для проверки
Edit2.Text:=IntToStr(intVrChas[1]);
Edit3.Text:=IntToStr(intVrChas[2]);
Edit4.Text:=IntToStr(intVrChas[3]);
end;
Вне зависимости от очередности вторая процедура не срабатывает, т.е. если начинать со второй, то не срабатывает первая, только после нескольких нажатий??? И рисует зеленым????
|
|
AlexMPEI (статус: 1-ый класс), 24 сентября 2010, 10:21 [#4]:
а что за массивы intVrChas и KotChas? где они определены?
при нажатии на первую кнопку ButLoadKotChasYesClick ты заполняешь массив KotChas, потом используешь два массива intVrChas и KotChas, но, как я понимаю, intVrChas будет заполнен только после нажатия на вторую кнопку.
А во второй у тебя вообще нет рисования. 
и ImChas.Visible:=True; не надо делать в цикле каждый раз.
Выложи весь проект - так не совсем понятно.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|