Подскажите пожалуйсто как пользоваться графиком Chart.
И возможно ли связать StringGrid с этим графиком.
Если можно то напишите хотябы примерно как это зделать!
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
| Mr.Dmitry |
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Мужской Реальное имя: Дмитрий Репутация: 0 |
Подскажите пожалуйсто как пользоваться графиком Chart.
И возможно ли связать StringGrid с этим графиком. Если можно то напишите хотябы примерно как это зделать! |
![]() ![]() |
| Reptile |
Сообщение
#2
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: 0 |
Цитата возможно ли связать StringGrid с этим графиком Береш в цикле значения из StringGrid и вставляеш в
Вот пример заполнения графика: Создай Chart, добавь серию и
Цитата Declaration function AddXY(Const AXValue, AYValue: Double; Const AXLabel: String; AColor: TColor) : Longint; Description This function inserts a new point in the Series. The new point has X and Y values. The AXLabel parameter is optional (can be empty ''). The AColor parameter is optional (can be clTeeColor). The function returns the new point position in the Values list. Сообщение отредактировано: Reptile - |
| Mr.Dmitry |
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Мужской Реальное имя: Дмитрий Репутация: 0 |
Вот как я пытался написать
Код Chart1.Series[0].AddXY(k,i,' ',clGreen) где i это сумма элементов 1 столбца поля StringGrid Вот какая ошибка появляеться Код [Error] Unit1.pas(43): Incompatible types: 'Double' and 'String' Сообщение отредактировано: Mr.Dmitry - |
| Reptile |
Сообщение
#4
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: 0 |
Ты не правильно настроил Chart, а точнее выбрал не подходящий график.
Добавь серию Line, убери 3D. Если не получится покажи код. |
| Mr.Dmitry |
Сообщение
#5
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Мужской Реальное имя: Дмитрий Репутация: 0 |
Ты не правильно настроил Chart, а точнее выбрал не подходящий график. Добавь серию Line, убери 3D. Если не получится покажи код. Даже если я пытаюсь выводить не сумму в линейном графике без 3д все равно не пашет!! ( пофигу на сумму можно хотябы графически вивыести хотябы один эелемент вот код: Код for k:=1 to 10 do Chart1.Series[0].AddXY(k,Form1.StringGrid1.Cells[8,1],' ',clREd); Так тош не катит (( Вобщем мне нужно зделать вот что! Отобразить на этом графике как изменялись ячейки 7 и 8 столбцов поля стринг грид (тоесть увеличивылись или нет) вот! Сообщение отредактировано: Mr.Dmitry - |
| Reptile |
Сообщение
#6
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: 0 |
Цитата Так тош не катит (( И не будет Цитата function AddXY(Const AXValue, AYValue: Double; Const AXLabel: String; AColor: TColor) : Longint; В Form1.StringGrid1.Cells[8,1] строка, а нужно Double. Нужно
И убедись что не вылазиш за пределы StringGrid. P.S. Проверил, у меня работает. Сообщение отредактировано: Reptile - |
| Mr.Dmitry |
Сообщение
#7
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Мужской Реальное имя: Дмитрий Репутация: 0 |
И не будет В Form1.StringGrid1.Cells[8,1] строка, а нужно Double. Нужно
И убедись что не вылазиш за пределы StringGrid. P.S. Проверил, у меня работает. А у меня не работает пишет: Project Project1.exe raised exeption Class EconvertError With Message "' is not a valid Floating value Process stoped .Use Step or run to continue |
| Reptile |
Сообщение
#8
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: 0 |
Цитата Project Project1.exe raised exeption Class EconvertError With Message "' is not a valid Floating value Process stoped .Use Step or run to continue Наверное вылазиш за пределы StringGrid. Покажы всю функцию. Сообщение отредактировано: Reptile - |
| мисс_граффити |
Сообщение
#9
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Цитата Project Project1.exe raised exeption Class EconvertError With Message "' is not a valid Floating value Process stoped .Use Step or run to continue Проект прерван с сообщением "' не является действительным числом. Начинаем гадать на кофейной гуще (за неимением использую пакетик чая). Что у тебя в стринггриде записано? -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
| Reptile |
Сообщение
#10
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: 0 |
Вот:
Вот скрин P.S. Дробные числа должны быть через запятую "4,231". Сообщение отредактировано: Reptile - |
| мисс_граффити |
Сообщение
#11
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
P.S. Дробные числа должны быть через запятую "4,231". Дробные числа должны быть через указанный в Панель инструментов->Языки и региональные стандарты разделитель. У тебя там ",", а у кого-то точка. Кстати, при "вылазении" за пределы стринггрида была бы Access Violation Error, а не Convert Error. Сообщение отредактировано: мисс_граффити - -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
| Reptile |
Сообщение
#12
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: 0 |
мисс_граффити, спасибо за поправку
|
| Mr.Dmitry |
Сообщение
#13
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Мужской Реальное имя: Дмитрий Репутация: 0 |
короч вот что в стрингриде:
Код i:=i+1; Kol:=kol+1; Naimenovanie:=ComboBox1.Text; Data:=DateTimePicker1.date; Data_oplati:=DateTimePicker2.date; Data_Prihoda:=DateTimePicker3.date; Nomer:=LabeledEdit1.text; Inn_posyavshika:=LabeledEdit2.Text; stoimost:=StrToFloat(LabeledEdit3.text); Kol_Vo_Pokupok:=StrToInt(LabeledEdit4.text); {-----------------------------------------------------------} form1.stringgrid1.cells[0,i]:=IntToStr(Kol); form1.stringgrid1.cells[1,i]:=DateToStr(data); form1.stringgrid1.cells[2,i]:=DateToStr(data_Oplati); form1.stringgrid1.cells[3,i]:=DateToStr(data_Prihoda); form1.stringgrid1.cells[4,i]:=Nomer; form1.stringgrid1.cells[5,i]:=Naimenovanie; form1.stringgrid1.cells[6,i]:=Inn_posyavshika; form1.stringgrid1.cells[7,I]:=FloatToStr(stoimost); form1.stringgrid1.cells[8,I]:=IntToStr(Kol_Vo_pokupok); form1.StringGrid1.RowCount:=Kol+1; {----------------------------------------------------------} form2.Visible:=false; LabeledEdit1.Clear; LabeledEdit2.Clear; LabeledEdit3.Clear; LabeledEdit4.Clear end; График я пытался построить по примеру Reptile Вот он: Код var i:Integer; bez : Integer; begin Chart1.Series[0].Clear; for i := 1 to StringGrid1.RowCount-1 do begin bez := 0; bez := bez + StrToInt(StringGrid1.Cells[7,i]); // это я так понимаю сумма элементов нужного столбца Chart1.Series[0].AddXY(i,bez,'',clRed); end; end; столбец по которому я строю график имеет тип Real. Сообщение отредактировано: Mr.Dmitry - |
| Reptile |
Сообщение
#14
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: 0 |
Вообще не знаю как Ты хотел чтобы этот код работал???
1.Переменную суммы нужно обнулять не в теле цыкла, иначе в bez Ты просто получаеш текущий элемент. 2.Если тип Real пиши bez := bez + StrToFloat(StringGrid1.Cells[7,i]); Если нужно вывести сумму элементов только одного столбца то:
Если снова вылезет Цитата Project Project1.exe raised exeption Class EconvertError With Message "' is not a valid Floating value Process stoped .Use Step or run to continue то Цитата Дробные числа должны быть через указанный в Панель инструментов->Языки и региональные стандарты разделитель. |
| volvo |
Сообщение
#15
|
|
Гость |
Цитата Если снова вылезет вообще-то лучше сделать вот так:for j := 1 to StringGrid1.RowCount-1 do , чем заставлять пользователя вводить данные заново... |
| Mr.Dmitry |
Сообщение
#16
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Мужской Реальное имя: Дмитрий Репутация: 0 |
Все равно не рабоатет (((
|
| volvo |
Сообщение
#17
|
|
Гость |
Скриншот, в котором видно StringGrid с данными, выдающими этот Exception приведи... Что ты там в него понабросал, интересно?
|
| Mr.Dmitry |
Сообщение
#18
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Мужской Реальное имя: Дмитрий Репутация: 0 |
|
| volvo |
Сообщение
#19
|
|
Гость |
Да не интересует меня полностью проект! Я просил привести снимок экрана с теми ДАННЫМИ, которые ты вводишь, и у тебя возникает исключение. Неужели не понятно, что если я введу правильные данные, зная, какой DecimalSeparator у меня установлен, то ни о каком исключении не может быть и речи?
Ну, как хочешь... Я предложил тебе помощь - ты отказался, дело твоё... |
| Mr.Dmitry |
Сообщение
#20
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Мужской Реальное имя: Дмитрий Репутация: 0 |
Да не интересует меня полностью проект! Я просил привести снимок экрана с теми ДАННЫМИ, которые ты вводишь, и у тебя возникает исключение. Неужели не понятно, что если я введу правильные данные, зная, какой DecimalSeparator у меня установлен, то ни о каком исключении не может быть и речи? Ну, как хочешь... Я предложил тебе помощь - ты отказался, дело твоё... Просто я не смог вставить скрин! при попытки добавить не че не происходло и щас не происходит! вот я и выложил весь проект! Вот зделал с 10 раза появилось! Сорри
1.zip ( 12.2 килобайт )
Кол-во скачиваний: 529Сообщение отредактировано: Mr.Dmitry - |
![]() ![]() |
|
Текстовая версия | 6.11.2025 23:07 |