【发布时间】:2013-02-14 01:04:24
【问题描述】:
我正在尝试在我的Stringgrid 上绘制带有一些值的图表。它有 140x140 rowxCol,只有数字。 Tchart 应该在 X 轴上显示单元格坐标,在 y 轴上显示值。
我正在使用此代码:
procedure TForm2.Button2Click(Sender: TObject);
var
Count: Integer;
begin
with StringGrid1 do
begin
for Count := 0 to RowCount-1 do
begin
Chart1.Series[0].AddXY(StrToFloat(Cells[0, Count]),
StrToFloat(Cells[1, Count]), '', clTeeColor);
end;
end;
end;
但我不断收到此错误:'' is not a floating point value.
【问题讨论】:
-
我们看不到您的字符串网格的数据,但您显然是在将空字符串转换为浮点值。在您传递给
Cells属性的坐标上检查字符串网格中的值。请注意,传递给Cells的索引是基于 0 的,并且包括固定单元格。 -
为什么不从填充网格的来源填充图表?控件用于显示不存储它们的数据。将数据保存在扩展数组中,并从该数组中填充网格和图表。
-
这些值是从 Excel 电子表格中导入的,很抱歉没有说出来,但我认为只要值在字符串中就没有关系。
-
在循环之前尝试
ShowMessage(StringGrid1.Cells[0, 0]);和ShowMessage(StringGrid1.Cells[1, 0]);,请告诉我们你看到了什么。 -
您需要学习如何使用您拥有的优秀调试器。如果您使用它,您会看到您正在将空字符串传递给 StrToFloat。请务必学习使用您的工具。
标签: delphi tstringgrid