重要!!!希望大家帮忙。^_^

wendy1208 2004-08-23 04:21:35
1.怎么控制tchart控件的右键拖动?其实是禁止右键拖动。
2.怎么能使tchart打印的过程中加入别的tlable控件的打印,即tchart和tlable在同一张纸上打印出来?
3.为什么全局变量改为局部变量是,语句不执行?例:timer控件设置时间time为整型变量,每执行一次让time加1,但是把time从全局变量设置成局部变量后,time := time + 1;这条语句执行不了。
4.最重要的一个问题:我编写的程序中的全局、整型变量会被编写的函数影响,而这个函数里根本和这全局、整型变量没有任何关系,为什么会出现这种状况?应该怎么处理才能避免这种情况的发生?这些全局变量我都有用处,这个函数也是必须使用的。

非常感谢大家提供宝贵的意见和帮助。最好能说详细些,分数不够,可以再加!
...全文
97 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
aiirii 2004-08-27
  • 打赏
  • 举报
回复
本貼樓主認為無正确答復, 要求收回分, 幫轉到非技術區, 給還分樓主!
wendy1208 2004-08-24
  • 打赏
  • 举报
回复
错误应该总是在
for j1 := 1 to strtoint(floattostr(n2)) do
begin
i0 := j1 - 1;
while i0 <= data_n do
begin
k0 := i0 + n2;
k1 := strtoint(floattostr(k0));
tr := c0 * data_r[k1] - s0 * data_i[k1];
ti := c0 * data_i[k1] + s0 * data_r[k1];
data_r[k1] := data_r[i0] - tr;
data_i[k1] := data_i[i0] - ti;
data_r[i0] := data_r[i0] + tr;
data_i[i0] := data_i[i0] + ti;
i0 := i0 + n1;
end;
tr := c0;
c0 := tr * c1 - s0 * s1;
s0 := tr * s1 + s0 * c1;
end;
中产生影响全局变量的值的。
这个问题很重要,希望能有更多的人关注和帮忙。
wendy1208 2004-08-24
  • 打赏
  • 举报
回复
全局变量根本没有和局部变量重名。

怎么在窗体关闭时清空全局变量的值呀?
qizhanfeng 2004-08-23
  • 打赏
  • 举报
回复
4.全局变量不要和局部变量重名,并且全局变量窗体关闭时最好清空
wendy1208 2004-08-23
  • 打赏
  • 举报
回复
函数是:
function ff(int_m: integer;data_sign: integer): string;
var
e,tr,ti,n2,j0,k0,c0,c1,s0,s1: single;
n1,i0,L0,j1,k1: integer;
begin
n1 := data_n - 2;
j0 := data_n / 2;
for i0 := 1 to n1 do
begin
if i0 < j0 then
begin
tr := data_r[strtoint(floattostr(j0))];
ti := data_i[strtoint(floattostr(j0))];
data_r[strtoint(floattostr(j0))] := data_r[i0];
data_i[strtoint(floattostr(j0))] := data_i[i0];
data_r[i0] := tr;
data_i[i0] := ti;
end;
k0 := data_n / 2;
While k0 <= j0 do
begin
j0 := j0 - k0;
k0 := k0 / 2;
end;
j0 := j0 + k0;
end;
for L0 := 1 to int_m do
begin
n1 := 2 shl (L0-1);
n2 := n1 / 2;
e := pi / n2;
c0 := 1;
s0 := 0;
c1 := cos(e);
s1 := -data_sign * Sin(e);
for j1 := 1 to strtoint(floattostr(n2)) do
begin
i0 := j1 - 1;
while i0 <= data_n do
begin
k0 := i0 + n2;
k1 := strtoint(floattostr(k0));
tr := c0 * data_r[k1] - s0 * data_i[k1];
ti := c0 * data_i[k1] + s0 * data_r[k1];
data_r[k1] := data_r[i0] - tr;
data_i[k1] := data_i[i0] - ti;
data_r[i0] := data_r[i0] + tr;
data_i[i0] := data_i[i0] + ti;
i0 := i0 + n1;
end;
tr := c0;
c0 := tr * c1 - s0 * s1;
s0 := tr * s1 + s0 * c1;
end;
end;
if data_sign = -1 then
begin
for i0 := 1 to data_n do
begin
data_r[i0] := data_r[i0] / data_n;
data_i[i0] := data_i[i0] / data_n;
end;
end;
end;

data_n是常量,等于512。

我定义的全局变量和函数中的变量名根本没有相同的。全局变量是time。在执行函数前是0,执行之后应该赋值为1,可是函数执行完,这个time就变成-483922之类的数了,越界。不知道是什么原因。

还有前两题,有人会吗?
yinweixian 2004-08-23
  • 打赏
  • 举报
回复
全局变量和局部变量的适用是不一样的。还有4是不会的,你肯定有错误。
bluesky23 2004-08-23
  • 打赏
  • 举报
回复
4、“我编写的程序中的全局、整型变量会被编写的函数影响”不可能出现这种情况,请仔细查看每一个你自已写的函数,看看是否用了同名变量。

最好能把代码贴出来看一下。
wendy1208 2004-08-23
  • 打赏
  • 举报
回复
请教!十分紧急,希望大家多帮忙!

828

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧