Jump to content
Fivewin Brasil

como saber (rapido) o numero de linhas de um mega arquivo.txt


gibaf

Recommended Posts

Como disseram, .xml geralmente é "UMA" grande linha cheia de tags, ou seja, a função funciona sim ^^

Não funciona a forma q vcs gostariam. O que vocês querem realmente é que tenha uma função que conte a quantidade de tags, o que seria teoricamente, o total de linha do .XML quando este está aberto no Chrome por exemplo.

Usando o TXmlDocument parece ser fácil isso, ou até mesmo contando o fechamento de tags (/>)

Link to comment
Share on other sites

Eduardo, não sei se vai ajudar mas existe um comando em DOS que poesquisa strings em um arquivo texto.

FIND [/V][/C][/N][/i] “string” [<arquivo>...]
Mostra ou conta as linhas dos arquivos que contêm o string.
/V Mostra as linhas que não contêm o string.
/C Mostra o número de ocorrências, sem mostrar as
linhas onde foram encontradas.
/N Mostra o número de linha relativo.
/I Não distingue minúsculas de maiúsculas.

FIND /N “MARIANA” B:NOMES.TXT

Vê se ajuda

Um abraço

Link to comment
Share on other sites

Cendon, eu nao estava precisando disso, mas a funcao ja passada pelo Vagner foi implementada nas rotinas que usamos e ficou otimo. Quanto a XML ainda nao preciso mas se precisar mudo a funcao implementando a quebra de XML.

Agora quando a isso talvez seja util para o Gibaf, que foi o criador do topico... Em todo caso implementar esse tudo de coisa em um sistema sempre é uma solução (onde se executa executavel externo e pega resultado em arquivo texto) paleativa...

abraços

Link to comment
Share on other sites

  • 2 months later...

soh para deixar registrado caso alguem procure

as dica:

warderlei Cardoso

oTxtFile:LastRec()

e AnaCatacombs

aRetorno := FParseEx(NomedoArquivo,Delimitador)

     aRetornoP := FParseEx(oApp:cDir_Ssr+"0001P.txt", Chr(9))

     oFileP = TTxtFile():New( oApp:cDir_Ssr+"0001P.txt" )
     nNumeroLinha:=oFileP:LastRec()
     oFileP:End()
     for xx=1 to nNumeroLinha
        DbSelectArea("Clie")
        Clie->(DbSeek(aRetornoP[xx,2]))
        DbSelectArea("Reth")
        Reth->(AppendReg())
        Reth->Cod_Reth := aRetornoP[xx,1]
        Reth->Dat_Reth := date()
        Reth->Sta_Reth := "A"
        Reth->Cli_Reth := aRetornoP[xx,2]
        Reth->Ven_Reth := Clie->Ven_Clie
        Reth->Rot_Reth := Clie->Rot_Clie
        Reth->Seg_Reth := Clie->Seg_Clie
        Reth->Val_Reth := Val(aRetornoP[xx,5])
        Reth->Usu_Reth := oApp:WUsuario
        Reth->Tim_Reth := DtoC(Date())+"-"+Left(Time(),5)
        Reth->(DbCommit())
        Reth->(DbUnlock())
     Next

:)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...