Ir para conteúdo
  • Cadastre-se

Pesquisar na Comunidade

Showing results for tags 'acbr; acbrftpdownload;'.

  • Search By Tags

    Digite tags separadas por vírgulas
  • Search By Author

Tipo de Conteúdo


Fóruns

  • Fórum Aberto - ACBr
    • Notícias do ACBr
    • Equipamentos testados
    • Base de Conhecimento
    • Dúvidas Gerais sobre o ACBr
    • ACBrSerial
    • ACBrSAT
    • ACBrNFe
    • ACBrDFe
    • Dúvidas sobre TEF
    • Dúvidas sobre PIX
    • ACBrMonitor PLUS
    • ACBrTXT
    • ACBrBoleto
    • ACBrDiversos
    • ACBrTCP
    • ACBrFramework
    • ACBrLIB
  • ACBr Pro
    • Dúvidas gerais
    • ACBrMonitorPLUS
    • NFe/NFCe - Nota Fiscal Eletrônica
    • DFe - Documentos Fiscais Eletrônicos
    • SAT / MFE
    • TEF
    • Boleto
    • ACBrSPED
    • ACBrTXT
    • Paf-ECF
    • Requisitos Fiscais por UF
    • ACBrLIB
  • Outros Assuntos
    • Boteco do ACBr
    • Legislação Fiscal e Tributária
    • Object Pascal - Delphi & Lazarus
    • Banco de Dados
    • Classificados
    • Dúvidas não relacionadas ao ACBr

Categorias

  • ACBr Pro
    • ACBrLib - PRO
    • ACBrMonitorPLUS - PRO
    • Utilitários - PRO
    • Dia do ACBr 1a edição
    • Dia do ACBr 2a edição
  • Download Livre
    • ACBrLib - DEMO
    • ACBrMonitorPLUS - DEMO
    • Demos / Testes / Utilitários
    • Apresentações - Palestras

Calendários

  • Eventos - Palestras - Webinars
  • Prazos SEFAZ
  • Calendário da Comunidade
  • ACBr Papo Pro
  • Feriados Nacionais

Find results in...

Find results that contain...


Data de Criação

  • Início

    End


Data de Atualização

  • Início

    End


Filter by number of...

Data de Registro

  • Início

    End


Grupo


Website URL

Encontrado 1 registro

  1. Boa Tarde! Me deparei com a seguinte situação, preciso baixar alguns arquivos de um host FTP, porém quando a primeira opção estiver offline gostaria que ele tentasse baixar do segundo host, então escrevi a seguinte função. function RecebeArquivoFTP(const aArquivoFTP, aArquivoLocal: String; aHookMonitor: TAcbrDownloadHookMonitor = nil): Boolean; var ArquivoLocal: String; CaminhoDestino: String; ArquivoDestino: String; FACBrDownload: TACBrDownload; i: Integer; begin Result := False; FACBrDownload := TACBrDownload.Create(nil); try for i := 0 to Length(FTP_HOST) do begin try FACBrDownload.Protocolo := protFTP; FACBrDownload.FTP.FtpHost := FTP_HOST[i]; //constante, array de strings com as informações do hosts. FACBrDownload.FTP.FtpPort := FTP_PORT[i]; FACBrDownload.FTP.FtpUser := FTP_USER[i]; FACBrDownload.FTP.FtpPass := FTP_PASSWORD[i]; FACBrDownload.OnHookMonitor := aHookMonitor; ArquivoLocal := PadraoBarrasWindows(aArquivoLocal); //função para adequar o padrao das barras. CaminhoDestino := TPath.GetDirectoryName(ArquivoLocal); ArquivoDestino := TPath.GetFileName(ArquivoLocal); if not(DirectoryExists(ExtractFilePath(ArquivoLocal))) then ForceDirectories(ExtractFilePath(ArquivoLocal)); if (FileExists(ArquivoLocal +'.part')) then DeleteFile(ArquivoLocal +'.part'); if (FileExists(ArquivoLocal)) then DeleteFile(ArquivoLocal); FACBrDownload.DownloadDest := CaminhoDestino; FACBrDownload.DownloadNomeArq := aArquivoFTP; FACBrDownload.DownloadUrl := IncluirSeparadorDiretorio(FACBrDownload.FTP.FtpHost, '/') + aArquivoFTP; FACBrDownload.StartDownload; Result := (FACBrDownload.DownloadStatus = stDownload); if (Result) then Break; except // Não levanta a exceção, apenas tenta na próxima iteração end; end; finally FACBrDownload.Free; end; end; Porém, se por algum motivo ocorre alguma exceção na tentativa de login dentro do ACBr ele simplesmente da um exit como mostra o código abaixo. // FTP Login if not fFTPSend.Login then Exit; Minha sugestão seria ele criar uma exceção caso ocorresse algum problema no login: // FTP Login if not fFTPSend.Login then raise Exception.Create('Não foi possível efetuar o login!'); Peço desculpas por qualquer inconveniente ou confusão no código pois estou iniciando na programação... Segue em anexo o arquivo com a alteração. ACBrFTPDownload.pas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...