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;

Rispondi quotando