Clipper On Line • Ver Tópico - Objeto FileSystemObject, método OpenTextFile
Mudar para estilo Clássico
Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.
Postar uma resposta

Objeto FileSystemObject, método OpenTextFile

18 Jul 2019 15:51

Ler arquivo usando Objeto FileSystemObject, método OpenTextFile

Código:
LerArquivo( "ARQUIVO.TXT" )

FUNCTION LerArquivo( cArquivo )
LOCAL oFile, lOk := .T., oErro
LOCAL ForReading := 1, ForWriting := 2, ForAppending := 8
LOCAL TristateUseDefault := -2, TristateVerdadeiro := -1, TristateFalso := 0, cArqTexto := ""
       
//TristateUseDefault    -2    Abre o arquivo usando o padrão do sistema.
//TristateVerdadeiro    -1    Abre o arquivo como Unicode.
//TristateFalso             0    Abre o arquivo como ASCII.
   
   BEGIN SEQUENCE WITH __BreakBlock()
      oFile := Win_OlecreateObject("Scripting.FileSystemObject")
   RECOVER
      lOk := .F.
   END

   IF lOk
      BEGIN SEQUENCE WITH __BreakBlock()
         altd()
         WITH OBJECT oFile
            cArqTexto := :OpenTextFile( cArquivo, ForReading, TristateUseDefault ):ReadAll
         END
      END
   ENDIF

RETURN cArqTexto

Objeto FileSystemObject, método OpenTextFile

18 Jul 2019 16:27

Ler tudo ou parte do arquivo

Código:
FUNCTION LerArquivo( cArquivo )
LOCAL oFile, lOk := .T., oErro
LOCAL ForReading := 1, ForWriting := 2, ForAppending := 8
LOCAL TristateUseDefault := -2, TristateVerdadeiro := -1, TristateFalso := 0, cArqTexto := ""
       
//TristateUseDefault    -2    Abre o arquivo usando o padrão do sistema.
//TristateVerdadeiro    -1    Abre o arquivo como Unicode.
//TristateFalso    ,0    Abre o arquivo como ASCII.
   
   BEGIN SEQUENCE WITH __BreakBlock()
      oFile := Win_OlecreateObject("Scripting.FileSystemObject")
   RECOVER
      lOk := .F.
   END

   IF lOk
      BEGIN SEQUENCE WITH __BreakBlock()
         WITH OBJECT oFile
            WITH OBJECT :OpenTextFile( cArquivo, ForReading, TristateFalso )
               cArqTexto := ""
               For i:=0 to 3 // Pular linhas (1 a 4)
                  nLine := :SkipLine
               Next
               For i:=0 to 3 //Ler linhas (5 a 9)
                  cArqTexto += :ReadLine + Hb_Eol()
               Next
               //cArqTexto := :ReadAll // Ler todo o arquivo
               hwg_MsgInfo( cArqTexto )
             END
         END
      END
   ENDIF

RETURN cArqTexto
Postar uma resposta