O que eu quero fazer é, através de um diretório raiz, percorrer este diretório (pastas e subpastas) em busca de todos os arquivos contidos nele (já consegui fazer). Pra isso usei o comando OS-DIR. O problema é que se eu tiver alguma pasta contendo algum caractere especial no nome (por exemplo, pasta Relatório), o OS-DIR está me retornando Relat¼rio, e isso está afetando o resultado final do meu programa. Há alguma forma de resolver esse problema? Pra simular o meu problema, crie o seguinte diretório: C:\pasta\relatório. Logo após, execute o seguinte código: Código: DEF TEMP-TABLE tt-files NO-UNDO FIELD relativename AS CHARACTER FIELD absolutename AS CHARACTER FIELD attribs AS CHARACTER INDEX byabsolutename IS PRIMARY absolutename. INPUT FROM OS-DIR("c:/pasta"). REPEAT: CREATE tt-files. IMPORT tt-files. END. FOR EACH tt-files: DISP tt-files.absolutename FORMAT "x(70)". END.
A solução é o ' CONVERT SOURCE "iso8859-1" ', então seu código fica assim: Código: DEF TEMP-TABLE tt-files NO-UNDO FIELD relativename AS CHARACTER FIELD absolutename AS CHARACTER FIELD attribs AS CHARACTER INDEX byabsolutename IS PRIMARY absolutename. INPUT FROM OS-DIR("C:/pasta") CONVERT SOURCE "iso8859-1". REPEAT: CREATE tt-files. IMPORT tt-files. END. FOR EACH tt-files: DISP tt-files.absolutename FORMAT "x(70)". END.