num:=fun();
if num-1<0 then
for i := 0 to num-1 do
begin
......
end;
if num-1<0 then
for i := 0 to num-1 do
begin
......
end;
解决方案 »
- 小问题。。请指教
- 为什么我delphi编译默认打开的程序,瑞星也报病毒?
- 关于dbgrid 的书签
- idFtp 的問題,求請幫忙哈!急
- 求助~TADOQuery的insert问题~先谢了~
- excel导入Access数据库中,出现问题.(如何统计excel中的有效行数)
- 请问各位,IntraWeb中如何接收客户端传来的参数。
- 注册表不能用,提示错误为"注册表编辑己被管理员禁用"
- 急需跳棋源代码!十万火急!500分赠送。
- 用ADO连接access日期字段插入出现的问题。
- 共107分,就一个fileread,filewrite问题,两天啦,怎么就没人帮我!!!!!!!!!!!
- 小问题,如何改变窗口的这种属性??
if num>0 then ……
begin
for i:=0 to num-1 do
begin
.
.
.
end;
end
else ..........;
看一看行不行
见识粗浅,我也不知道是不是这样的。
一定是你的num计算有误。
不会的话可在循环中加showmessage(inttostr(i));看看i的值到底是不是小于0
一定是你的num计算有误。
一定是你的num计算有误。 执行FOR
以前先SHOWMESSAGE(INTTOSTR(NUM))看看会不会
出现你所说的问题。
if num-1<0 then
for i := 0 to num-1 do
begin
......
end;
该程序中,showmessage将被执行。若将num,i的声明改为integer型,则showmessage不会被执行。
虽然找到了问题,但我不明白,word表示无符号数,integet表示有符号数,但是无论如何,num-1总是小于0的,for语句怎么会执行呢?unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
num : word;
implementation{$R *.DFM}procedure TForm1.FormCreate(Sender: TObject);
var
i:word;
begin
num := 0;
for i:=0 to num-1 do
begin
showmessage('Hello!');
end;
end;
end.