Подскажите пожалуйсто как пользоваться графиком Chart.
И возможно ли связать StringGrid с этим графиком.
Если можно то напишите хотябы примерно как это зделать!
![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
![]() ![]() |
![]() |
Mr.Dmitry |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Мужской Реальное имя: Дмитрий Репутация: ![]() ![]() ![]() |
Подскажите пожалуйсто как пользоваться графиком Chart.
И возможно ли связать StringGrid с этим графиком. Если можно то напишите хотябы примерно как это зделать! |
Reptile |
![]()
Сообщение
#2
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата возможно ли связать 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 Пол: Мужской Реальное имя: Дмитрий Репутация: ![]() ![]() ![]() |
Вот как я пытался написать
Код Chart1.Series[0].AddXY(k,i,' ',clGreen) где i это сумма элементов 1 столбца поля StringGrid Вот какая ошибка появляеться Код [Error] Unit1.pas(43): Incompatible types: 'Double' and 'String' Сообщение отредактировано: Mr.Dmitry - |
Reptile |
![]()
Сообщение
#4
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ты не правильно настроил Chart, а точнее выбрал не подходящий график.
Добавь серию Line, убери 3D. Если не получится покажи код. |
Mr.Dmitry |
![]()
Сообщение
#5
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Мужской Реальное имя: Дмитрий Репутация: ![]() ![]() ![]() |
Ты не правильно настроил 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 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Так тош не катит (( И не будет ![]() Цитата 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 Пол: Мужской Реальное имя: Дмитрий Репутация: ![]() ![]() ![]() |
И не будет ![]() В 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 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата 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 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Цитата 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 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот:
Вот скрин ![]() P.S. Дробные числа должны быть через запятую "4,231". Сообщение отредактировано: Reptile - |
мисс_граффити |
![]()
Сообщение
#11
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
P.S. Дробные числа должны быть через запятую "4,231". Дробные числа должны быть через указанный в Панель инструментов->Языки и региональные стандарты разделитель. У тебя там ",", а у кого-то точка. Кстати, при "вылазении" за пределы стринггрида была бы Access Violation Error, а не Convert Error. Сообщение отредактировано: мисс_граффити - -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Reptile |
![]()
Сообщение
#12
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: ![]() ![]() ![]() |
мисс_граффити, спасибо за поправку
![]() |
Mr.Dmitry |
![]()
Сообщение
#13
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Мужской Реальное имя: Дмитрий Репутация: ![]() ![]() ![]() |
короч вот что в стрингриде:
Код 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 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вообще не знаю как Ты хотел чтобы этот код работал???
![]()
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 Пол: Мужской Реальное имя: Дмитрий Репутация: ![]() ![]() ![]() |
Все равно не рабоатет (((
|
volvo |
![]()
Сообщение
#17
|
Гость ![]() |
Скриншот, в котором видно StringGrid с данными, выдающими этот Exception приведи... Что ты там в него понабросал, интересно?
|
Mr.Dmitry |
![]()
Сообщение
#18
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Мужской Реальное имя: Дмитрий Репутация: ![]() ![]() ![]() |
|
volvo |
![]()
Сообщение
#19
|
Гость ![]() |
Да не интересует меня полностью проект! Я просил привести снимок экрана с теми ДАННЫМИ, которые ты вводишь, и у тебя возникает исключение. Неужели не понятно, что если я введу правильные данные, зная, какой DecimalSeparator у меня установлен, то ни о каком исключении не может быть и речи?
Ну, как хочешь... Я предложил тебе помощь - ты отказался, дело твоё... |
Mr.Dmitry |
![]()
Сообщение
#20
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Мужской Реальное имя: Дмитрий Репутация: ![]() ![]() ![]() |
Да не интересует меня полностью проект! Я просил привести снимок экрана с теми ДАННЫМИ, которые ты вводишь, и у тебя возникает исключение. Неужели не понятно, что если я введу правильные данные, зная, какой DecimalSeparator у меня установлен, то ни о каком исключении не может быть и речи? Ну, как хочешь... Я предложил тебе помощь - ты отказался, дело твоё... Просто я не смог вставить скрин! при попытки добавить не че не происходло и щас не происходит! вот я и выложил весь проект! Вот зделал с 10 раза появилось! Сорри ![]() Сообщение отредактировано: Mr.Dmitry - |
![]() ![]() |
![]() |
Текстовая версия | 9.02.2025 8:57 |