.ProgBar.Value = 0 lpdwFileSizeHigh = 0 lnSize = FtpGetFileSize(hFile, @lpdwFileSizeHigh) lnSize = lnSize + lpdwFileSizeHigh * (0xFFFFFFFF+1) .ProgBar.Max = lnSize .FTPResponse('Transferred '+trans(0)+' of '+trans(lnSize)+' bytes.') hOut = fcreate(.txtLocalFile.Value) lnBytesWritten = 0 Do while lnBytesWritten < lnSize lpdwNumberOfBytesRead = 0 lcRead = space(100) If InternetReadFile(hFile, @lcRead, 100, @lpdwNumberOfBytesRead) = 0 .FTPResponse("InternetReadFile error.") Return Endif lnBytesWritten = lnBytesWritten + fwrite(hOut,lcRead,lpdwNumberOfBytesRead) .ProgBar.Value = min(.ProgBar.Value+lpdwNumberOfBytesRead,.ProgBar.Max) .FTPResponse('Transferred '+trans(lnBytesWritten)+' of '+trans(lnSize)+' bytes.') Enddo =fclose(hOut) InternetCloseHandle(hFile) .FTPResponse('Transfer completed.')Cetin