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.
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, " ", "")
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.