1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Anuncie Aqui
    Anuncie aqui você Também: fdantas@4each.com.br

Copiar arquivo e colar em outra pasta

Discussão em 'Progress 4GL' iniciado por Arthur G, Dezembro 19, 2025.

  1. Arthur G

    Arthur G Sem Pontuação

    Estou conseguindo copiar o arquivo de um diretório e direcioná-lo a outro diretório, porém quando o arquivo tem espaços o programa não faz a cópia..

    /* *********** CAMPO ANEXO *********** */
    IF wgh-anexo:SCREEN-VALUE <> "" THEN DO:

    //tratamento do arquivo importado
    ASSIGN c-origem = wgh-anexo:SCREEN-VALUE

    // Extrai apenas o nome do arquivo
    c-arquivo = SUBSTRING(c-origem, R-INDEX(c-origem, "\") + 1)

    //retira os espa os
    c-arquivo = REPLACE(c-arquivo, " ", "")

    // Monta o caminho de destino mantendo o nome do arquivo
    c-destino = "\\braz021\spool\historico-anexo\" + c-arquivo
    es-it-requisicao.anexo = c-destino.

    // MESSAGE "c-arquivo: " c-arquivo SKIP "c-origem: " c-origem SKIP "destino: " c-destino
    //VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.

    DOS SILENT COPY VALUE(c-origem) VALUE(c-destino).
    END.

    Disponibilizo abaixo também a funcionalidade da lupa:

    /* def var l-ok as logical no-undo. */
    /* def var c-arq-digita as char no-undo. */
    /* def var c-terminal as char no-undo. */
    /* def var c-arq-term as char no-undo. */

    DEFINE VARIABLE cFileName AS CHARACTER NO-UNDO.
    DEFINE VARIABLE LOK AS LOGICAL NO-UNDO.
    DEFINE NEW GLOBAL SHARED VARIABLE wgh-anexo AS WIDGET-HANDLE NO-UNDO.


    SYSTEM-DIALOG GET-FILE cFileName
    //SAVE-AS
    //USE-FILENAME
    INITIAL-DIR SESSION:TEMP-DIRECTORY
    //RETURN-TO-START-DIR
    UPDATE LOK.
    IF LOK THEN
    DO:
    ASSIGN wgh-anexo:SCREEN-VALUE = cfilename.

    END.
  2. Arthur G

    Arthur G Sem Pontuação

    Esqueci de mencionar que tentei um tratamento para retirar os espaços do arquivo ao colar na nova pasta, porém não deu certo..

    //retira os espaços
    c-arquivo = REPLACE(c-arquivo, " ", "")
  3. rafael.andrade

    rafael.andrade Membro Master Moderador Equipe de Suporte

    Tu não pode fazer esse replace se o nome físico do arquivo continua com espaços

    Tu precisa fazer o QUOTER

    DOS SILENT COPY VALUE(quoter(c-origem)) VALUE(quoter(c-destino)).
    END.
  4. Arthur G

    Arthur G Sem Pontuação

    Obrigado Rafael!
    rafael.andrade curtiu isso.

Compartilhe esta Página