1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Urgente INPUT THROUGH com set não funciona no win10

Discussão em 'Progress 4GL' iniciado por ueluis, Junho 20, 2017.

  1. ueluis

    ueluis Membro Participativo

    Pessoal,

    algumas rotinas pararam de funcionar no windows 10 certamente após alguma atualização.

    identifiquei que o motivo é por causa do INPUT THROUGH e pesquisando aqui no forum encontrei esse post do @fdantas com o mesmo problema.
    http://www.4each.com.br/threads/ope...fter-windows-update-1703-on-windows-10.26692/

    minha rotina utiliza essa logica para verificar se existe um .ini no diretorio especifico.
    aproveitei o exemplo abaixo
    Código:
    def var resultado as logical no-undo.
    INPUT THROUGH VALUE("IF EXIST c:\temp\teste.ini (ECHO  YES ) ELSE (ECHO  NO)") NO-ECHO.
    SET resultado.
    message resultado view-as alert-box.
    
    alguém tem uma solução para esse problema?

    att,
  2. rafael.andrade

    rafael.andrade Membro Master Moderador Equipe de Suporte

    Use o método SEARCH

    Código:
    IF SEARCH("C:\Temp\teste.ini") = ? THEN DO:
         MESSAGE "Arquivo não existe" VIEW-AS ALERT-BOX.
    END.
    ELSE DO:
         MESSAGE "Arquivo encontrado!" VIEW-AS ALERT-BOX.
    END.
    
    ueluis curtiu isso.
  3. ueluis

    ueluis Membro Participativo

    Obrigado pela Solução!
  4. ueluis

    ueluis Membro Participativo

    @rafael.andrade ,

    o metodo SEARCH() só verifica se existe arquivo ?
    pois preciso de verifica se existe uma pasta em um diretório na rede, caso não exista criar a pasta, depois verificar se existe o arquivo e também caso não exista criar o mesmo.
    fiz esse teste de verificação e na questão pasta não funcionou:

    Código:
    DEF VAR arquivo AS CHAR.
    DEF VAR resultado AS LOGICAL.
    arquivo = "\\192.168.5.5\grupos$\sistema\sequencia\maq03". /* + "\seqped2231.ini".*/
    
                IF SEARCH(arquivo) = ? THEN
                    resultado = NO.
                ELSE
                    resultado = YES.        
           
            MESSAGE "Caminho: " arquivo SKIP "resultado: " resultado VIEW-AS ALERT-BOX.
    
    
  5. rafael.andrade

    rafael.andrade Membro Master Moderador Equipe de Suporte

    Usa o comando OS-CREATE-DIR,

    OS-CREATE-DIR "D:\Pasta" NO-ERROR.

    Se a pasta já existir não dá erro nenhum (Mesmo sem o NO-ERROR).
    Se não existir, o Progress cria a pasta.
  6. ueluis

    ueluis Membro Participativo

    obrigado pela dica,

    tem situações que preciso verificar se a pasta existe ou não e mandar essa informação para aplicação.

    consegui com o seguinte exemplo:
    Código:
     
    DEF VAR arquivo AS CHAR.
    DEF VAR resultado AS LOGICAL.
    arquivo = "\\192.168.5.5\grupos$\sistema\sequencia\maq03". /* + "\seqped2231.ini".*/
    FILE-INFO:FILE-NAME = arquivo.
    IF  FILE-INFO:FULL-PATHNAME  <> ? THEN
         MESSAGE " não existe,  não precisa verificar Diretorio / arquivo" SKIP
         "ou crie o diretorio porque não tem"  VIEW-AS ALERT-BOX.
    ELSE
         MESSAGE "Diretório existe, Verifica se tem arquivo, cria arquivo" SKIP
             "não cria o diretorio" VIEW-AS ALERT-BOX.
    
    
    em todos os casos que verifico arquivo eu utilizei o metodo search().

    nos que verificam pasta optei por este.

    foi de grande ajuda seus esclarecimentos.

Compartilhe esta Página