读书人

关于array的有关问题

发布时间: 2012-02-24 16:30:39 作者: rapoo

关于array的问题
procedure TForm1.Button4Click(Sender: TObject);
var
f:array[0..128]of char;
m:TshfileOpstruct;

begin
illchar(f,sizeof(f),0);
strpcopy(f,pchar(edit1.Text));

with m do
begin
wnd:=handle;
wfunc:=fo_delete;
pfrom:=@f;
pto:=nil;
fFlags:= fof_NoConfirmation;
lpszprogresstitle:='正在删除';
end;
if shfileoperation(m)=0 then
messagebox(handle,'删除成功','删除信息',MB_ok +mb_iconinformation)

end;

想问下,为什么array[0..128]改成[1..128]就报错?!

[解决办法]
对于 f 这样直接使用数组,编译器会认为默认下标是0,和你的定义冲突
[解决办法]
要不想从0开始,修改一句代码就可以了:

Delphi(Pascal) code
strpcopy(@f,pchar(edit1.Text));//加上@ 

读书人网 >.NET

热点推荐