procedure TForm1.Button3Click(Sender: TObject);
var LocalFile: string;
   S:String;
   F: TextFile;
begin
AssignFile(F, 'D:\vb6mini\downurl.htm');
Reset(F);
while not EOF(F) do begin
  Readln(F, S);
  TxtFile.text:=S       LocalFile := ExtractFilePath(ParamStr(0)) + GetFileName(TxtFile.text, false);
      if FileExists(LocalFile) then DeleteFile(LocalFile);
   DownBar1.HttpServerFileName := TxtFile.Text;
   DownBar1.LocalFileName := LocalFile;
      if DownBar1.HttpIsDownload then
      Form1.Caption := '完成' else Form1.Caption := '失败';end;
   CloseFile(F);
end;我需要做的是把下载地址从downurl.txt中读出
然后依次下载procedure TForm1.Button3Click(Sender: TObject);
var LocalFile: string;
   S:String;
   F: TextFile;
begin
AssignFile(F, 'D:\vb6mini\downurl.htm');
Reset(F);
while not EOF(F) do begin
  Readln(F, S);
  TxtFile.text:=Send;
   CloseFile(F);       LocalFile := ExtractFilePath(ParamStr(0)) + GetFileName(TxtFile.text, false);
      if FileExists(LocalFile) then DeleteFile(LocalFile);
   DownBar1.HttpServerFileName := TxtFile.Text;
   DownBar1.LocalFileName := LocalFile;
      if DownBar1.HttpIsDownload then
      Form1.Caption := '完成' else Form1.Caption := '失败';end;这样代码就可以运行 但是这样下载的只是最后一行的代码 ,请问应该怎么写?

解决方案 »

  1.   

    TxtFile.text:=S后面少了一个分号
      

  2.   

    用后面的写法肯定只能取得最后一行
    你的循环不停的读,下载却不在循环里面,下载过程只执行一次所以用前面的写法,但是TxtFile.text:=S后面要加上分号,否则编译不过去
      

  3.   

    还是不对哦
    运行到      if DownBar1.HttpIsDownload then
    就过不去了
    需要怎么改才能完成我的要求?我需要做的是把下载地址从downurl.txt中读出
    然后依次下载帮忙看看 我以前用vb的现在改学dehpi 东西都不一样了...
      

  4.   

    我也知道第二中方法只能取到最后一行的
    呵呵但是我新建一个function也不行
    调试不过
    不知道怎么会事
      

  5.   

    出错
    编译可以编译但是点击button3的时候
    在那一行
    DownBar1.HttpIsDownload
    出错
    弹出错误是工程demo.exe检测到错误类esocketerr.....
    使用单步运行或继续运行 
    然后点确定就没有反应了
      

  6.   

    直接用Indy里面的TIdHttp的Get函数来下载吧