Ciao a tutti,

ho fatto un programma che esegue il download di alcune immagini jpg da internet (fota da una webcam).

tale operazione dura un po di tempo, ed io vorrei inserire un pulsante per stoppare l'esecuzione di tale download.

credo (mi sembra di aver capito) che per implementare questa funzionalità devo uilizzare i delphi thread,...ma non riesco a capire bene il concetto di come fare questa cosa che sembrerebbe semplice...

mi potete indicare qualche esempio...

grazie

questo è il codice che eseguo per effettuare il download..
codice:
procedure TForm1.BtnScaricaFotoClick(Sender: TObject);
var
  SourceFile, LocalFile: string;
  ora:TdateTime;
  SR      : TSearchRec;
begin
  if (varisnull(cxDateEditDal.editvalue)) or (varisnull(cxDateEditAl.editvalue)) then Abort;

  try
    screen.Cursor:=crHourGlass;
    try
     CreateDir(ExtractFilePath(Application.ExeName)+'img')
    except
    end;

    ora:=cxDateEditDal.Date;
    while ora<=cxDateEditAl.Date do
      begin
       SourceFile := 'http://www.villamia.it/webcam/img_'+FormatDateTime('yyyymmdd',ora)+'_'+FormatDateTime('hhnnss',ora)+'_0.jpeg';
       LocalFile := ExtractFilePath(Application.ExeName)+'img\'+ExtractUrlFileName(SourceFile);
       LblFoto.Caption:='Download File...'+SourceFile;
       LblFoto.Update;

       if not FileExists(LocalFile) then
         if URLDownloadToFile(nil, PChar(SourceFile), PChar(LocalFile), 0, nil) = 0 then
          begin
           try
             cxImageFoto.Picture.LoadFromFile(LocalFile);
             cxImageFoto.Update;
           except
           end;
          end;
       ora:=IncSecond(ora,1);
      end;

    screen.Cursor:=crDefault;
   // ShowMessage('Download eseguito con successo!');
  except
    screen.Cursor:=crDefault;
  //   ShowMessage('Download non eseguito!')
  end
end;