1, -50000, -8538, 5556, 2842, 15, 0 , 0
2, -49000, -8630, 3283, 5104, 15, 0, 0
3, -48000, -7853, 708, 6925, 12, 4, 0
4, -47000, -6287, -1937, 8108, 12, 8, -4
5, -46000, -4025, -4443, 8538, 8, 12, -4
6, -45000, -1415, -6508, 8039, 4, 15, -4
.....
.....
400, -32000, -6009, 8259, -2227, 15, -4, 8
401, -31000, -7644, 7285, 313, 12, -4, 4
第3-5列是三组电压数据,6-8是三组电流数据,要求从文本文件读数据并保存,根据数据描点画图,画图时读入数据乘以0.01作y坐标,1-401作x坐标。画出来后就应该是六个正弦图形。
2, -49000, -8630, 3283, 5104, 15, 0, 0
3, -48000, -7853, 708, 6925, 12, 4, 0
4, -47000, -6287, -1937, 8108, 12, 8, -4
5, -46000, -4025, -4443, 8538, 8, 12, -4
6, -45000, -1415, -6508, 8039, 4, 15, -4
.....
.....
400, -32000, -6009, 8259, -2227, 15, -4, 8
401, -31000, -7644, 7285, 313, 12, -4, 4
第3-5列是三组电压数据,6-8是三组电流数据,要求从文本文件读数据并保存,根据数据描点画图,画图时读入数据乘以0.01作y坐标,1-401作x坐标。画出来后就应该是六个正弦图形。
解决方案 »
- oracle 插入日期 问题~帮忙看下
- DataNavigator1能设置其中的TDataNavigatorButton.nbAppend只读么
- 如何用delphi录a-law格式的wav文件啊!!!急救~
- 谁来帮我找出这个错误
- 请高手帮帮忙, 关于adoQuery事件的后期绑定的问题?
- DCOM
- 为什么DLL出错??,急呀!!(Access Violation at address 002B7F56 in module 'calbom.dll',read of address '0000005C')
- 我用query执行查询语句,如果数据量特别大怎么?
- 组合的问题
- 如何将string类型转换成pchar类型?
- 初级问题?????
- 请问那里有注册的fastreport下载?
画就这样
image1.Canvas.pen.color:=clGreen;//$339999青色;
image1.canvas.pen.width:=1;
image1.Canvas.moveto(x,y); //起始点
image1.Canvas.lineto(l+1,n+1);//画从开始点到结束点的线其余的就自己画吧
但我不知道读数据是怎么读,搞不清是应该作为字符串还是实数,老师说用动态数组,又是什么意思呢?
var
dirname:string[50]
在要使用那一个数据的时候,这样用: X1:=char(dirname[3])*0.01
type TDs=record
d:array[0..7]of int64;
end;//动态数组的定义var dd:array of TDs; //考虑到数值较大所以使用int64,如果是小一点的就用integer//记得初始化ddprocedure readData(sd:string); //sd为你要读取的文本文件的一行,
var
tmpstr1,tmpstr2:string;
i,n:integer;
begin
//动态创建数组
if (high(dd)<>0) then
setlength(dd,high(dd)+2); //动态创建数组,给dd数组添加一个单元,原数据不变
//数组创建后,就是进行符串分解
i:=0;
n:=pos(',',sd);
while n<>0 do
begin
tmpstr1:=trim(copy(sd,1,n-1));
dd[high(dd)].d[i]:=StrToInt64Def(tmpstr1,0);
tmpstr2:=trim(copy(sd,n+1,lengh(sd)-n));
n:=pos(',',tmpstr2);
i:=i+1;
end;
end;以上基本完成,代码我临时写的,可能存在错误的地方,自己补充吧。基本方法没错的。
tmpstr2:=sd; //漏了这里
n:=pos(',',tmpstr2);
while n<>0 do
begin
tmpstr1:=trim(copy(sd,1,n-1));
dd[high(dd)].d[i]:=StrToInt64Def(tmpstr1,0);
tmpstr2:=trim(copy(sd,n+1,lengh(sd)-n));
n:=pos(',',tmpstr2);
i:=i+1;
end;
end;
d:array[0..7]of int64;
end;var dd:array of TDs; dd和d 之间是什么区别呢?procedure readData(sd:string); //sd为你要读取的文本文件的一行,
var
tmpstr1,tmpstr2:string;
i,n:integer;
//动态创建数组
if (high(dd)<>0) then
setlength(dd,high(dd)+2);
i:=0;
tmpstr2:=sd; //漏了这里
n:=pos(',',tmpstr2);
while n<>0 do
begin
tmpstr1:=trim(copy(sd,1,n-1));
dd[high(dd)].d[i]:=StrToInt64Def(tmpstr1,0); 这句话是说取拿一行哪一列的数吗
tmpstr2:=trim(copy(sd,n+1,lengh(sd)-n));
n:=pos(',',tmpstr2);
i:=i+1;
end;
end;
y(n)=x(n)-x(n-2)+Ay(n-1)-By(n-2)
x(1) ,x(2)...x(400)已知,但怎么代入原方程呢?y(1)=x(1)-x(-1)+Ay(0)-By(-1)
y(2)=x(2)-x(0)+Ay(1)-By(0)
...
...
y(n)=x(n)-x(n-2)+Ay(n-1)-By(n-2)我的数字怎么代进去呢?用循环吗?
y(n)=x(n)-x(n-2)+Ay(n-1)-By(n-2)
x(1) ,x(2)...x(400)已知,但怎么代入原方程呢?
可以自己来定义这个函数,delphi里是没有的。
具体怎么定义它,可以用DLL之内的办法wen_zang(文臧)定义的是个对象